@squawk/flightplan 0.4.5 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +36 -0
  2. package/package.json +17 -13
package/README.md CHANGED
@@ -50,6 +50,42 @@ const resolver = createFlightplanResolver({ airports: myAirportResolver });
50
50
  const route = resolver.parse('KJFK DCT KLAX');
51
51
  ```
52
52
 
53
+ ## Browser / SPA usage
54
+
55
+ The resolver factory has no Node-specific imports and ships an explicit `/browser` subpath for SPAs and edge runtimes. Pair it with the `/browser` entries of the resolvers you want to compose:
56
+
57
+ ```typescript
58
+ import { loadUsBundledAirports } from '@squawk/airport-data/browser';
59
+ import { loadUsBundledNavaids } from '@squawk/navaid-data/browser';
60
+ import { loadUsBundledFixes } from '@squawk/fix-data/browser';
61
+ import { loadUsBundledAirways } from '@squawk/airway-data/browser';
62
+ import { loadUsBundledProcedures } from '@squawk/procedure-data/browser';
63
+ import { createAirportResolver } from '@squawk/airports/browser';
64
+ import { createNavaidResolver } from '@squawk/navaids/browser';
65
+ import { createFixResolver } from '@squawk/fixes/browser';
66
+ import { createAirwayResolver } from '@squawk/airways/browser';
67
+ import { createProcedureResolver } from '@squawk/procedures/browser';
68
+ import { createFlightplanResolver } from '@squawk/flightplan/browser';
69
+
70
+ const [airports, navaids, fixes, airways, procedures] = await Promise.all([
71
+ loadUsBundledAirports(),
72
+ loadUsBundledNavaids(),
73
+ loadUsBundledFixes(),
74
+ loadUsBundledAirways(),
75
+ loadUsBundledProcedures(),
76
+ ]);
77
+
78
+ const resolver = createFlightplanResolver({
79
+ airports: createAirportResolver({ data: airports.records }),
80
+ navaids: createNavaidResolver({ data: navaids.records }),
81
+ fixes: createFixResolver({ data: fixes.records }),
82
+ airways: createAirwayResolver({ data: airways.records }),
83
+ procedures: createProcedureResolver({ data: procedures.records }),
84
+ });
85
+ ```
86
+
87
+ The `/browser` entry is identical to the main entry; the separate subpath exists so browser support is an explicit, `publint`-verified part of the public API surface.
88
+
53
89
  ## API
54
90
 
55
91
  ### `createFlightplanResolver(options)`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@squawk/flightplan",
3
- "version": "0.4.5",
3
+ "version": "0.5.1",
4
4
  "type": "module",
5
5
  "description": "Flight plan route string parsing and resolution using composed navigation resolvers",
6
6
  "author": "Neil Cochran",
@@ -21,6 +21,10 @@
21
21
  ".": {
22
22
  "types": "./dist/index.d.ts",
23
23
  "import": "./dist/index.js"
24
+ },
25
+ "./browser": {
26
+ "types": "./dist/index.d.ts",
27
+ "import": "./dist/index.js"
24
28
  }
25
29
  },
26
30
  "files": [
@@ -35,20 +39,20 @@
35
39
  "lint:pack": "publint && attw --pack . --profile esm-only"
36
40
  },
37
41
  "dependencies": {
38
- "@squawk/geo": "^0.4.2",
39
- "@squawk/types": "^0.7.2"
42
+ "@squawk/geo": "^0.4.3",
43
+ "@squawk/types": "^0.8.0"
40
44
  },
41
45
  "devDependencies": {
42
- "@squawk/airport-data": "^0.7.2",
43
- "@squawk/airports": "^0.5.4",
44
- "@squawk/airway-data": "^0.5.2",
45
- "@squawk/airways": "^0.3.5",
46
- "@squawk/fix-data": "^0.6.2",
47
- "@squawk/fixes": "^0.2.5",
48
- "@squawk/navaid-data": "^0.6.2",
49
- "@squawk/navaids": "^0.3.5",
50
- "@squawk/procedure-data": "^0.7.1",
51
- "@squawk/procedures": "^0.4.4",
46
+ "@squawk/airport-data": "^0.7.3",
47
+ "@squawk/airports": "^0.6.1",
48
+ "@squawk/airway-data": "^0.5.3",
49
+ "@squawk/airways": "^0.4.1",
50
+ "@squawk/fix-data": "^0.6.3",
51
+ "@squawk/fixes": "^0.3.1",
52
+ "@squawk/navaid-data": "^0.6.3",
53
+ "@squawk/navaids": "^0.4.1",
54
+ "@squawk/procedure-data": "^0.7.2",
55
+ "@squawk/procedures": "^0.5.1",
52
56
  "@types/node": "^25.6.0"
53
57
  },
54
58
  "keywords": [