diff --git a/.prettierrc b/.prettierrc index b7d285b..5d4c011 100644 --- a/.prettierrc +++ b/.prettierrc @@ -13,8 +13,5 @@ "proseWrap": "always", "htmlWhitespaceSensitivity": "ignore", "endOfLine": "lf", - "embeddedLanguageFormatting": "off", - "plugins": [ - "prettier-plugin-organize-imports" - ] + "embeddedLanguageFormatting": "off" } \ No newline at end of file diff --git a/examples/README.md b/examples/README.md index ce5533b..53cecb0 100644 --- a/examples/README.md +++ b/examples/README.md @@ -2,10 +2,6 @@ Run the examples using tsx as below: -## TypeScript +npx tsx ./examples/tle.ts -npx tsx ./examples/typescript/satellite-js-migration.ts - -## JavaScript - -npx tsx ./examples/javascript/satellite-js-migration.mjs +npx tsx ./examples/satellite-js-migration.js diff --git a/examples/javascript/satellite-js-migration.mjs b/examples/satellite-js-migration.js similarity index 99% rename from examples/javascript/satellite-js-migration.mjs rename to examples/satellite-js-migration.js index f75449b..b20ec16 100644 --- a/examples/javascript/satellite-js-migration.mjs +++ b/examples/satellite-js-migration.js @@ -3,7 +3,7 @@ /* eslint-disable multiline-comment-style */ /* eslint-disable no-console */ -import { calcGmst, DEG2RAD, GroundPosition, Satellite, Sgp4 } from '../../dist/index.js'; +import { calcGmst, DEG2RAD, GroundPosition, Satellite, Sgp4 } from '../dist/main.js'; // Example Date const exampleDate = new Date(1705109326817); diff --git a/examples/typescript/satellite-js-migration.ts b/examples/satellite-js-migration.ts similarity index 99% rename from examples/typescript/satellite-js-migration.ts rename to examples/satellite-js-migration.ts index 3f9ebb4..51953a2 100644 --- a/examples/typescript/satellite-js-migration.ts +++ b/examples/satellite-js-migration.ts @@ -13,7 +13,7 @@ import { Sgp4, TleLine1, TleLine2, -} from '../../lib/index'; +} from '../dist/main'; // Example Date const exampleDate = new Date(1705109326817); diff --git a/examples/typescript/sun.ts b/examples/sun.ts similarity index 100% rename from examples/typescript/sun.ts rename to examples/sun.ts diff --git a/examples/typescript/tle.ts b/examples/tle.ts similarity index 100% rename from examples/typescript/tle.ts rename to examples/tle.ts diff --git a/examples/typescript/transforms.ts b/examples/transforms.ts similarity index 100% rename from examples/typescript/transforms.ts rename to examples/transforms.ts diff --git a/package-lock.json b/package-lock.json index ccb9f94..1331f3f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,7 +22,6 @@ "eslint": "^8.56.0", "jest": "^28.1.3", "prettier": "^3.2.1", - "prettier-plugin-organize-imports": "^3.2.3", "tsx": "^4.7.0", "typescript": "^4.9.5" } @@ -10665,26 +10664,6 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/prettier-plugin-organize-imports": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/prettier-plugin-organize-imports/-/prettier-plugin-organize-imports-3.2.3.tgz", - "integrity": "sha512-KFvk8C/zGyvUaE3RvxN2MhCLwzV6OBbFSkwZ2OamCrs9ZY4i5L77jQ/w4UmUr+lqX8qbaqVq6bZZkApn+IgJSg==", - "dev": true, - "peerDependencies": { - "@volar/vue-language-plugin-pug": "^1.0.4", - "@volar/vue-typescript": "^1.0.4", - "prettier": ">=2.0", - "typescript": ">=2.9" - }, - "peerDependenciesMeta": { - "@volar/vue-language-plugin-pug": { - "optional": true - }, - "@volar/vue-typescript": { - "optional": true - } - } - }, "node_modules/pretty-format": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", diff --git a/package.json b/package.json index 30774c1..0a0a5d0 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,7 @@ "name": "ootk-core", "version": "1.0.0-3", "type": "module", + "module": "dist/main.js", "description": "Orbital Object Toolkit. A modern typed replacement for satellite.js including SGP4 propagation, TLE parsing, Sun and Moon calculations, and more.", "scripts": { "build": "node ./scripts/cleanup.mjs && npx tsc -p tsconfig.build.json -m esnext", @@ -11,12 +12,8 @@ "test:coverage": "jest --coverage", "version": "auto-changelog -p && git add CHANGELOG.md" }, - "main": "./lib/index.js", - "exports": { - "import": "./lib/index.js", - "require": "./commonjs/index.js" - }, - "typings": "./lib/index.d.ts", + "main": "dist/main.js", + "typings": "dist/index.d.ts", "repository": { "type": "git", "url": "git://github.com/thkruz/ootk-core" @@ -49,9 +46,8 @@ "eslint": "^8.56.0", "jest": "^28.1.3", "prettier": "^3.2.1", - "prettier-plugin-organize-imports": "^3.2.3", "tsx": "^4.7.0", "typescript": "^4.9.5" }, - "homepage": "https://github.com/thkruz/ootk" -} \ No newline at end of file + "homepage": "https://github.com/thkruz/ootk-core" +} diff --git a/scripts/cleanup.mjs b/scripts/cleanup.mjs index 0d6b859..d8de0a5 100644 --- a/scripts/cleanup.mjs +++ b/scripts/cleanup.mjs @@ -1,9 +1,9 @@ /* eslint-disable no-console */ import { rmSync } from 'fs'; -console.log('Removing ./lib...'); +console.log('Removing ./dist...'); try { - rmSync('./lib', { recursive: true }); + rmSync('./dist', { recursive: true }); } catch (error) { // Intentionally left blank } diff --git a/src/body/Celestial.ts b/src/body/Celestial.ts index beeaf12..a9a5182 100644 --- a/src/body/Celestial.ts +++ b/src/body/Celestial.ts @@ -1,4 +1,4 @@ -import { Sun, RAD2DEG, AzEl, Degrees, Kilometers, RaDec, Radians } from '..'; +import { AzEl, Degrees, Kilometers, RAD2DEG, RaDec, Radians, Sun } from '../main'; /** * Celestial is a static class that provides methods for calculating the position of celestial objects such diff --git a/src/body/Earth.ts b/src/body/Earth.ts index aa66821..d6bb288 100644 --- a/src/body/Earth.ts +++ b/src/body/Earth.ts @@ -1,21 +1,21 @@ import { - earthGravityParam, angularDiameter, - evalPoly, + AngularDiameterMethod, asec2rad, + DataHandler, DEG2RAD, + earthGravityParam, + EpochUTC, + evalPoly, + Kilometers, RAD2DEG, + Radians, secondsPerDay, secondsPerSiderealDay, TAU, ttasec2rad, - EpochUTC, Vector3D, - DataHandler, - AngularDiameterMethod, - Kilometers, - Radians, -} from '..'; +} from '../main'; import { NutationAngles } from './NutationAngles'; import { PrecessionAngles } from './PrecessionAngles'; diff --git a/src/body/Moon.ts b/src/body/Moon.ts index a22b07e..99652d8 100644 --- a/src/body/Moon.ts +++ b/src/body/Moon.ts @@ -38,7 +38,7 @@ * DEALINGS IN THE SOFTWARE. */ -import { AngularDiameterMethod, Celestial, Degrees, Kilometers, RaDec, Radians } from '..'; +import { AngularDiameterMethod, Celestial, Degrees, Kilometers, RaDec, Radians } from '../main'; import { Vector3D } from '../operations/Vector3D'; import { EpochUTC } from '../time/EpochUTC'; import { DEG2RAD, MS_PER_DAY } from '../utils/constants'; diff --git a/src/body/NutationAngles.ts b/src/body/NutationAngles.ts index bfc1e5e..e03a4af 100644 --- a/src/body/NutationAngles.ts +++ b/src/body/NutationAngles.ts @@ -1,4 +1,4 @@ -import { Radians } from '..'; +import { Radians } from '../main'; /** * Represents the nutation angles. diff --git a/src/body/PrecessionAngles.ts b/src/body/PrecessionAngles.ts index 9e35044..14a2f0f 100644 --- a/src/body/PrecessionAngles.ts +++ b/src/body/PrecessionAngles.ts @@ -1,4 +1,4 @@ -import { Radians } from '..'; +import { Radians } from '../main'; /** * Represents the precession angles in radians. diff --git a/src/body/Sun.ts b/src/body/Sun.ts index 438b20b..60c4e80 100644 --- a/src/body/Sun.ts +++ b/src/body/Sun.ts @@ -1,24 +1,24 @@ import { - Earth, - Celestial, angularDiameter, + AngularDiameterMethod, astronomicalUnit, + AzEl, + Celestial, cKmPerSec, DEG2RAD, - MS_PER_DAY, - RAD2DEG, - TAU, - EpochUTC, - Vector3D, - AngularDiameterMethod, - AzEl, Degrees, + Earth, + EpochUTC, Kilometers, Meters, + MS_PER_DAY, + RAD2DEG, RaDec, Radians, SunTime, -} from '..'; + TAU, + Vector3D, +} from '../main'; /** * Sun metrics and operations. diff --git a/src/coordinate/Geodetic.ts b/src/coordinate/Geodetic.ts index 390e703..6c50204 100644 --- a/src/coordinate/Geodetic.ts +++ b/src/coordinate/Geodetic.ts @@ -1,5 +1,5 @@ -import { AngularDistanceMethod } from '..'; import { Earth } from '../body/Earth'; +import { AngularDistanceMethod } from '../main'; import { Vector3D } from '../operations/Vector3D'; import { EpochUTC } from '../time/EpochUTC'; import { DEG2RAD, RAD2DEG } from '../utils/constants'; diff --git a/src/coordinate/Tle.ts b/src/coordinate/Tle.ts index c2d4374..95ce772 100644 --- a/src/coordinate/Tle.ts +++ b/src/coordinate/Tle.ts @@ -26,8 +26,8 @@ */ import { ClassicalElements, FormatTle, TEME } from '.'; -import { Sgp4, Vector3D } from '..'; import { Sgp4OpsMode } from '../enums/Sgp4OpsMode'; +import { Sgp4, Vector3D } from '../main'; import { Sgp4GravConstants } from '../sgp4/sgp4'; import { EpochUTC } from '../time/EpochUTC'; import { diff --git a/src/index.ts b/src/main.ts similarity index 100% rename from src/index.ts rename to src/main.ts diff --git a/src/objects/Star.ts b/src/objects/Star.ts index 2c1e29c..d01b050 100644 --- a/src/objects/Star.ts +++ b/src/objects/Star.ts @@ -26,24 +26,24 @@ * DEALINGS IN THE SOFTWARE. */ -import { BaseObject } from './BaseObject'; import { - StarObjectParams, + Celestial, Degrees, + ecf2eci, EciVec3, GreenwichMeanSiderealTime, + jday, Kilometers, LlaVec3, + MILLISECONDS_TO_DAYS, Radians, + rae2ecf, RaeVec3, - SpaceObjectType, - MILLISECONDS_TO_DAYS, - Celestial, Sgp4, - ecf2eci, - jday, - rae2ecf, -} from '../index'; + SpaceObjectType, + StarObjectParams, +} from '../main'; +import { BaseObject } from './BaseObject'; export class Star extends BaseObject { ra: Radians; diff --git a/src/observation/RAE.ts b/src/observation/RAE.ts index 6424b8d..b3b9797 100644 --- a/src/observation/RAE.ts +++ b/src/observation/RAE.ts @@ -1,8 +1,8 @@ /* eslint-disable no-undefined */ -import { Radians } from '..'; import { ITRF } from '../coordinate/ITRF'; import { J2000 } from '../coordinate/J2000'; import { AngularDistanceMethod } from '../enums/AngularDistanceMethod'; +import { Radians } from '../main'; import { Vector3D } from '../operations/Vector3D'; import { EpochUTC } from '../time/EpochUTC'; import { DEG2RAD, halfPi, RAD2DEG, TAU } from '../utils/constants'; diff --git a/src/operations/Vector3D.ts b/src/operations/Vector3D.ts index 0078de1..a833c1f 100644 --- a/src/operations/Vector3D.ts +++ b/src/operations/Vector3D.ts @@ -1,10 +1,14 @@ -import { linearDistance } from '..'; +import { linearDistance } from '../main'; import { Matrix } from './Matrix'; import { Vector } from './Vector'; // / 3-dimensional vector. export class Vector3D { - constructor(public x: T, public y: T, public z: T) { + constructor( + public x: T, + public y: T, + public z: T, + ) { // Nothing to do here. } diff --git a/src/transforms/conversions.ts b/src/transforms/conversions.ts index 66c833c..5453bde 100644 --- a/src/transforms/conversions.ts +++ b/src/transforms/conversions.ts @@ -1,4 +1,4 @@ -import { DEG2RAD, PI, RAD2DEG, Degrees, Radians } from '..'; +import { DEG2RAD, Degrees, PI, RAD2DEG, Radians } from '../main'; /** * Converts radians to degrees. diff --git a/src/transforms/transforms.ts b/src/transforms/transforms.ts index 779e914..79a910d 100644 --- a/src/transforms/transforms.ts +++ b/src/transforms/transforms.ts @@ -29,7 +29,9 @@ */ import { + DEG2RAD, Degrees, + Earth, EcefVec3, EcfVec3, EciVec3, @@ -37,21 +39,19 @@ import { GreenwichMeanSiderealTime, Kilometers, LlaVec3, + MILLISECONDS_TO_DAYS, + PI, + RAD2DEG, + RadarSensor, Radians, RaeVec3, RfVec3, RuvVec3, - SezVec3, - DEG2RAD, - MILLISECONDS_TO_DAYS, - PI, - RAD2DEG, - TAU, - Earth, Sensor, + SezVec3, Sgp4, - RadarSensor, -} from '..'; + TAU, +} from '../main'; import { TransformCache } from './TransformCache'; /** diff --git a/test/body/Earth.test.ts b/test/body/Earth.test.ts index 1ae2b6f..d0d6de4 100644 --- a/test/body/Earth.test.ts +++ b/test/body/Earth.test.ts @@ -1,5 +1,5 @@ +import { Earth, EpochUTC, Vector3D } from '../../src/main'; import { exampleDate } from '../lib/mockData'; -import { Earth, EpochUTC, Vector3D } from '../../src/index'; describe('Earth', () => { // can calculate mean motion from semimajor axis diff --git a/test/body/Moon.test.ts b/test/body/Moon.test.ts index 7c94ec3..d38c898 100644 --- a/test/body/Moon.test.ts +++ b/test/body/Moon.test.ts @@ -1,5 +1,5 @@ +import { Degrees, EpochUTC, Moon, Vector3D } from '../../src/main'; import { exampleDate } from '../lib/mockData'; -import { Degrees, EpochUTC, Moon, Vector3D } from '../../src'; describe('Moon', () => { // The static property 'mu' should be accessible and have a value of 4902.799. diff --git a/test/body/Sun.test.ts b/test/body/Sun.test.ts index 61d9071..90b3f30 100644 --- a/test/body/Sun.test.ts +++ b/test/body/Sun.test.ts @@ -1,4 +1,4 @@ -import { Vector3D, Degrees, Meters, Sun, EpochUTC } from './../../src'; +import { Degrees, EpochUTC, Meters, Sun, Vector3D } from '../../src/main'; import { exampleDate } from '../lib/mockData'; describe('Sun', () => { diff --git a/test/index.test.ts b/test/index.test.ts index 87a68e0..975e459 100644 --- a/test/index.test.ts +++ b/test/index.test.ts @@ -1,4 +1,4 @@ -import * as ootk from '../src/index'; +import * as ootk from '../src/main'; describe('ootk-core', () => { it('should export Celestial', () => { diff --git a/test/lib/compareVectors.ts b/test/lib/compareVectors.ts index 0ad43cc..a160d82 100644 --- a/test/lib/compareVectors.ts +++ b/test/lib/compareVectors.ts @@ -2,7 +2,7 @@ * Helper from satellite.js to compare vectors */ -import { Vec3 } from '../../src/index'; +import { Vec3 } from '../../src/main'; export const compareVectors = (vector1: Vec3, vector2: Vec3, numDigits: number) => { if (!numDigits) { diff --git a/test/objects/BaseObject.test.ts b/test/objects/BaseObject.test.ts index d7d45a4..197b442 100644 --- a/test/objects/BaseObject.test.ts +++ b/test/objects/BaseObject.test.ts @@ -1,4 +1,4 @@ -import { BaseObject, BaseObjectParams, EciVec3, SpaceObjectType } from '../../src'; +import { BaseObject, BaseObjectParams, EciVec3, SpaceObjectType } from '../../src/main'; const mockVelocity = { x: 8000, y: 0, diff --git a/test/objects/Satellite.test.ts b/test/objects/Satellite.test.ts index 136eae6..4d0fac1 100644 --- a/test/objects/Satellite.test.ts +++ b/test/objects/Satellite.test.ts @@ -1,4 +1,3 @@ -import { exampleDate } from '../lib/mockData'; import { Degrees, GroundPosition, @@ -8,7 +7,8 @@ import { SatelliteParams, TleLine1, TleLine2, -} from '../../src'; +} from '../../src/main'; +import { exampleDate } from '../lib/mockData'; const dateObj = new Date(1661400000000); diff --git a/test/objects/sensor.test.ts b/test/objects/sensor.test.ts index 55af315..8d9ae4c 100644 --- a/test/objects/sensor.test.ts +++ b/test/objects/sensor.test.ts @@ -1,4 +1,4 @@ -import { Degrees, Kilometers, Satellite, Sensor, SpaceObjectType, TleLine1, TleLine2 } from '../../src/index'; +import { Degrees, Kilometers, Satellite, Sensor, SpaceObjectType, TleLine1, TleLine2 } from '../../src/main'; const dateObj = new Date(1661400000000); diff --git a/test/objects/star.test.ts b/test/objects/star.test.ts index 8bcae20..fab7a97 100644 --- a/test/objects/star.test.ts +++ b/test/objects/star.test.ts @@ -1,4 +1,4 @@ -import { Degrees, Kilometers, Radians, Star } from '../../src/index'; +import { Degrees, Kilometers, Radians, Star } from '../../src/main'; describe('Basic Star functionality', () => { const star = new Star({ diff --git a/test/objects/sun-moon.test.ts b/test/objects/sun-moon.test.ts index fcc7a52..f6c56b6 100644 --- a/test/objects/sun-moon.test.ts +++ b/test/objects/sun-moon.test.ts @@ -1,7 +1,7 @@ import { Celestial } from '../../src/body/Celestial'; import { Moon } from '../../src/body/Moon'; import { Sun } from '../../src/body/Sun'; -import { Degrees, Meters } from '../../src/index'; +import { Degrees, Meters } from '../../src/main'; // Use number of milliseconds since epoch instead of local year, month, day, etc for consistency across machines const dateObj = new Date(1661406000000); diff --git a/test/sgp4/sgp4-full-cov.test.ts b/test/sgp4/sgp4-full-cov.test.ts index 90fbc5a..5980e90 100644 --- a/test/sgp4/sgp4-full-cov.test.ts +++ b/test/sgp4/sgp4-full-cov.test.ts @@ -1,8 +1,8 @@ -import { EciVec3, Sgp4 } from '../../src/index'; -import { sgp4FullCovFail } from './sgp4-full-cov-fail'; -import { sgp4FullCov } from './sgp4-full-cov'; -import { Sgp4GravConstants } from '../../src/sgp4/sgp4'; import { Sgp4OpsMode } from '../../src/enums/Sgp4OpsMode'; +import { EciVec3, Sgp4 } from '../../src/main'; +import { Sgp4GravConstants } from '../../src/sgp4/sgp4'; +import { sgp4FullCov } from './sgp4-full-cov'; +import { sgp4FullCovFail } from './sgp4-full-cov-fail'; describe('Verification TLE Data in Appendix D of Revisiting Spacetrack Report #3: Rev 1', () => { sgp4FullCov.forEach((sgp4DataItem) => { diff --git a/test/tle/tle.test.ts b/test/tle/tle.test.ts index 519d2e7..354d35e 100644 --- a/test/tle/tle.test.ts +++ b/test/tle/tle.test.ts @@ -1,4 +1,4 @@ -import { Tle } from '../../src/index'; +import { Tle } from '../../src/main'; import { tleData } from './tleData'; describe('Valid TLEs', () => { diff --git a/test/tle/tleData.ts b/test/tle/tleData.ts index 9768e30..ac4ea99 100644 --- a/test/tle/tleData.ts +++ b/test/tle/tleData.ts @@ -1,4 +1,4 @@ -import { TleLine1, TleLine2 } from '../../src/index'; +import { TleLine1, TleLine2 } from '../../src/main'; export const tleData = [ { diff --git a/test/transforms/transforms.test.ts b/test/transforms/transforms.test.ts index 1890428..1d2a15b 100644 --- a/test/transforms/transforms.test.ts +++ b/test/transforms/transforms.test.ts @@ -12,7 +12,7 @@ import { lla2ecf, rae2ecf, rae2sez, -} from '../../src/index'; +} from '../../src/main'; import { transformsData } from './transformsData'; const numDigits = 6; diff --git a/test/transforms/transformsData.ts b/test/transforms/transformsData.ts index 8dad4fe..2166d06 100644 --- a/test/transforms/transformsData.ts +++ b/test/transforms/transformsData.ts @@ -1,4 +1,4 @@ -import { Degrees, EcfVec3, EciVec3, Kilometers, RAD2DEG, Radians } from '../../src/index'; +import { Degrees, EcfVec3, EciVec3, Kilometers, RAD2DEG, Radians } from '../../src/main'; export const transformsData = { validLatitudes: [ diff --git a/test/utils/utils.test.ts b/test/utils/utils.test.ts index 80daaec..096d0c3 100644 --- a/test/utils/utils.test.ts +++ b/test/utils/utils.test.ts @@ -1,4 +1,4 @@ -import { EciVec3, Kilometers, linearDistance, Vec3 } from '../../src/index'; +import { EciVec3, Kilometers, linearDistance, Vec3 } from '../../src/main'; import { dopplerFactor, getDayOfYear } from '../../src/utils/functions'; const numDigits = 8;