@agent-teams/feature-module-standard 0.2.3 → 0.3.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 (72) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +29 -20
  3. package/dist/features/conformance-fixtures/testing/conformance-case-inputs.d.ts +53 -0
  4. package/dist/features/conformance-fixtures/testing/conformance-case-inputs.d.ts.map +1 -0
  5. package/dist/features/conformance-fixtures/testing/conformance-case-inputs.js +70 -0
  6. package/dist/features/conformance-fixtures/testing/conformance-case-inputs.js.map +1 -0
  7. package/dist/features/conformance-fixtures/testing/conformance-cases-later.d.ts +3 -0
  8. package/dist/features/conformance-fixtures/testing/conformance-cases-later.d.ts.map +1 -0
  9. package/dist/features/conformance-fixtures/testing/conformance-cases-later.js +170 -0
  10. package/dist/features/conformance-fixtures/testing/conformance-cases-later.js.map +1 -0
  11. package/dist/features/conformance-fixtures/testing/conformance-cases.d.ts +3 -16
  12. package/dist/features/conformance-fixtures/testing/conformance-cases.d.ts.map +1 -1
  13. package/dist/features/conformance-fixtures/testing/conformance-cases.js +102 -215
  14. package/dist/features/conformance-fixtures/testing/conformance-cases.js.map +1 -1
  15. package/dist/features/conformance-fixtures/testing/example-sources.d.ts.map +1 -1
  16. package/dist/features/conformance-fixtures/testing/example-sources.js +12 -8
  17. package/dist/features/conformance-fixtures/testing/example-sources.js.map +1 -1
  18. package/dist/features/conformance-fixtures/testing/example-tree.d.ts +8 -8
  19. package/dist/features/conformance-fixtures/testing/example-tree.d.ts.map +1 -1
  20. package/dist/features/conformance-fixtures/testing/example-tree.js +39 -27
  21. package/dist/features/conformance-fixtures/testing/example-tree.js.map +1 -1
  22. package/dist/features/feature-dependencies/application/check-feature-dependencies.d.ts +2 -2
  23. package/dist/features/feature-dependencies/application/check-feature-dependencies.d.ts.map +1 -1
  24. package/dist/features/feature-dependencies/application/check-feature-dependencies.js +88 -56
  25. package/dist/features/feature-dependencies/application/check-feature-dependencies.js.map +1 -1
  26. package/dist/features/feature-dependencies/application/feature-graphs.d.ts.map +1 -1
  27. package/dist/features/feature-dependencies/application/feature-graphs.js +1 -1
  28. package/dist/features/feature-dependencies/application/feature-graphs.js.map +1 -1
  29. package/dist/features/feature-dependencies/application/layer-direction.d.ts +2 -2
  30. package/dist/features/feature-dependencies/application/layer-direction.d.ts.map +1 -1
  31. package/dist/features/feature-dependencies/application/layer-direction.js +17 -11
  32. package/dist/features/feature-dependencies/application/layer-direction.js.map +1 -1
  33. package/dist/features/feature-layout/application/analyze-feature-tree.d.ts +1 -1
  34. package/dist/features/feature-layout/application/analyze-feature-tree.d.ts.map +1 -1
  35. package/dist/features/feature-layout/application/analyze-feature-tree.js +62 -28
  36. package/dist/features/feature-layout/application/analyze-feature-tree.js.map +1 -1
  37. package/dist/features/feature-layout/application/find-overlapping-roots.d.ts.map +1 -1
  38. package/dist/features/feature-layout/application/find-overlapping-roots.js +3 -2
  39. package/dist/features/feature-layout/application/find-overlapping-roots.js.map +1 -1
  40. package/dist/features/feature-layout/application/infer-directory-layout.d.ts +2 -2
  41. package/dist/features/feature-layout/application/infer-directory-layout.d.ts.map +1 -1
  42. package/dist/features/feature-layout/application/infer-directory-layout.js +3 -4
  43. package/dist/features/feature-layout/application/infer-directory-layout.js.map +1 -1
  44. package/dist/features/feature-model/domain/model.d.ts +10 -10
  45. package/dist/features/feature-model/domain/model.d.ts.map +1 -1
  46. package/dist/features/feature-model/domain/model.js +39 -13
  47. package/dist/features/feature-model/domain/model.js.map +1 -1
  48. package/dist/features/module-check/application/check-feature-module.d.ts +1 -1
  49. package/dist/features/module-check/application/check-feature-module.d.ts.map +1 -1
  50. package/dist/features/module-check/application/check-feature-module.js +24 -12
  51. package/dist/features/module-check/application/check-feature-module.js.map +1 -1
  52. package/dist/features/node-runner/application/run-feature-module-check.d.ts +4 -4
  53. package/dist/features/node-runner/application/run-feature-module-check.d.ts.map +1 -1
  54. package/dist/features/node-runner/application/run-feature-module-check.js +58 -24
  55. package/dist/features/node-runner/application/run-feature-module-check.js.map +1 -1
  56. package/dist/features/node-runner/composition/check-feature-module-on-disk.d.ts +1 -1
  57. package/dist/features/node-runner/composition/check-feature-module-on-disk.d.ts.map +1 -1
  58. package/dist/features/node-runner/composition/check-feature-module-on-disk.js +12 -5
  59. package/dist/features/node-runner/composition/check-feature-module-on-disk.js.map +1 -1
  60. package/dist/fixtures.d.ts +4 -4
  61. package/dist/fixtures.d.ts.map +1 -1
  62. package/dist/fixtures.js +3 -3
  63. package/dist/fixtures.js.map +1 -1
  64. package/dist/index.d.ts +12 -12
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +7 -7
  67. package/dist/index.js.map +1 -1
  68. package/dist/node.d.ts +3 -3
  69. package/dist/node.d.ts.map +1 -1
  70. package/dist/node.js +2 -2
  71. package/dist/node.js.map +1 -1
  72. package/package.json +6 -6
@@ -1,237 +1,124 @@
1
- import { inferDirectoryLayout } from '../../feature-layout/application/infer-directory-layout.js';
2
- import { ERROR_CODES, WARNING_CODES } from '../../feature-model/domain/model.js';
3
- import { FEATURES_ROOT, MODULE_COMPOSITION, TEST_FEATURES_ROOT, exampleModule, exampleRoots, fileOf, importOf, roleDirectories, } from './example-tree.js';
4
- export { ERROR_CODES, WARNING_CODES };
5
- const warnings = new Set(WARNING_CODES);
6
- const define = (id, source, description, expect, change = {}) => {
7
- const base = exampleModule();
8
- const input = {
9
- ...base, ...change.input,
10
- files: [...base.files, ...(change.files ?? [])],
11
- imports: [...base.imports.filter((record) => !(change.drop?.(record) ?? false)), ...(change.imports ?? [])],
12
- };
13
- return { id, source, description, input, expect, ok: expect.every((code) => warnings.has(code)) };
14
- };
15
- const f = fileOf;
16
- const ex = 'Sub-features: Examples';
17
- const type = 'type-only';
18
- const orders = `${FEATURES_ROOT}/orders`;
19
- const odCoupons = 'orders/discounts/coupons';
20
- const billingApi = `${FEATURES_ROOT}/billing/application/internal-api.ts`;
21
- const testRoot = `${TEST_FEATURES_ROOT}/orders`;
22
- const discountsTest = `${testRoot}/features/discounts/discount.test.ts`;
23
- const billingKit = `${FEATURES_ROOT}/billing/application/kit.ts`;
24
- // A repository whose layout is not the default declares its roots and role mapping itself.
25
- const reports = 'src/capabilities/reports';
26
- const billing2 = 'src/features/billing';
27
- const reportsApi = `${reports}/api.ts`;
28
- const reportsAdapter = `${reports}/adapters/store.ts`;
29
- const billingApi2 = `${billing2}/api.ts`;
30
- const files = [reportsApi, `${reports}/module.ts`, reportsAdapter, billingApi2, `${billing2}/contracts.ts`];
31
- const v1Files = [`${FEATURES_ROOT}/legacy/domain/model.ts`, `${FEATURES_ROOT}/legacy/features/helper.ts`];
32
- const profileCase = (id, expect, imports, description) => ({
33
- id, source: 'Abstract repository layout', description, expect, ok: expect.length === 0,
34
- input: {
35
- files, imports, featureRoots: [reports, billing2],
36
- roleRoots: [
37
- { root: reportsApi, role: 'application' }, { root: `${reports}/module.ts`, role: 'composition' },
38
- { root: `${reports}/adapters`, role: 'adapters' }, { root: billingApi2, role: 'application' },
39
- { root: `${billing2}/contracts.ts`, role: 'contracts' },
40
- ],
41
- surfaces: { public: [reportsApi, billingApi2] },
42
- },
43
- });
44
- const withApi = { files: [billingApi], input: { surfaces: { ...exampleModule().surfaces, internalApi: [billingApi] } } };
1
+ import { define, f, ex, type, orders, odCoupons, MODULE_COMPOSITION, TEST_FEATURES_ROOT, exampleRoots, importOf, } from "./conformance-case-inputs.js";
2
+ import { laterConformanceCases } from "./conformance-cases-later.js";
3
+ export { ERROR_CODES, WARNING_CODES } from "./conformance-case-inputs.js";
45
4
  export const conformanceCases = [
46
- define('module-conforms', ex, 'The example tree, wired as the standard requires, conforms.', []),
47
- define('upward-use', ex, 'A sub-feature uses the public entrypoint of its parent.', [], { imports: [importOf(f('orders/discounts', 'composition'), f('orders', 'public'))] }),
48
- define('downward-use', ex, 'A parent uses the public entrypoint of its direct sub-feature.', [], { imports: [importOf(f('orders', 'composition'), f('orders/discounts', 'public'))] }),
49
- define('parent-and-sub-feature-use-each-other', ex, 'The upward edge is outside the cycle graph.', [], {
50
- imports: [importOf(f('orders', 'composition'), f('orders/discounts', 'public')), importOf(f('orders/discounts', 'composition'), f('orders', 'public'))],
51
- }),
52
- define('grandchild-not-visible-to-ancestor', ex, 'A feature cannot use a sub-feature of its sub-feature.', ['not-visible'], { imports: [importOf(f('orders', 'composition'), f(odCoupons, 'public'))] }),
53
- define('lateral-use-between-siblings', ex, 'Siblings use each other through public entrypoints.', [], { imports: [importOf(f('orders/pricing', 'composition'), f('orders/discounts', 'public'))] }),
54
- define('lateral-cycle', ex, 'Siblings that use each other form a cycle.', ['feature-cycle'], {
55
- imports: [importOf(f('orders/pricing', 'composition'), f('orders/discounts', 'public')), importOf(f('orders/discounts', 'composition'), f('orders/pricing', 'public'))],
56
- }),
57
- define('deep-import', ex, 'A sibling cannot import the domain of another feature.', ['deep-import'], { imports: [importOf(f('orders/pricing', 'composition'), f('orders/discounts', 'domain'))] }),
58
- define('descendant-uses-top-level-feature', ex, 'A deep feature uses a top-level feature.', [], { imports: [importOf(f(odCoupons, 'composition'), f('billing', 'public'))] }),
59
- define('sub-feature-not-visible-outside-its-parent', ex, 'A top-level feature cannot use a sub-feature of another.', ['not-visible'], { imports: [importOf(f('billing', 'composition'), f('orders/pricing', 'public'))] }),
60
- define('declared-republication', ex, 'A parent republishes the public entrypoint of its direct sub-feature as declared.', [], {
61
- imports: [importOf(f('billing', 'composition'), f('orders', 'public')), importOf(f('orders', 'public'), f('orders/pricing', 'public'), 'runtime', true)],
62
- input: { republications: [{ from: 'orders', to: 'orders/pricing', surface: 'public' }] },
63
- }),
64
- define('republication-skips-a-level', ex, 'A feature cannot republish from a grandchild.', ['republication-skips-level'], {
65
- imports: [importOf(f('orders', 'public'), f(odCoupons, 'public'), 'runtime', true)],
66
- input: { republications: [{ from: 'orders', to: 'orders/pricing', surface: 'public' }] },
67
- }),
68
- define('undeclared-republication', ex, 'A republication without a declaration is rejected.', ['republication-undeclared'], { imports: [importOf(f('orders', 'public'), f('orders/pricing', 'public'), 'runtime', true)] }),
69
- define('republication-declared-from-a-grandchild', ex, 'A declaration must name a direct sub-feature.', ['republication-invalid'], { input: { republications: [{ from: 'orders', to: odCoupons, surface: 'public' }] } }),
70
- define('load-time-cycle-through-republication', ex, 'Public contracts and the parent that republishes them import each other at load time.', ['load-cycle'], {
71
- imports: [importOf(f('orders/discounts', 'public'), f('orders', 'public')), importOf(f('orders', 'public'), f('orders/discounts', 'public'), 'runtime', true)],
72
- input: { republications: [{ from: 'orders', to: 'orders/discounts', surface: 'public' }] },
73
- }),
74
- define('type-only-upward-import-is-no-load-cycle', ex, 'The same shape with a type-only upward import conforms.', [], {
75
- imports: [importOf(f('orders/discounts', 'public'), f('orders', 'public'), type), importOf(f('orders', 'public'), f('orders/discounts', 'public'), 'runtime', true)],
76
- input: { republications: [{ from: 'orders', to: 'orders/discounts', surface: 'public' }] },
77
- }),
78
- define('module-composition-cannot-wire-a-sub-feature', ex, 'Only the parent wires a sub-feature.', ['assembly-misplaced'], { imports: [importOf(MODULE_COMPOSITION, f('orders/discounts', 'group'))] }),
79
- define('grandparent-cannot-wire-a-grandchild', ex, 'Only the direct parent wires a sub-feature.', ['assembly-misplaced'], { imports: [importOf(f('orders', 'composition'), f(odCoupons, 'group'))] }),
80
- define('parent-must-wire-its-sub-feature', ex, 'A sub-feature that exposes a composition surface is wired by its parent.', ['assembly-missing'], {
81
- drop: (record) => record.from === f('orders/discounts', 'composition') && record.to === f(odCoupons, 'group'),
82
- }),
83
- define('sibling-of-ancestor', ex, 'A deep feature uses a sibling of its ancestor.', [], { imports: [importOf(f(odCoupons, 'composition'), f('orders/pricing', 'public'))] }),
84
- define('sub-feature-hidden-from-sibling-subtree', ex, 'A sibling cannot use a sub-feature of another sibling.', ['not-visible'], { imports: [importOf(f('orders/pricing', 'composition'), f(odCoupons, 'public'))] }),
85
- define('cycle-closed-by-an-upward-edge', ex, 'The only cycle closes through the upward edge.', [], {
86
- imports: [importOf(f('orders/pricing', 'composition'), f('orders/discounts', 'public')), importOf(f('orders/discounts', 'composition'), f('orders', 'public')), importOf(f('orders', 'composition'), f('orders/pricing', 'public'))],
87
- }),
88
- define('lateral-and-downward-cycle', ex, 'A cycle of lateral and downward use edges is rejected.', ['feature-cycle'], {
89
- imports: [importOf(f('orders/discounts', 'composition'), f('billing', 'public')), importOf(f('billing', 'composition'), f('orders', 'public')), importOf(f('orders', 'composition'), f('orders/discounts', 'public'))],
90
- }),
91
- define('type-only-cycle-counts', ex, 'Type-only references count in the feature dependency graph.', ['feature-cycle'], {
92
- imports: [importOf(f('orders/pricing', 'composition'), f('orders/discounts', 'public'), type), importOf(f('orders/discounts', 'composition'), f('orders/pricing', 'public'), type)],
93
- }),
94
- define('same-name-under-different-parents', ex, 'Names are unique only among the sub-features of one parent.', []),
95
- define('misplaced-sub-feature-test', 'Test ownership', 'Tests of a sub-feature do not live in its parent test root.', ['test-misplaced'], { input: { testFiles: [`${TEST_FEATURES_ROOT}/orders/discounts/discount.test.ts`] } }),
96
- define('mirrored-sub-feature-test', 'Test ownership', 'Tests of a sub-feature live in its own mirrored test root.', [], { input: { testFiles: [`${TEST_FEATURES_ROOT}/orders/features/discounts/discount.test.ts`] } }),
97
- define('test-of-no-feature', 'Test ownership', 'A test outside every feature test root is unowned.', ['test-unowned'], { input: { testFiles: [`${TEST_FEATURES_ROOT}/ghost/ghost.test.ts`] } }),
98
- define('file-in-the-container', ex, 'A source file directly in a features container is rejected.', ['container-file'], { files: [`${orders}/features/helper.ts`] }),
99
- define('empty-container', ex, 'An empty container is rejected.', ['container-empty'], { input: { emptyDirectories: [`${orders}/features/pricing/features`] } }),
100
- define('unmapped-entry', ex, 'A direct entry that is no role directory, container or mapped file is rejected.', ['entry-unmapped'], { files: [`${orders}/helpers/clock.ts`] }),
101
- define('mapped-file-is-allowed', ex, 'A file the profile maps directly below a feature root is allowed.', [], { files: [`${orders}/README.md`], input: { mappedFiles: ['README.md'] } }),
102
- define('sub-feature-root-off-the-container', ex, 'A declared sub-feature root must sit in its parent container.', ['feature-root-placement'], {
103
- input: { featureRoots: [...exampleRoots, `${orders}/extra/sub`] },
104
- }),
105
- define('duplicate-feature-root', ex, 'A feature root declared twice is rejected.', ['feature-duplicate'], { input: { featureRoots: [...exampleRoots, orders] } }),
106
- define('undeclared-feature-directory', ex, 'A directory of the container that no profile declares is rejected.', ['feature-undeclared'], {
107
- files: [`${orders}/features/ghost/domain/x.ts`], input: { featureRoots: exampleRoots },
108
- }),
109
- define('composition-uses-a-visible-composition-contract', ex, 'Feature composition uses the composition contract of a visible feature.', [], { imports: [importOf(f('billing', 'composition'), f('orders', 'contract'))] }),
110
- define('application-cannot-use-a-composition-contract', ex, 'Only composition code depends on a composition contract.', ['composition-contract-layer'], { imports: [importOf(f('billing', 'application'), f('orders', 'contract'))] }),
111
- define('domain-cannot-use-its-own-composition-contract', 'Composition contracts', 'No inner code depends on a composition contract, its own feature included.', ['composition-contract-layer'], { imports: [importOf(f('orders', 'domain'), f('orders', 'contract'))] }),
112
- define('sub-feature-composition-uses-parent-contract', ex, 'A sub-feature composition uses the composition contract of its parent.', [], { imports: [importOf(f('orders/discounts', 'composition'), f('orders', 'contract'))] }),
113
- define('module-composition-cannot-use-a-hidden-composition-contract', ex, 'Module composition reaches a sub-feature only through what its parent republishes.', ['not-visible'], { imports: [importOf(MODULE_COMPOSITION, f('orders/discounts', 'contract'))] }),
114
- define('composition-contract-of-an-invisible-feature', 'Composition contracts', 'A composition contract of a feature that is not visible is rejected.', ['not-visible'], { imports: [importOf(f('orders/pricing', 'composition'), f(odCoupons, 'contract'))] }),
115
- define('declared-composition-contract-republication', ex, 'A parent republishes the composition contract of its direct sub-feature as declared.', [], {
116
- imports: [importOf(f('orders', 'contract'), f('orders/discounts', 'contract'), 'runtime', true)],
117
- input: { republications: [{ from: 'orders', to: 'orders/discounts', surface: 'composition-contract' }] },
118
- }),
119
- define('domain-cannot-import-contracts', 'Aggregate and internal-feature ownership', 'Domain code never imports contracts, its own included.', ['layer-direction'], { imports: [importOf(f('orders', 'domain'), f('orders', 'public'))] }),
120
- define('application-uses-an-internal-api', 'Aggregate and internal-feature ownership', 'Application code uses the curated internal API of another feature.', [], { ...withApi, imports: [importOf(f('orders', 'application'), billingApi)] }),
121
- define('domain-cannot-use-an-application-internal-api', 'Aggregate and internal-feature ownership', 'Domain code uses only the domain internal API of another feature.', ['layer-direction'], { ...withApi, imports: [importOf(f('orders', 'domain'), billingApi)] }),
122
- define('adapters-reach-siblings-through-the-core', 'Aggregate and internal-feature ownership', 'An adapter does not import another feature directly.', ['layer-direction'], {
123
- files: [`${FEATURES_ROOT}/billing/adapters/gateway.ts`], imports: [importOf(`${FEATURES_ROOT}/billing/adapters/gateway.ts`, f('orders', 'public'))],
124
- }),
125
- define('undeclared-use-edge', 'Sub-features: Edges', 'With a declared feature graph, an undeclared use edge is rejected.', ['use-undeclared'], {
126
- imports: [importOf(f('orders', 'composition'), f('orders/discounts', 'public'))], input: { useEdges: [] },
127
- }),
128
- define('declared-use-edge', 'Sub-features: Edges', 'A declared use edge is accepted.', [], {
129
- imports: [importOf(f('orders', 'composition'), f('orders/discounts', 'public'))], input: { useEdges: [{ from: 'orders', to: 'orders/discounts' }] },
130
- }),
131
- define('declared-graph-cycle', 'Sub-features: Dependency graph and cycles', 'A cycle in the declared graph is rejected before any import exists.', ['feature-cycle'], {
132
- input: { useEdges: [{ from: 'orders/pricing', to: 'orders/discounts' }, { from: 'orders/discounts', to: 'orders/pricing' }] },
133
- }),
134
- define('surface-without-a-feature', 'Sub-features: Visibility', 'A surface file that belongs to no feature is rejected.', ['surface-unowned'], {
135
- input: { surfaces: { ...exampleModule().surfaces, public: [...(exampleModule().surfaces?.public ?? []), MODULE_COMPOSITION] } },
136
- }),
137
- define('depth-warning', ex, 'A feature past the declared depth is a warning, not a failure.', ['depth-warning'], { input: { depthWarning: 2 } }),
138
- define('composition-contract-outside-composition', 'Composition contracts', 'A composition contract is composition code of its feature.', ['composition-contract-misplaced'], {
139
- files: [`${orders}/application/wiring.ts`],
140
- input: { surfaces: { ...exampleModule().surfaces, compositionContract: [...(exampleModule().surfaces?.compositionContract ?? []), `${orders}/application/wiring.ts`] } },
141
- }),
142
- define('republication-of-another-surface', 'Growth guardrails 13', 'A republication re-exports the same surface of its parent, not the other one.', ['republication-mismatch'], {
143
- imports: [importOf(f('orders', 'public'), f('orders/pricing', 'contract'), 'runtime', true)],
144
- }),
145
- define('test-uses-the-internals-of-its-own-feature', 'Test ownership', 'A test of a sub-feature uses its own domain.', [], {
146
- input: { testFiles: [discountsTest] }, imports: [importOf(discountsTest, f('orders/discounts', 'domain'))],
147
- }),
148
- define('test-of-the-parent-uses-a-sub-feature-domain', 'Test ownership', 'A test in the test root of orders may not use the internals of orders/discounts.', ['deep-import'], {
149
- input: { testFiles: [`${testRoot}/orders.test.ts`] }, imports: [importOf(`${testRoot}/orders.test.ts`, f('orders/discounts', 'domain'))],
150
- }),
151
- define('test-uses-a-visible-sibling-entrypoint', 'Test ownership', 'A test of a sub-feature uses the public entrypoint of a visible sibling.', [], {
152
- input: { testFiles: [discountsTest] }, imports: [importOf(discountsTest, f('orders/pricing', 'public'))],
153
- }),
154
- define('test-of-another-feature-cannot-see-a-sub-feature', 'Test ownership', 'A test of billing may not use a sub-feature of orders.', ['not-visible'], {
155
- input: { testFiles: [`${TEST_FEATURES_ROOT}/billing/billing.test.ts`] },
156
- imports: [importOf(`${TEST_FEATURES_ROOT}/billing/billing.test.ts`, f('orders/pricing', 'public'))],
157
- }),
158
- define('test-uses-a-testing-surface', 'Test ownership', 'Test code uses the testing surface of a visible feature.', [], {
159
- files: [billingKit], input: { testFiles: [discountsTest], surfaces: { ...exampleModule().surfaces, testing: [billingKit] } },
160
- imports: [importOf(discountsTest, billingKit)],
161
- }),
162
- define('cycle-through-a-deep-import', 'Sub-features: Dependency graph and cycles', 'A deep import is rejected and still closes a cycle.', ['deep-import', 'feature-cycle'], {
163
- imports: [importOf(f('orders/pricing', 'composition'), f('orders/discounts', 'domain')), importOf(f('orders/discounts', 'composition'), f('orders/pricing', 'public'))],
164
- }),
165
- define('contracts-cannot-use-a-composition-contract', 'Composition contracts', 'Code of the contracts role never depends on a composition contract.', ['composition-contract-layer'], {
166
- imports: [importOf(f('billing', 'public'), f('orders', 'contract'))],
5
+ define("module-conforms", ex, "The example tree, wired as the standard requires, conforms.", []),
6
+ define("upward-use", ex, "A sub-feature uses the public entrypoint of its parent.", [], {
7
+ imports: [importOf(f("orders/discounts", "composition"), f("orders", "public"))],
167
8
  }),
168
- define('adapters-cannot-use-a-composition-contract', 'Composition contracts', 'Code of the adapters role never depends on a composition contract.', ['composition-contract-layer'], {
169
- files: [`${FEATURES_ROOT}/billing/adapters/gateway.ts`], imports: [importOf(`${FEATURES_ROOT}/billing/adapters/gateway.ts`, f('orders', 'contract'))],
9
+ define("downward-use", ex, "A parent uses the public entrypoint of its direct sub-feature.", [], {
10
+ imports: [importOf(f("orders", "composition"), f("orders/discounts", "public"))],
170
11
  }),
171
- define('module-code-outside-composition-cannot-use-a-composition-contract', 'Composition contracts', 'Only module-level composition may depend on a composition contract.', ['composition-contract-layer'], {
172
- files: ['src/other.ts'], imports: [importOf('src/other.ts', f('orders', 'contract'))],
12
+ define("parent-and-sub-feature-use-each-other", ex, "The upward edge is outside the cycle graph.", [], {
13
+ imports: [
14
+ importOf(f("orders", "composition"), f("orders/discounts", "public")),
15
+ importOf(f("orders/discounts", "composition"), f("orders", "public")),
16
+ ],
173
17
  }),
174
- define('module-code-outside-composition-cannot-wire-a-composition-surface', 'Sub-features: Assembly', 'Only module-level composition wires the composition surface of a top-level feature.', ['deep-import'], {
175
- files: ['src/other.ts'], imports: [importOf('src/other.ts', f('billing', 'group'))],
18
+ define("grandchild-not-visible-to-ancestor", ex, "A feature cannot use a sub-feature of its sub-feature.", ["not-visible"], { imports: [importOf(f("orders", "composition"), f(odCoupons, "public"))] }),
19
+ define("lateral-use-between-siblings", ex, "Siblings use each other through public entrypoints.", [], { imports: [importOf(f("orders/pricing", "composition"), f("orders/discounts", "public"))] }),
20
+ define("lateral-cycle", ex, "Siblings that use each other form a cycle.", ["feature-cycle"], {
21
+ imports: [
22
+ importOf(f("orders/pricing", "composition"), f("orders/discounts", "public")),
23
+ importOf(f("orders/discounts", "composition"), f("orders/pricing", "public")),
24
+ ],
176
25
  }),
177
- define('module-composition-uses-a-top-level-composition-contract', 'Composition contracts', 'Module composition depends on the composition contract of a top-level feature.', [], {
178
- imports: [importOf(MODULE_COMPOSITION, f('orders', 'contract'))],
26
+ define("deep-import", ex, "A sibling cannot import the domain of another feature.", ["deep-import"], { imports: [importOf(f("orders/pricing", "composition"), f("orders/discounts", "domain"))] }),
27
+ define("descendant-uses-top-level-feature", ex, "A deep feature uses a top-level feature.", [], {
28
+ imports: [importOf(f(odCoupons, "composition"), f("billing", "public"))],
179
29
  }),
180
- define('module-code-is-not-composition-unless-listed', 'Composition contracts', 'Without a listed module composition, module-level code may not depend on a composition contract or wire a composition surface.', ['composition-contract-layer', 'deep-import', 'deep-import'], {
181
- input: { moduleComposition: [] }, imports: [importOf(MODULE_COMPOSITION, f('orders', 'contract'))],
30
+ define("sub-feature-not-visible-outside-its-parent", ex, "A top-level feature cannot use a sub-feature of another.", ["not-visible"], { imports: [importOf(f("billing", "composition"), f("orders/pricing", "public"))] }),
31
+ define("declared-republication", ex, "A parent republishes the public entrypoint of its direct sub-feature as declared.", [], {
32
+ imports: [
33
+ importOf(f("billing", "composition"), f("orders", "public")),
34
+ importOf(f("orders", "public"), f("orders/pricing", "public"), "runtime", true),
35
+ ],
36
+ input: { republications: [{ from: "orders", to: "orders/pricing", surface: "public" }] },
182
37
  }),
183
- {
184
- id: 'absent-module-composition-rejects', source: 'Composition contracts', ok: false,
185
- description: 'Without any moduleComposition, module-level code is not composition.',
186
- expect: ['composition-contract-layer', 'deep-import', 'deep-import'],
187
- input: { ...exampleModule(false), imports: [...exampleModule().imports, importOf(MODULE_COMPOSITION, f('orders', 'contract'))] },
188
- },
189
- define('lateral-reexport-is-no-republication', 'Growth guardrails 13', 'A sibling cannot republish the contracts of another sibling.', ['republication-not-sub-feature'], {
190
- imports: [importOf(f('orders/pricing', 'public'), f('orders/discounts', 'public'), 'runtime', true)],
38
+ define("republication-skips-a-level", ex, "A feature cannot republish from a grandchild.", ["republication-skips-level"], {
39
+ imports: [importOf(f("orders", "public"), f(odCoupons, "public"), "runtime", true)],
40
+ input: { republications: [{ from: "orders", to: "orders/pricing", surface: "public" }] },
191
41
  }),
192
- define('upward-reexport-is-no-republication', 'Growth guardrails 13', 'A sub-feature cannot republish the contracts of its parent.', ['republication-not-sub-feature'], {
193
- imports: [importOf(f('orders/discounts', 'public'), f('orders', 'public'), 'runtime', true)],
42
+ define("undeclared-republication", ex, "A republication without a declaration is rejected.", ["republication-undeclared"], { imports: [importOf(f("orders", "public"), f("orders/pricing", "public"), "runtime", true)] }),
43
+ define("republication-declared-from-a-grandchild", ex, "A declaration must name a direct sub-feature.", ["republication-invalid"], { input: { republications: [{ from: "orders", to: odCoupons, surface: "public" }] } }),
44
+ define("load-time-cycle-through-republication", ex, "Public contracts and the parent that republishes them import each other at load time.", ["load-cycle"], {
45
+ imports: [
46
+ importOf(f("orders/discounts", "public"), f("orders", "public")),
47
+ importOf(f("orders", "public"), f("orders/discounts", "public"), "runtime", true),
48
+ ],
49
+ input: { republications: [{ from: "orders", to: "orders/discounts", surface: "public" }] },
194
50
  }),
195
- define('leaking-republication-chain', 'Growth guardrails 13', 'A sibling re-export cannot be laundered through a declared republication.', ['republication-not-sub-feature'], {
51
+ define("type-only-upward-import-is-no-load-cycle", ex, "The same shape with a type-only upward import conforms.", [], {
196
52
  imports: [
197
- importOf(f('orders/pricing', 'public'), f('orders/discounts', 'public'), 'runtime', true),
198
- importOf(f('orders', 'public'), f('orders/pricing', 'public'), 'runtime', true),
199
- importOf(f('billing', 'composition'), f('orders', 'public')),
53
+ importOf(f("orders/discounts", "public"), f("orders", "public"), type),
54
+ importOf(f("orders", "public"), f("orders/discounts", "public"), "runtime", true),
200
55
  ],
201
- input: { republications: [{ from: 'orders', to: 'orders/pricing', surface: 'public' }] },
56
+ input: { republications: [{ from: "orders", to: "orders/discounts", surface: "public" }] },
202
57
  }),
203
- define('colocated-test-uses-its-own-internals', 'Test ownership', 'A test beside its source belongs to the deepest feature and may use its internals.', [], {
204
- input: { testFiles: [`${orders}/domain/model.test.ts`] }, imports: [importOf(`${orders}/domain/model.test.ts`, f('orders', 'domain'))],
58
+ define("module-composition-cannot-wire-a-sub-feature", ex, "Only the parent wires a sub-feature.", ["assembly-misplaced"], { imports: [importOf(MODULE_COMPOSITION, f("orders/discounts", "group"))] }),
59
+ define("grandparent-cannot-wire-a-grandchild", ex, "Only the direct parent wires a sub-feature.", ["assembly-misplaced"], { imports: [importOf(f("orders", "composition"), f(odCoupons, "group"))] }),
60
+ define("parent-must-wire-its-sub-feature", ex, "A sub-feature that exposes a composition surface is wired by its parent.", ["assembly-missing"], {
61
+ drop: (record) => record.from === f("orders/discounts", "composition") && record.to === f(odCoupons, "group"),
205
62
  }),
206
- define('colocated-test-uses-a-sub-feature-domain', 'Test ownership', 'A colocated test of a parent may not use the internals of its sub-feature.', ['deep-import'], {
207
- input: { testFiles: [`${orders}/domain/model.test.ts`] }, imports: [importOf(`${orders}/domain/model.test.ts`, f('orders/discounts', 'domain'))],
63
+ define("sibling-of-ancestor", ex, "A deep feature uses a sibling of its ancestor.", [], {
64
+ imports: [importOf(f(odCoupons, "composition"), f("orders/pricing", "public"))],
208
65
  }),
209
- define('application-cannot-wire-a-top-level-composition-surface', 'Sub-features: Assembly', 'Only composition code wires a composition surface.', ['deep-import'], {
210
- imports: [importOf(f('billing', 'application'), f('orders', 'group'))],
66
+ define("sub-feature-hidden-from-sibling-subtree", ex, "A sibling cannot use a sub-feature of another sibling.", ["not-visible"], { imports: [importOf(f("orders/pricing", "composition"), f(odCoupons, "public"))] }),
67
+ define("cycle-closed-by-an-upward-edge", ex, "The only cycle closes through the upward edge.", [], {
68
+ imports: [
69
+ importOf(f("orders/pricing", "composition"), f("orders/discounts", "public")),
70
+ importOf(f("orders/discounts", "composition"), f("orders", "public")),
71
+ importOf(f("orders", "composition"), f("orders/pricing", "public")),
72
+ ],
211
73
  }),
212
- define('declared-use-edge-of-an-unknown-feature', 'Sub-features: Edges', 'A declared use edge names a feature that does not exist.', ['use-edge-invalid'], {
213
- input: { useEdges: [{ from: 'ghost', to: 'orders' }] },
74
+ define("lateral-and-downward-cycle", ex, "A cycle of lateral and downward use edges is rejected.", ["feature-cycle"], {
75
+ imports: [
76
+ importOf(f("orders/discounts", "composition"), f("billing", "public")),
77
+ importOf(f("billing", "composition"), f("orders", "public")),
78
+ importOf(f("orders", "composition"), f("orders/discounts", "public")),
79
+ ],
214
80
  }),
215
- define('declared-use-edge-to-an-invisible-feature', 'Sub-features: Visibility', 'A declared use edge cannot target a feature that is not visible.', ['not-visible'], {
216
- input: { useEdges: [{ from: 'billing', to: 'orders/pricing' }] },
81
+ define("type-only-cycle-counts", ex, "Type-only references count in the feature dependency graph.", ["feature-cycle"], {
82
+ imports: [
83
+ importOf(f("orders/pricing", "composition"), f("orders/discounts", "public"), type),
84
+ importOf(f("orders/discounts", "composition"), f("orders/pricing", "public"), type),
85
+ ],
217
86
  }),
218
- define('type-only-import-does-not-wire', 'Sub-features: Assembly', 'A parent that only references the composition surface by type has not wired it.', ['assembly-missing'], {
219
- drop: (record) => record.from === f('orders/discounts', 'composition') && record.to === f(odCoupons, 'group'),
220
- imports: [importOf(f('orders/discounts', 'composition'), f(odCoupons, 'group'), type)],
87
+ define("same-name-under-different-parents", ex, "Names are unique only among the sub-features of one parent.", []),
88
+ define("misplaced-sub-feature-test", "Test ownership", "Tests of a sub-feature do not live in its parent test root.", ["test-misplaced"], { input: { testFiles: [`${TEST_FEATURES_ROOT}/orders/discounts/discount.test.ts`] } }),
89
+ define("mirrored-sub-feature-test", "Test ownership", "Tests of a sub-feature live in its own mirrored test root.", [], { input: { testFiles: [`${TEST_FEATURES_ROOT}/orders/features/discounts/discount.test.ts`] } }),
90
+ define("test-of-no-feature", "Test ownership", "A test outside every feature test root is unowned.", ["test-unowned"], { input: { testFiles: [`${TEST_FEATURES_ROOT}/ghost/ghost.test.ts`] } }),
91
+ define("file-in-the-container", ex, "A source file directly in a features container is rejected.", ["container-file"], { files: [`${orders}/features/helper.ts`] }),
92
+ define("empty-container", ex, "An empty container is rejected.", ["container-empty"], {
93
+ input: { emptyDirectories: [`${orders}/features/pricing/features`] },
94
+ }),
95
+ define("unmapped-entry", ex, "A direct entry that is no role directory, container or mapped file is rejected.", ["entry-unmapped"], { files: [`${orders}/helpers/clock.ts`] }),
96
+ define("mapped-file-is-allowed", ex, "A file the profile maps directly below a feature root is allowed.", [], { files: [`${orders}/README.md`], input: { mappedFiles: ["README.md"] } }),
97
+ define("sub-feature-root-off-the-container", ex, "A declared sub-feature root must sit in its parent container.", ["feature-root-placement"], {
98
+ input: { featureRoots: [...exampleRoots, `${orders}/extra/sub`] },
221
99
  }),
222
- define('path-outside-the-repository', 'Sub-features: Placement and layout', 'A path that escapes the repository is reported and never trusted.', ['invalid-path'], { files: ['../outside.ts'] }),
223
- {
224
- id: 'v1-features-directory-keeps-its-meaning', source: 'Sub-features: introduction', ok: true, expect: [],
225
- description: 'Without a declared sub-feature, a directory named features inside a feature keeps its v1 meaning.',
100
+ define("duplicate-feature-root", ex, "A feature root declared twice is rejected.", ["feature-duplicate"], { input: { featureRoots: [...exampleRoots, orders] } }),
101
+ define("undeclared-feature-directory", ex, "A directory of the container that no profile declares is rejected.", ["feature-undeclared"], {
102
+ files: [`${orders}/features/ghost/domain/x.ts`],
103
+ input: { featureRoots: exampleRoots },
104
+ }),
105
+ define("composition-uses-a-visible-composition-contract", ex, "Feature composition uses the composition contract of a visible feature.", [], { imports: [importOf(f("billing", "composition"), f("orders", "contract"))] }),
106
+ define("application-cannot-use-a-composition-contract", ex, "Only composition code depends on a composition contract.", ["composition-contract-layer"], { imports: [importOf(f("billing", "application"), f("orders", "contract"))] }),
107
+ define("domain-cannot-use-its-own-composition-contract", "Composition contracts", "No inner code depends on a composition contract, its own feature included.", ["composition-contract-layer"], { imports: [importOf(f("orders", "domain"), f("orders", "contract"))] }),
108
+ define("sub-feature-composition-uses-parent-contract", ex, "A sub-feature composition uses the composition contract of its parent.", [], { imports: [importOf(f("orders/discounts", "composition"), f("orders", "contract"))] }),
109
+ define("module-composition-cannot-use-a-hidden-composition-contract", ex, "Module composition reaches a sub-feature only through what its parent republishes.", ["not-visible"], { imports: [importOf(MODULE_COMPOSITION, f("orders/discounts", "contract"))] }),
110
+ define("composition-contract-of-an-invisible-feature", "Composition contracts", "A composition contract of a feature that is not visible is rejected.", ["not-visible"], { imports: [importOf(f("orders/pricing", "composition"), f(odCoupons, "contract"))] }),
111
+ define("declared-composition-contract-republication", ex, "A parent republishes the composition contract of its direct sub-feature as declared.", [], {
112
+ imports: [
113
+ importOf(f("orders", "contract"), f("orders/discounts", "contract"), "runtime", true),
114
+ ],
226
115
  input: {
227
- imports: [], files: v1Files,
228
- ...inferDirectoryLayout({ featuresRoot: FEATURES_ROOT, files: v1Files, roleDirectories }),
116
+ republications: [
117
+ { from: "orders", to: "orders/discounts", surface: "composition-contract" },
118
+ ],
229
119
  },
230
- },
231
- profileCase('profile-mapped-layout-conforms', [], [importOf(billingApi2, reportsApi)], 'Roles mapped to files and to a directory with another name, in two feature roots, conform.'),
232
- profileCase('v1-reexport-is-an-ordinary-use', [], [{ ...importOf(billingApi2, reportsApi, 'runtime', true) }], 'Republication is a rule of modules with sub-features; in any other module a re-export is a use.'),
233
- profileCase('profile-mapped-adapter-direction', ['layer-direction'], [importOf(reportsAdapter, billingApi2)], 'An adapter in a feature directory still reaches siblings only through its application core.'),
234
- profileCase('profile-mapped-deep-import', ['deep-import', 'layer-direction'], [importOf(billingApi2, reportsAdapter)], 'A file mapped to a role is not a public entrypoint unless the profile says so.'),
235
- profileCase('profile-mapped-cycle', ['feature-cycle', 'load-cycle'], [importOf(billingApi2, reportsApi), importOf(reportsApi, billingApi2)], 'Features under different roots form a cycle like any others.'),
120
+ }),
121
+ define("domain-cannot-import-contracts", "Aggregate and internal-feature ownership", "Domain code never imports contracts, its own included.", ["layer-direction"], { imports: [importOf(f("orders", "domain"), f("orders", "public"))] }),
122
+ ...laterConformanceCases,
236
123
  ];
237
124
  //# sourceMappingURL=conformance-cases.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conformance-cases.js","sourceRoot":"","sources":["../../../../src/features/conformance-fixtures/testing/conformance-cases.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conformance-cases.js","sourceRoot":"","sources":["../../../../src/features/conformance-fixtures/testing/conformance-cases.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"example-sources.d.ts","sourceRoot":"","sources":["../../../../src/features/conformance-fixtures/testing/example-sources.ts"],"names":[],"mappings":"AAqBA;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAMjE"}
1
+ {"version":3,"file":"example-sources.d.ts","sourceRoot":"","sources":["../../../../src/features/conformance-fixtures/testing/example-sources.ts"],"names":[],"mappings":"AAyBA;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAYjE"}
@@ -1,5 +1,5 @@
1
- import { exampleModule } from './example-tree.js';
2
- const segments = (path) => path.split('/');
1
+ import { exampleModule } from "./example-tree.js";
2
+ const segments = (path) => path.split("/");
3
3
  // Relative specifier from one repository file to another, with the extension kept.
4
4
  function specifier(from, to) {
5
5
  const base = segments(from).slice(0, -1);
@@ -8,15 +8,15 @@ function specifier(from, to) {
8
8
  while (shared < base.length && shared < target.length - 1 && base[shared] === target[shared]) {
9
9
  shared += 1;
10
10
  }
11
- const up = base.slice(shared).map(() => '..');
12
- return [...(up.length === 0 ? ['.'] : up), ...target.slice(shared)].join('/');
11
+ const up = base.slice(shared).map(() => "..");
12
+ return [...(up.length === 0 ? ["."] : up), ...target.slice(shared)].join("/");
13
13
  }
14
14
  const statement = (record) => {
15
15
  const to = `'${specifier(record.from, record.to)}'`;
16
16
  if (record.reexport === true) {
17
17
  return `export * from ${to};`;
18
18
  }
19
- return record.mode === 'type-only' ? `import type {} from ${to};` : `import ${to};`;
19
+ return record.mode === "type-only" ? `import type {} from ${to};` : `import ${to};`;
20
20
  };
21
21
  /**
22
22
  * The example tree as real source files, path to text: `import '...'`, `export * from '...'` and `import type {} from '...'`
@@ -25,9 +25,13 @@ const statement = (record) => {
25
25
  */
26
26
  export function exampleSources() {
27
27
  const { files, imports } = exampleModule();
28
- return Object.fromEntries(files.map((file) => [file, [
28
+ return Object.fromEntries(files.map((file) => [
29
+ file,
30
+ [
29
31
  ...imports.filter((record) => record.from === file).map(statement),
30
- `export const origin = '${file}';`, '',
31
- ].join('\n')]));
32
+ `export const origin = '${file}';`,
33
+ "",
34
+ ].join("\n"),
35
+ ]));
32
36
  }
33
37
  //# sourceMappingURL=example-sources.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"example-sources.js","sourceRoot":"","sources":["../../../../src/features/conformance-fixtures/testing/example-sources.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAY,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAE7D,mFAAmF;AACnF,SAAS,SAAS,CAAC,IAAY,EAAE,EAAU;IACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC5B,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAAC,MAAM,IAAI,CAAC,CAAC;IAAC,CAAC;IAC9G,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,MAAoB,EAAU,EAAE;IACjD,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC;IACpD,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAAC,OAAO,iBAAiB,EAAE,GAAG,CAAC;IAAC,CAAC;IAChE,OAAO,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC;AACtF,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,CAAC;IAC3C,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;YACnD,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;YAClE,0BAA0B,IAAI,IAAI,EAAE,EAAE;SACvC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"example-sources.js","sourceRoot":"","sources":["../../../../src/features/conformance-fixtures/testing/example-sources.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAY,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAE7D,mFAAmF;AACnF,SAAS,SAAS,CAAC,IAAY,EAAE,EAAU;IACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC5B,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7F,MAAM,IAAI,CAAC,CAAC;IACd,CAAC;IACD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,MAAoB,EAAU,EAAE;IACjD,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC;IACpD,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO,iBAAiB,EAAE,GAAG,CAAC;IAChC,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC;AACtF,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,CAAC;IAC3C,OAAO,MAAM,CAAC,WAAW,CACvB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAClB,IAAI;QACJ;YACE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;YAClE,0BAA0B,IAAI,IAAI;YAClC,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC;KACb,CAAC,CACH,CAAC;AACJ,CAAC"}
@@ -1,19 +1,19 @@
1
- import type { FeatureModuleInput, ImportMode, ImportRecord, LayerRole } from '../../feature-model/domain/model.js';
1
+ import type { FeatureModuleInput, ImportMode, ImportRecord, LayerRole } from "../../feature-model/domain/model.js";
2
2
  /** The informative example tree of Feature Module Standard v1.1, section "Sub-features", as one valid module. */
3
3
  export declare const FEATURES_ROOT = "src/features";
4
4
  export declare const TEST_FEATURES_ROOT = "tests/features";
5
5
  declare const roots: {
6
- readonly orders: 'orders';
7
- readonly 'orders/pricing': 'orders/features/pricing';
8
- readonly 'orders/discounts': 'orders/features/discounts';
9
- readonly 'orders/discounts/coupons': 'orders/features/discounts/features/coupons';
10
- readonly billing: 'billing';
11
- readonly 'billing/coupons': 'billing/features/coupons';
6
+ readonly orders: "orders";
7
+ readonly "orders/pricing": "orders/features/pricing";
8
+ readonly "orders/discounts": "orders/features/discounts";
9
+ readonly "orders/discounts/coupons": "orders/features/discounts/features/coupons";
10
+ readonly billing: "billing";
11
+ readonly "billing/coupons": "billing/features/coupons";
12
12
  };
13
13
  export type ExampleFeature = keyof typeof roots;
14
14
  /** The roots of the example features, for cases that declare them. */
15
15
  export declare const exampleRoots: readonly string[];
16
- declare const parts: readonly ['public', 'domain', 'application', 'composition', 'contract', 'group'];
16
+ declare const parts: readonly ["public", "domain", "application", "composition", "contract", "group"];
17
17
  type Part = (typeof parts)[number];
18
18
  /** The file of one part of an example feature: its public entrypoint, composition code, composition contract and so on. */
19
19
  export declare const fileOf: (feature: ExampleFeature, part: Part) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"example-tree.d.ts","sourceRoot":"","sources":["../../../../src/features/conformance-fixtures/testing/example-tree.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAEnH,iHAAiH;AACjH,eAAO,MAAM,aAAa,iBAAiB,CAAC;AAC5C,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AAGnD,QAAA,MAAM,KAAK;aACT,MAAM,EAAE,QAAQ;aAChB,gBAAgB,EAAE,yBAAyB;aAC3C,kBAAkB,EAAE,2BAA2B;aAC/C,0BAA0B,EAAE,4CAA4C;aACxE,OAAO,EAAE,SAAS;aAClB,iBAAiB,EAAE,0BAA0B;CACrC,CAAC;AACX,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,KAAK,CAAC;AAChD,sEAAsE;AACtE,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAAmE,CAAC;AAE9G,QAAA,MAAM,KAAK,YAAI,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,CAAU,CAAC;AAC/F,KAAK,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AAUnC,2HAA2H;AAC3H,eAAO,MAAM,MAAM,YAAa,cAAc,QAAQ,IAAI,KAAG,MAAiE,CAAC;AAE/H,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAClD,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAE/D,CAAC;AAEF,eAAO,MAAM,QAAQ,SAAU,MAAM,MAAM,MAAM,SAAQ,UAAU,yBAAiC,YAClC,CAAC;AAMnE,6HAA6H;AAC7H,wBAAgB,aAAa,CAAC,sBAAsB,UAAO,GAAG,kBAAkB,CAqB/E"}
1
+ {"version":3,"file":"example-tree.d.ts","sourceRoot":"","sources":["../../../../src/features/conformance-fixtures/testing/example-tree.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,SAAS,EACV,MAAM,qCAAqC,CAAC;AAE7C,iHAAiH;AACjH,eAAO,MAAM,aAAa,iBAAiB,CAAC;AAC5C,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AAGnD,QAAA,MAAM,KAAK;aACT,MAAM,EAAE,QAAQ;aAChB,gBAAgB,EAAE,yBAAyB;aAC3C,kBAAkB,EAAE,2BAA2B;aAC/C,0BAA0B,EAAE,4CAA4C;aACxE,OAAO,EAAE,SAAS;aAClB,iBAAiB,EAAE,0BAA0B;CACrC,CAAC;AACX,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,KAAK,CAAC;AAChD,sEAAsE;AACtE,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAEzC,CAAC;AAEF,QAAA,MAAM,KAAK,YAAI,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,CAAU,CAAC;AAC/F,KAAK,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AAUnC,2HAA2H;AAC3H,eAAO,MAAM,MAAM,YAAa,cAAc,QAAQ,IAAI,KAAG,MACJ,CAAC;AAE1D,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAClD,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAM/D,CAAC;AAEF,eAAO,MAAM,QAAQ,SACb,MAAM,MACR,MAAM,SACJ,UAAU,yBAEf,YAAgF,CAAC;AAMpF,6HAA6H;AAC7H,wBAAgB,aAAa,CAAC,sBAAsB,UAAO,GAAG,kBAAkB,CA+B/E"}