@intentset/architecture 0.8.0 → 0.9.0

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 (56) hide show
  1. package/dist/areas.d.ts +1 -1
  2. package/dist/areas.d.ts.map +1 -1
  3. package/dist/areas.js +3 -0
  4. package/dist/areas.js.map +1 -1
  5. package/dist/baseline.d.ts +96 -11
  6. package/dist/baseline.d.ts.map +1 -1
  7. package/dist/baseline.js +219 -22
  8. package/dist/baseline.js.map +1 -1
  9. package/dist/boundaries.d.ts +11 -2
  10. package/dist/boundaries.d.ts.map +1 -1
  11. package/dist/boundaries.js +175 -17
  12. package/dist/boundaries.js.map +1 -1
  13. package/dist/check.d.ts +9 -2
  14. package/dist/check.d.ts.map +1 -1
  15. package/dist/check.js +21 -6
  16. package/dist/check.js.map +1 -1
  17. package/dist/config.d.ts +10 -0
  18. package/dist/config.d.ts.map +1 -1
  19. package/dist/config.js +32 -1
  20. package/dist/config.js.map +1 -1
  21. package/dist/extract.d.ts +36 -1
  22. package/dist/extract.d.ts.map +1 -1
  23. package/dist/extract.js +142 -22
  24. package/dist/extract.js.map +1 -1
  25. package/dist/finding.d.ts +12 -0
  26. package/dist/finding.d.ts.map +1 -1
  27. package/dist/finding.js +6 -1
  28. package/dist/finding.js.map +1 -1
  29. package/dist/imports.d.ts +16 -0
  30. package/dist/imports.d.ts.map +1 -1
  31. package/dist/imports.js +17 -2
  32. package/dist/imports.js.map +1 -1
  33. package/dist/index.d.ts +8 -7
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +6 -5
  36. package/dist/index.js.map +1 -1
  37. package/dist/layers.d.ts +6 -0
  38. package/dist/layers.d.ts.map +1 -1
  39. package/dist/layers.js +19 -0
  40. package/dist/layers.js.map +1 -1
  41. package/dist/names.d.ts +48 -0
  42. package/dist/names.d.ts.map +1 -0
  43. package/dist/names.js +194 -0
  44. package/dist/names.js.map +1 -0
  45. package/package.json +2 -2
  46. package/src/areas.ts +3 -1
  47. package/src/baseline.ts +266 -24
  48. package/src/boundaries.ts +191 -22
  49. package/src/check.ts +34 -7
  50. package/src/config.ts +44 -1
  51. package/src/extract.ts +168 -22
  52. package/src/finding.ts +19 -1
  53. package/src/imports.ts +25 -3
  54. package/src/index.ts +16 -4
  55. package/src/layers.ts +18 -0
  56. package/src/names.ts +215 -0
package/dist/config.js CHANGED
@@ -11,6 +11,20 @@ import { compareStrings, validatePattern } from "./patterns.js";
11
11
  export const ARCHITECTURE_CONFIG_PATH = ".intentset/architecture.yaml";
12
12
  /** AppSync joins at most this many source APIs into one Merged API. */
13
13
  export const MAX_AREAS = 10;
14
+ /**
15
+ * The UI frameworks profile §3 keeps out of policies, models and the client seam by default. A repository adds its
16
+ * UI kit and data-fetching hooks (`@mui/**`, `@tanstack/react-query/**`) in `forbiddenPackages`.
17
+ */
18
+ export const UI_FRAMEWORKS = [
19
+ "react/**",
20
+ "react-dom/**",
21
+ "react-native/**",
22
+ "preact/**",
23
+ "vue/**",
24
+ "svelte/**",
25
+ "solid-js/**",
26
+ "@angular/**",
27
+ ];
14
28
  export const DEFAULT_ARCHITECTURE_CONFIG = {
15
29
  scope: ["**"],
16
30
  sourceRoots: ["src/**"],
@@ -31,6 +45,7 @@ export const DEFAULT_ARCHITECTURE_CONFIG = {
31
45
  model: ["model"],
32
46
  external: ["external", "model"],
33
47
  },
48
+ forbiddenPackages: { policy: UI_FRAMEWORKS, model: UI_FRAMEWORKS, external: UI_FRAMEWORKS },
34
49
  conditions: [],
35
50
  areas: [],
36
51
  sharedBackend: [],
@@ -66,7 +81,7 @@ const PATTERN_KEYS = new Set([
66
81
  "screensGlob",
67
82
  "sharedBackend",
68
83
  ]);
69
- const KNOWN_KEYS = [...LIST_KEYS, "screensGlob", "layerMatrix", "areas", "schemaBridge"].sort(compareStrings);
84
+ const KNOWN_KEYS = [...LIST_KEYS, "screensGlob", "layerMatrix", "forbiddenPackages", "areas", "schemaBridge"].sort(compareStrings);
70
85
  /** The defaults with a partial configuration laid over them; a key given replaces the default whole. */
71
86
  export function resolveConfig(...layers) {
72
87
  const config = structuredClone(DEFAULT_ARCHITECTURE_CONFIG);
@@ -153,6 +168,22 @@ export function readArchitectureConfig(text, path = ARCHITECTURE_CONFIG_PATH) {
153
168
  config.layerMatrix = matrix;
154
169
  continue;
155
170
  }
171
+ if (key === "forbiddenPackages") {
172
+ const lists = readMatrix(value);
173
+ const bad = lists === null
174
+ ? undefined
175
+ : Object.values(lists)
176
+ .flat()
177
+ .find((pattern) => pattern === "" || validatePattern(pattern) !== null);
178
+ if (lists === null || bad !== undefined) {
179
+ report(field, at(field), lists === null
180
+ ? "forbiddenPackages must map each layer name to a list of package patterns."
181
+ : `Pattern ${bad} in \`forbiddenPackages\` ${bad === "" ? "is empty" : validatePattern(bad)}.`, 'Write each layer as `policy: [react/**, "@mui/**"]`.');
182
+ }
183
+ else
184
+ config.forbiddenPackages = lists;
185
+ continue;
186
+ }
156
187
  if (!Array.isArray(value) || !value.every((item) => typeof item === "string" && item !== "")) {
157
188
  report(field, at(field), `\`${key}\` must be a list of non-empty strings.`, `Write ${key} as a sequence.`);
158
189
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/extract.d.ts CHANGED
@@ -10,6 +10,35 @@ export interface RawImport {
10
10
  reexport: boolean;
11
11
  /** `export * from "x"` or `export * as ns from "x"`. */
12
12
  wildcard: boolean;
13
+ /**
14
+ * The names it takes from the module, in source order. `name` is the name
15
+ * in that module (`default` for a default import), `as` the local binding
16
+ * or, for a re-export, the name exported here. A name of `*` takes every
17
+ * name the module exports: a namespace import, `import X = require("x")`,
18
+ * `export * as ns from "x"`, a dynamic import or require (with `as` empty),
19
+ * and `export * from "x"` (with `as` `*`, every name but `default` under
20
+ * its own). A side-effect import takes none.
21
+ */
22
+ names: TakenName[];
23
+ }
24
+ export interface TakenName {
25
+ name: string;
26
+ as: string;
27
+ /** `import type`, `export type`, or the specifier itself marked `type`. */
28
+ typeOnly: boolean;
29
+ }
30
+ /** What a file exports of its own, rather than from another module by `export ... from`. */
31
+ export interface LocalExports {
32
+ /** Names declared and exported here: `export function f`, `export const a`, `export default ...`. */
33
+ declared: string[];
34
+ /**
35
+ * `export { a as b }` with no module, and `export default a`: `name` is the
36
+ * local binding, `as` the exported name. Whether the binding was imported,
37
+ * which makes it a re-export, is for the reader of the file's imports.
38
+ */
39
+ bindings: TakenName[];
40
+ /** An export this reader cannot name: `export =`, `module.exports`, a destructured declaration. */
41
+ opaque: boolean;
13
42
  }
14
43
  export interface ExtractProblem {
15
44
  line: number;
@@ -18,8 +47,14 @@ export interface ExtractProblem {
18
47
  export interface Extraction {
19
48
  imports: RawImport[];
20
49
  problems: ExtractProblem[];
50
+ exports: LocalExports;
51
+ /**
52
+ * The line of the file's first JSX element or fragment, or null. Under the automatic runtime a file that renders
53
+ * needs no import, so this is the only sign of it (TS008).
54
+ */
55
+ jsx: number | null;
21
56
  }
22
- /** Extract every module reference from one file. */
57
+ /** Extract every module reference from one file, with the names each takes and the names the file exports itself. */
23
58
  export declare function extractImports(path: string, text: string): Extraction;
24
59
  /** What an Amplify schema declares at its top level (profile §9, AMP009). */
25
60
  export declare const SCHEMA_KINDS: readonly ["model", "enum", "query", "mutation", "subscription", "customType"];
@@ -1 +1 @@
1
- {"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../src/extract.ts"],"names":[],"mappings":"AAkCA,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,kGAAkG;IAClG,QAAQ,EAAE,OAAO,CAAC;IAClB,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,6BAA6B;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,wDAAwD;IACxD,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAsSD,oDAAoD;AACpD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CA4JrE;AAED,6EAA6E;AAC7E,eAAO,MAAM,YAAY,YAAI,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,CAAU,CAAC;AAC1G,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,8GAA8G;IAC9G,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,kHAAkH;AAClH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,KAAK,CAAC;IAChD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,4EAA4E;IAC5E,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAcD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAuF1E;AAED,oHAAoH;AACpH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAY5E"}
1
+ {"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../src/extract.ts"],"names":[],"mappings":"AAsCA,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,kGAAkG;IAClG,QAAQ,EAAE,OAAO,CAAC;IAClB,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,6BAA6B;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,wDAAwD;IACxD,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;;;;;OAQG;IACH,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,2EAA2E;IAC3E,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,4FAA4F;AAC5F,MAAM,WAAW,YAAY;IAC3B,qGAAqG;IACrG,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB;;;;OAIG;IACH,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,mGAAmG;IACnG,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,OAAO,EAAE,YAAY,CAAC;IACtB;;;OAGG;IACH,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAySD,qHAAqH;AACrH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAkQrE;AAED,6EAA6E;AAC7E,eAAO,MAAM,YAAY,YAAI,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,CAAU,CAAC;AAC1G,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,8GAA8G;IAC9G,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,kHAAkH;AAClH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,KAAK,CAAC;IAChD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,4EAA4E;IAC5E,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAcD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAuF1E;AAED,oHAAoH;AACpH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAY5E"}
package/dist/extract.js CHANGED
@@ -28,6 +28,10 @@
28
28
  * Anything this module cannot read is returned as a problem, never dropped:
29
29
  * a dynamic import with a computed specifier, or a token the scanner could
30
30
  * not terminate (invariant 6).
31
+ *
32
+ * Beside each reference it records the names the reference takes, and beside
33
+ * the file the names the file exports itself, so a name taken through an
34
+ * entrypoint or a barrel can be followed to the file that defines it (VSA006).
31
35
  */
32
36
  import { LanguageVariant, SyntaxKind } from "typescript/unstable/ast";
33
37
  import { computeLineStarts, createScanner, tokenIsIdentifierOrKeyword } from "typescript/unstable/ast/scanner";
@@ -342,10 +346,13 @@ function describe(kind) {
342
346
  return "token";
343
347
  }
344
348
  }
345
- /** Extract every module reference from one file. */
349
+ /** Words that open a declaration after `export default` rather than name a binding. */
350
+ const DECLARATION_WORDS = new Set(["function", "class", "async", "abstract", "interface", "enum", "namespace"]);
351
+ /** Extract every module reference from one file, with the names each takes and the names the file exports itself. */
346
352
  export function extractImports(path, text) {
347
353
  const { tokens, problems } = tokenize(path, text);
348
354
  const imports = [];
355
+ const exports = { declared: [], bindings: [], opaque: false };
349
356
  const consumed = new Set();
350
357
  const word = (i, text) => {
351
358
  const token = tokens[i];
@@ -358,6 +365,8 @@ export function extractImports(path, text) {
358
365
  const add = (i, fields) => {
359
366
  imports.push({ specifier: tokens[i].value, line: tokens[i].line, ...fields });
360
367
  };
368
+ /** A name as written in a specifier list: an identifier, a keyword such as `default`, or a string. */
369
+ const nameAt = (i) => (word(i) ? tokens[i].text : isString(i) ? tokens[i].value : null);
361
370
  /** Index of the token closing the bracket opened at i, or tokens.length. */
362
371
  const closing = (i, open, close) => {
363
372
  let depth = 0;
@@ -369,34 +378,101 @@ export function extractImports(path, text) {
369
378
  }
370
379
  return tokens.length;
371
380
  };
381
+ /**
382
+ * The specifiers between braces, `a`, `type B`, `c as d`, `"e-f" as g`:
383
+ * `name` is the first name, `as` the second or the first again.
384
+ */
385
+ const specifiers = (open, close, typeOnly) => {
386
+ const out = [];
387
+ let k = open + 1;
388
+ while (k < close) {
389
+ let end = k;
390
+ while (end < close && !is(end, SyntaxKind.CommaToken))
391
+ end++;
392
+ let at = k;
393
+ let typed = typeOnly;
394
+ if (word(at, "type") && end - at > 1 && !(word(at + 1, "as") && end - at === 3)) {
395
+ typed = true;
396
+ at++;
397
+ }
398
+ const name = nameAt(at);
399
+ if (name !== null) {
400
+ const alias = word(at + 1, "as") && at + 2 < end ? nameAt(at + 2) : null;
401
+ out.push({ name, as: alias ?? name, typeOnly: typed });
402
+ }
403
+ k = end + 1;
404
+ }
405
+ return out;
406
+ };
372
407
  /** Named elements between braces: true when every one is written `type X`. */
373
408
  const allTyped = (open, close) => {
374
- let count = 0;
375
- let typed = 0;
376
- let start = true;
377
- for (let k = open + 1; k < close; k++) {
378
- if (is(k, SyntaxKind.CommaToken)) {
379
- start = true;
380
- continue;
409
+ const list = specifiers(open, close, false);
410
+ return list.length > 0 && list.every((item) => item.typeOnly);
411
+ };
412
+ /** The bindings of `import d, * as ns, { a } from`, written between `start` and the `from` at `end`. */
413
+ const importBindings = (start, end, typeOnly) => {
414
+ const out = [];
415
+ for (let k = start; k < end; k++) {
416
+ if (is(k, SyntaxKind.OpenBraceToken)) {
417
+ const close = closing(k, SyntaxKind.OpenBraceToken, SyntaxKind.CloseBraceToken);
418
+ out.push(...specifiers(k, close, typeOnly));
419
+ k = close;
420
+ }
421
+ else if (is(k, SyntaxKind.AsteriskToken) && word(k + 1, "as") && word(k + 2)) {
422
+ out.push({ name: "*", as: tokens[k + 2].text, typeOnly });
423
+ k += 2;
381
424
  }
382
- if (start) {
383
- count++;
384
- if (word(k, "type") && word(k + 1) && !word(k + 1, "as"))
385
- typed++;
386
- start = false;
425
+ else if (word(k)) {
426
+ out.push({ name: "default", as: tokens[k].text, typeOnly });
387
427
  }
388
428
  }
389
- return count > 0 && typed === count;
429
+ return out;
390
430
  };
391
431
  /** A call such as `import(x)` or `require(x)` that is really a method declaration `import(x) { ... }`. */
392
432
  const isMethod = (open) => is(closing(open, SyntaxKind.OpenParenToken, SyntaxKind.CloseParenToken) + 1, SyntaxKind.OpenBraceToken);
433
+ const every = (typeOnly) => [{ name: "*", as: "", typeOnly }];
434
+ /** `export <declaration>` with its name at i, after `export` and any `declare`. Returns false when it is not one. */
435
+ const declaration = (i) => {
436
+ let k = i;
437
+ for (;;) {
438
+ if (word(k, "declare") || word(k, "async") || word(k, "abstract"))
439
+ k++;
440
+ else if (word(k, "const") && word(k + 1, "enum"))
441
+ k++;
442
+ else
443
+ break;
444
+ }
445
+ if (word(k, "function")) {
446
+ k++;
447
+ if (is(k, SyntaxKind.AsteriskToken))
448
+ k++;
449
+ }
450
+ else if (["class", "interface", "enum", "namespace", "module", "import"].some((kind) => word(k, kind)))
451
+ k++;
452
+ else if (word(k, "type") && word(k + 1) && !is(k + 1, SyntaxKind.OpenBraceToken))
453
+ k++;
454
+ else if (word(k, "const") || word(k, "let") || word(k, "var") || word(k, "using")) {
455
+ k++;
456
+ if (is(k, SyntaxKind.OpenBraceToken) || is(k, SyntaxKind.OpenBracketToken)) {
457
+ exports.opaque = true;
458
+ return true;
459
+ }
460
+ }
461
+ else
462
+ return false;
463
+ if (!word(k))
464
+ return false;
465
+ exports.declared.push(tokens[k].text);
466
+ return true;
467
+ };
393
468
  for (let i = 0; i < tokens.length; i++) {
394
469
  if (consumed.has(i) || afterDot(i))
395
470
  continue;
396
471
  if (word(i, "import") && tokens[i].kind === SyntaxKind.ImportKeyword) {
397
472
  if (is(i + 1, SyntaxKind.OpenParenToken)) {
398
473
  if (isLiteral(i + 2) && (is(i + 3, SyntaxKind.CloseParenToken) || is(i + 3, SyntaxKind.CommaToken))) {
399
- add(i + 2, { typeOnly: word(i - 1, "typeof"), dynamic: true, reexport: false, wildcard: false });
474
+ const typeOnly = word(i - 1, "typeof");
475
+ add(i + 2, { typeOnly, dynamic: true, reexport: false, wildcard: false, names: every(typeOnly) });
400
476
  }
401
477
  else if (!is(i + 2, SyntaxKind.CloseParenToken) && !isMethod(i + 1)) {
402
478
  problems.push({
@@ -423,12 +499,13 @@ export function extractImports(path, text) {
423
499
  j++;
424
500
  }
425
501
  if (isString(j)) {
426
- add(j, { typeOnly, dynamic: false, reexport: false, wildcard: false });
502
+ add(j, { typeOnly, dynamic: false, reexport: false, wildcard: false, names: [] });
427
503
  continue;
428
504
  }
429
505
  if (word(j) && is(j + 1, SyntaxKind.EqualsToken)) {
430
506
  if (word(j + 2, "require") && is(j + 3, SyntaxKind.OpenParenToken) && isString(j + 4)) {
431
- add(j + 4, { typeOnly, dynamic: false, reexport: false, wildcard: false });
507
+ const names = [{ name: "*", as: tokens[j].text, typeOnly }];
508
+ add(j + 4, { typeOnly, dynamic: false, reexport: false, wildcard: false, names });
432
509
  consumed.add(j + 2);
433
510
  }
434
511
  continue;
@@ -445,7 +522,8 @@ export function extractImports(path, text) {
445
522
  }
446
523
  if (word(k, "from") && isString(k + 1)) {
447
524
  const typed = typeOnly || (typedNamed && !hasPlainBinding);
448
- add(k + 1, { typeOnly: typed, dynamic: false, reexport: false, wildcard: false });
525
+ const names = importBindings(j, k, typeOnly);
526
+ add(k + 1, { typeOnly: typed, dynamic: false, reexport: false, wildcard: false, names });
449
527
  i = k + 1;
450
528
  break;
451
529
  }
@@ -466,26 +544,62 @@ export function extractImports(path, text) {
466
544
  }
467
545
  if (is(j, SyntaxKind.AsteriskToken)) {
468
546
  let k = j + 1;
547
+ const as = word(k, "as") && nameAt(k + 1) !== null ? nameAt(k + 1) : "*";
469
548
  if (word(k, "as"))
470
549
  k += 2;
471
550
  if (word(k, "from") && isString(k + 1)) {
472
- add(k + 1, { typeOnly, dynamic: false, reexport: true, wildcard: true });
551
+ const names = [{ name: "*", as, typeOnly }];
552
+ add(k + 1, { typeOnly, dynamic: false, reexport: true, wildcard: true, names });
473
553
  i = k + 1;
474
554
  }
475
555
  continue;
476
556
  }
477
557
  if (is(j, SyntaxKind.OpenBraceToken)) {
478
558
  const close = closing(j, SyntaxKind.OpenBraceToken, SyntaxKind.CloseBraceToken);
559
+ const names = specifiers(j, close, typeOnly);
479
560
  if (word(close + 1, "from") && isString(close + 2)) {
480
- add(close + 2, { typeOnly: typeOnly || allTyped(j, close), dynamic: false, reexport: true, wildcard: false });
561
+ add(close + 2, {
562
+ typeOnly: typeOnly || allTyped(j, close),
563
+ dynamic: false,
564
+ reexport: true,
565
+ wildcard: false,
566
+ names,
567
+ });
481
568
  i = close + 2;
482
569
  }
570
+ else {
571
+ exports.bindings.push(...names);
572
+ i = close;
573
+ }
574
+ continue;
575
+ }
576
+ if (is(j, SyntaxKind.EqualsToken)) {
577
+ exports.opaque = true;
578
+ continue;
579
+ }
580
+ if (word(j, "default")) {
581
+ // `export default name;` exports a binding, which may be an import; anything else is declared here.
582
+ const named = word(j + 1) &&
583
+ !DECLARATION_WORDS.has(tokens[j + 1].text) &&
584
+ (j + 2 >= tokens.length || is(j + 2, SyntaxKind.SemicolonToken) || tokens[j + 2].line > tokens[j + 1].line);
585
+ if (named)
586
+ exports.bindings.push({ name: tokens[j + 1].text, as: "default", typeOnly: false });
587
+ else
588
+ exports.declared.push("default");
589
+ continue;
483
590
  }
591
+ if (!word(j, "as"))
592
+ declaration(j);
593
+ continue;
594
+ }
595
+ if ((word(i, "module") && is(i + 1, SyntaxKind.DotToken) && word(i + 2, "exports")) ||
596
+ (word(i, "exports") && (is(i + 1, SyntaxKind.DotToken) || is(i + 1, SyntaxKind.OpenBracketToken)))) {
597
+ exports.opaque = true;
484
598
  continue;
485
599
  }
486
600
  if (word(i, "require") && is(i + 1, SyntaxKind.OpenParenToken) && !word(i - 1, "function")) {
487
601
  if (isLiteral(i + 2) && is(i + 3, SyntaxKind.CloseParenToken)) {
488
- add(i + 2, { typeOnly: false, dynamic: true, reexport: false, wildcard: false });
602
+ add(i + 2, { typeOnly: false, dynamic: true, reexport: false, wildcard: false, names: every(false) });
489
603
  }
490
604
  else if (!is(i + 2, SyntaxKind.CloseParenToken) && !isMethod(i + 1)) {
491
605
  problems.push({
@@ -495,7 +609,13 @@ export function extractImports(path, text) {
495
609
  }
496
610
  }
497
611
  }
498
- return { imports, problems };
612
+ // A nested element is pushed before the one around it, so the first is the lowest line, not the first token.
613
+ let jsx = null;
614
+ for (const token of tokens) {
615
+ if (token.kind === SyntaxKind.JsxElement && (jsx === null || token.line < jsx))
616
+ jsx = token.line;
617
+ }
618
+ return { imports, problems, exports, jsx };
499
619
  }
500
620
  /** What an Amplify schema declares at its top level (profile §9, AMP009). */
501
621
  export const SCHEMA_KINDS = ["model", "enum", "query", "mutation", "subscription", "customType"];
@@ -1 +1 @@
1
- {"version":3,"file":"extract.js","sourceRoot":"","sources":["../src/extract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../src/extract.ts"],"names":[],"mappings":"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"}
package/dist/finding.d.ts CHANGED
@@ -17,6 +17,17 @@ export interface Finding {
17
17
  paths: string[];
18
18
  /** File-level and slice-level edges the finding concerns. */
19
19
  edges: SubjectEdge[];
20
+ /** For a finding about one import: what the baseline holds it by, one name at a time (VSA §9). */
21
+ taken?: Taken;
22
+ }
23
+ /** One import, as a baseline identifies it: how it imports, what it targets and the names it takes. */
24
+ export interface Taken {
25
+ /** `import`, `re-export` or `dynamic`. */
26
+ kind: string;
27
+ /** The file it resolves to, or the package specifier. */
28
+ to: string;
29
+ /** `name`, `type name` for a type-only one, `*` for every name; empty for a side-effect import. */
30
+ names: string[];
20
31
  }
21
32
  export interface FindingFields {
22
33
  code: string;
@@ -29,6 +40,7 @@ export interface FindingFields {
29
40
  remediation: string;
30
41
  paths?: string[];
31
42
  edges?: SubjectEdge[];
43
+ taken?: Taken;
32
44
  }
33
45
  /** One diagnostic, members in contract order, optional members present only when known. */
34
46
  export declare function finding(fields: FindingFields): Finding;
@@ -1 +1 @@
1
- {"version":3,"file":"finding.d.ts","sourceRoot":"","sources":["../src/finding.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEtE,MAAM,WAAW,WAAW;IAC1B,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,OAAO;IACtB,UAAU,EAAE,UAAU,CAAC;IACvB,qFAAqF;IACrF,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,6DAA6D;IAC7D,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,2FAA2F;AAC3F,wBAAgB,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAetD;AAED,4BAA4B;AAC5B,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,SAAa,GAAG,MAAM,CAE7E;AAED,mEAAmE;AACnE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,SAAI,GAAG,MAAM,CAGpE"}
1
+ {"version":3,"file":"finding.d.ts","sourceRoot":"","sources":["../src/finding.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEtE,MAAM,WAAW,WAAW;IAC1B,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,OAAO;IACtB,UAAU,EAAE,UAAU,CAAC;IACvB,qFAAqF;IACrF,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,6DAA6D;IAC7D,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,kGAAkG;IAClG,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,uGAAuG;AACvG,MAAM,WAAW,KAAK;IACpB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,EAAE,EAAE,MAAM,CAAC;IACX,mGAAmG;IACnG,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,2FAA2F;AAC3F,wBAAgB,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAoBtD;AAED,4BAA4B;AAC5B,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,SAAa,GAAG,MAAM,CAE7E;AAED,mEAAmE;AACnE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,SAAI,GAAG,MAAM,CAGpE"}
package/dist/finding.js CHANGED
@@ -14,7 +14,12 @@ export function finding(fields) {
14
14
  const paths = new Set(fields.paths ?? []);
15
15
  if (fields.path !== null)
16
16
  paths.add(fields.path);
17
- return { diagnostic, paths: [...paths].sort(), edges: fields.edges ?? [] };
17
+ return {
18
+ diagnostic,
19
+ paths: [...paths].sort(),
20
+ edges: fields.edges ?? [],
21
+ ...(fields.taken !== undefined ? { taken: fields.taken } : {}),
22
+ };
18
23
  }
19
24
  /** "1 file" / "3 files". */
20
25
  export function plural(count, noun, many = `${noun}s`) {
@@ -1 +1 @@
1
- {"version":3,"file":"finding.js","sourceRoot":"","sources":["../src/finding.ts"],"names":[],"mappings":"AAoCA,2FAA2F;AAC3F,MAAM,UAAU,OAAO,CAAC,MAAqB;IAC3C,MAAM,UAAU,GAAe;QAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,OAAO;QACpC,MAAM,EAAE,cAAc;QACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI;QAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;AAC7E,CAAC;AAED,4BAA4B;AAC5B,MAAM,UAAU,MAAM,CAAC,KAAa,EAAE,IAAY,EAAE,IAAI,GAAG,GAAG,IAAI,GAAG;IACnE,OAAO,GAAG,KAAK,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACjD,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,QAAQ,CAAC,KAAwB,EAAE,KAAK,GAAG,CAAC;IAC1D,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,MAAM,GAAG,KAAK,OAAO,CAAC;AAChF,CAAC"}
1
+ {"version":3,"file":"finding.js","sourceRoot":"","sources":["../src/finding.ts"],"names":[],"mappings":"AAiDA,2FAA2F;AAC3F,MAAM,UAAU,OAAO,CAAC,MAAqB;IAC3C,MAAM,UAAU,GAAe;QAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,OAAO;QACpC,MAAM,EAAE,cAAc;QACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI;QAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjD,OAAO;QACL,UAAU;QACV,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE;QACxB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;QACzB,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/D,CAAC;AACJ,CAAC;AAED,4BAA4B;AAC5B,MAAM,UAAU,MAAM,CAAC,KAAa,EAAE,IAAY,EAAE,IAAI,GAAG,GAAG,IAAI,GAAG;IACnE,OAAO,GAAG,KAAK,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACjD,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,QAAQ,CAAC,KAAwB,EAAE,KAAK,GAAG,CAAC;IAC1D,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,MAAM,GAAG,KAAK,OAAO,CAAC;AAChF,CAAC"}