@microsoft/fast-element 3.0.0-rc.1 → 3.0.0-rc.2
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.
- package/CHANGELOG.md +51 -1
- package/README.md +50 -14
- package/dist/context/context.api.json +13 -13
- package/dist/declarative/declarative.api.json +654 -15
- package/dist/di/di.api.json +15 -15
- package/dist/dts/__test__/helpers.d.ts +6 -0
- package/dist/dts/__test__/setup-node.d.ts +0 -0
- package/dist/dts/binding/binding.d.ts +15 -5
- package/dist/dts/binding/one-time.d.ts +1 -1
- package/dist/dts/binding/one-way.d.ts +1 -1
- package/dist/dts/binding/signal.d.ts +1 -1
- package/dist/dts/binding/two-way.d.ts +1 -1
- package/dist/dts/components/attributes.d.ts +1 -1
- package/dist/dts/components/enable-hydration.d.ts +22 -2
- package/dist/dts/components/fast-definitions.d.ts +7 -4
- package/dist/dts/components/fast-element.d.ts +42 -12
- package/dist/dts/components/hydration-tracker.d.ts +47 -4
- package/dist/dts/components/hydration.d.ts +5 -0
- package/dist/dts/context.d.ts +7 -7
- package/dist/dts/declarative/debug.d.ts +2 -3
- package/dist/dts/declarative/index.d.ts +3 -2
- package/dist/dts/declarative/interfaces.d.ts +1 -2
- package/dist/dts/declarative/template.d.ts +2 -1
- package/dist/dts/declarative/utilities.d.ts +50 -4
- package/dist/dts/di/di.d.ts +6 -6
- package/dist/dts/dom-policy.d.ts +22 -4
- package/dist/dts/dom.d.ts +4 -16
- package/dist/dts/hydration/diagnostics.d.ts +93 -0
- package/dist/dts/hydration/hydration-debugger.d.ts +35 -0
- package/dist/dts/hydration/messages.d.ts +62 -0
- package/dist/dts/hydration/target-builder.d.ts +26 -1
- package/dist/dts/hydration.d.ts +7 -3
- package/dist/dts/index.d.ts +7 -3
- package/dist/dts/interfaces.d.ts +1 -0
- package/dist/dts/observation/observable.d.ts +3 -3
- package/dist/dts/platform.d.ts +20 -4
- package/dist/dts/registry.d.ts +1 -0
- package/dist/dts/templating/children.d.ts +1 -1
- package/dist/dts/templating/compiler.d.ts +1 -1
- package/dist/dts/templating/html-binding-directive.d.ts +6 -2
- package/dist/dts/templating/html-directive.d.ts +2 -1
- package/dist/dts/templating/hydration-view.d.ts +24 -3
- package/dist/dts/templating/ref.d.ts +1 -1
- package/dist/dts/templating/render.d.ts +2 -2
- package/dist/dts/templating/repeat.d.ts +1 -1
- package/dist/dts/templating/slotted.d.ts +1 -1
- package/dist/dts/templating/template.d.ts +5 -5
- package/dist/dts/templating/when.d.ts +1 -1
- package/dist/dts/testing/fakes.d.ts +4 -4
- package/dist/esm/__test__/helpers.js +22 -0
- package/dist/esm/__test__/setup-node.js +18 -0
- package/dist/esm/binding/two-way.js +1 -2
- package/dist/esm/components/attributes.js +12 -8
- package/dist/esm/components/element-controller.js +11 -6
- package/dist/esm/components/enable-hydration.js +27 -3
- package/dist/esm/components/fast-definitions.js +19 -18
- package/dist/esm/components/hydration-tracker.js +34 -5
- package/dist/esm/components/hydration.js +85 -6
- package/dist/esm/debug.js +1 -0
- package/dist/esm/declarative/attribute-map.js +2 -1
- package/dist/esm/declarative/debug.js +0 -1
- package/dist/esm/declarative/index.js +1 -0
- package/dist/esm/declarative/interfaces.js +0 -1
- package/dist/esm/declarative/observer-map-utilities.js +58 -55
- package/dist/esm/declarative/template-bridge.js +4 -14
- package/dist/esm/declarative/template.js +4 -3
- package/dist/esm/declarative/utilities.js +236 -1
- package/dist/esm/di/di.js +2 -1
- package/dist/esm/dom-policy.js +33 -4
- package/dist/esm/hydration/diagnostics.js +50 -0
- package/dist/esm/hydration/hydration-debugger.js +112 -0
- package/dist/esm/hydration/messages.js +84 -0
- package/dist/esm/hydration/target-builder.js +65 -19
- package/dist/esm/hydration.js +3 -1
- package/dist/esm/index.js +6 -2
- package/dist/esm/interfaces.js +1 -0
- package/dist/esm/metadata.js +2 -8
- package/dist/esm/observation/notifier.js +2 -4
- package/dist/esm/registry.js +1 -0
- package/dist/esm/templating/html-binding-directive.js +1 -1
- package/dist/esm/templating/hydration-view.js +20 -27
- package/dist/esm/templating/render.js +39 -18
- package/dist/esm/templating/repeat.js +51 -17
- package/dist/esm/templating/view.js +1 -1
- package/dist/esm/testing/fixture.js +2 -2
- package/dist/esm/testing/timeout.js +2 -2
- package/dist/fast-element.api.json +1329 -99
- package/dist/fast-element.d.ts +147 -66
- package/dist/fast-element.debug.js +392 -99
- package/dist/fast-element.debug.min.js +2 -2
- package/dist/fast-element.js +392 -99
- package/dist/fast-element.min.js +2 -2
- package/dist/fast-element.untrimmed.d.ts +133 -70
- package/dist/hydration/hydration.api.json +1280 -57
- package/dist/styles/styles.api.json +1 -1
- package/package.json +21 -9
- package/ARCHITECTURE_FASTELEMENT.md +0 -63
- package/ARCHITECTURE_HTML_TAGGED_TEMPLATE_LITERAL.md +0 -36
- package/ARCHITECTURE_INTRO.md +0 -10
- package/ARCHITECTURE_OVERVIEW.md +0 -52
- package/ARCHITECTURE_UPDATES.md +0 -11
- package/CHANGELOG.json +0 -2275
- package/DECLARATIVE_DESIGN.md +0 -806
- package/DECLARATIVE_HTML.md +0 -470
- package/DECLARATIVE_MIGRATION.md +0 -215
- package/DECLARATIVE_RENDERING.md +0 -530
- package/DECLARATIVE_RENDERING_LIFECYCLE.md +0 -288
- package/DECLARATIVE_SCHEMA_OBSERVER_MAP.md +0 -489
- package/DESIGN.md +0 -615
- package/MIGRATION.md +0 -387
- package/SIZES.md +0 -25
- package/api-extractor.arrays.json +0 -15
- package/api-extractor.context.json +0 -15
- package/api-extractor.declarative.json +0 -15
- package/api-extractor.di.json +0 -15
- package/api-extractor.hydration.json +0 -15
- package/api-extractor.styles.json +0 -15
- package/biome.json +0 -4
- package/docs/ACKNOWLEDGEMENTS.md +0 -12
- package/docs/api-report.api.md +0 -1299
- package/docs/arrays/api-report.api.md +0 -114
- package/docs/context/api-report.api.md +0 -69
- package/docs/declarative/api-report.api.md +0 -397
- package/docs/di/api-report.api.md +0 -315
- package/docs/fast-element-2-changes.md +0 -15
- package/docs/hydration/api-report.api.md +0 -285
- package/docs/styles/api-report.api.md +0 -135
- package/playwright.config.ts +0 -26
- package/playwright.declarative.config.ts +0 -26
- package/playwright.declarative.webui.config.ts +0 -20
- package/scripts/declarative/build-fixtures-with-webui.js +0 -135
- package/scripts/declarative/build-fixtures.js +0 -49
- package/scripts/declarative/build-fixtures.utilities.js +0 -101
- package/scripts/measure-sizes.js +0 -219
- package/scripts/run-api-extractor.js +0 -70
- package/test/declarative/fixtures/README.md +0 -72
- package/test/declarative/fixtures/WRITING_FIXTURES.md +0 -330
- package/test/declarative/fixtures/bindings/README.md +0 -12
- package/test/declarative/fixtures/bindings/attribute/entry.html +0 -13
- package/test/declarative/fixtures/bindings/attribute/fast-build.config.json +0 -6
- package/test/declarative/fixtures/bindings/attribute/index.html +0 -25
- package/test/declarative/fixtures/bindings/attribute/main.ts +0 -41
- package/test/declarative/fixtures/bindings/attribute/state.json +0 -8
- package/test/declarative/fixtures/bindings/attribute/templates.html +0 -11
- package/test/declarative/fixtures/bindings/content/entry.html +0 -12
- package/test/declarative/fixtures/bindings/content/fast-build.config.json +0 -6
- package/test/declarative/fixtures/bindings/content/index.html +0 -19
- package/test/declarative/fixtures/bindings/content/main.ts +0 -27
- package/test/declarative/fixtures/bindings/content/state.json +0 -4
- package/test/declarative/fixtures/bindings/content/templates.html +0 -6
- package/test/declarative/fixtures/bindings/dot-syntax/entry.html +0 -11
- package/test/declarative/fixtures/bindings/dot-syntax/fast-build.config.json +0 -6
- package/test/declarative/fixtures/bindings/dot-syntax/index.html +0 -47
- package/test/declarative/fixtures/bindings/dot-syntax/main.ts +0 -59
- package/test/declarative/fixtures/bindings/dot-syntax/state.json +0 -16
- package/test/declarative/fixtures/bindings/dot-syntax/templates.html +0 -17
- package/test/declarative/fixtures/bindings/event/entry.html +0 -11
- package/test/declarative/fixtures/bindings/event/fast-build.config.json +0 -6
- package/test/declarative/fixtures/bindings/event/index.html +0 -43
- package/test/declarative/fixtures/bindings/event/main.ts +0 -43
- package/test/declarative/fixtures/bindings/event/state.json +0 -3
- package/test/declarative/fixtures/bindings/event/templates.html +0 -18
- package/test/declarative/fixtures/bindings/host/entry.html +0 -40
- package/test/declarative/fixtures/bindings/host/fast-build.config.json +0 -6
- package/test/declarative/fixtures/bindings/host/index.html +0 -96
- package/test/declarative/fixtures/bindings/host/main.ts +0 -222
- package/test/declarative/fixtures/bindings/host/state.json +0 -9
- package/test/declarative/fixtures/bindings/host/templates.html +0 -55
- package/test/declarative/fixtures/directives/README.md +0 -12
- package/test/declarative/fixtures/directives/children/entry.html +0 -11
- package/test/declarative/fixtures/directives/children/fast-build.config.json +0 -6
- package/test/declarative/fixtures/directives/children/index.html +0 -15
- package/test/declarative/fixtures/directives/children/main.ts +0 -22
- package/test/declarative/fixtures/directives/children/state.json +0 -3
- package/test/declarative/fixtures/directives/children/templates.html +0 -3
- package/test/declarative/fixtures/directives/ref/entry.html +0 -11
- package/test/declarative/fixtures/directives/ref/fast-build.config.json +0 -6
- package/test/declarative/fixtures/directives/ref/index.html +0 -15
- package/test/declarative/fixtures/directives/ref/main.ts +0 -17
- package/test/declarative/fixtures/directives/ref/state.json +0 -1
- package/test/declarative/fixtures/directives/ref/templates.html +0 -3
- package/test/declarative/fixtures/directives/repeat/entry.html +0 -21
- package/test/declarative/fixtures/directives/repeat/fast-build.config.json +0 -6
- package/test/declarative/fixtures/directives/repeat/index.html +0 -133
- package/test/declarative/fixtures/directives/repeat/main.ts +0 -110
- package/test/declarative/fixtures/directives/repeat/sprites.svg +0 -8
- package/test/declarative/fixtures/directives/repeat/state.json +0 -10
- package/test/declarative/fixtures/directives/repeat/templates.html +0 -75
- package/test/declarative/fixtures/directives/slotted/entry.html +0 -17
- package/test/declarative/fixtures/directives/slotted/fast-build.config.json +0 -6
- package/test/declarative/fixtures/directives/slotted/index.html +0 -27
- package/test/declarative/fixtures/directives/slotted/main.ts +0 -29
- package/test/declarative/fixtures/directives/slotted/state.json +0 -1
- package/test/declarative/fixtures/directives/slotted/templates.html +0 -7
- package/test/declarative/fixtures/directives/when/entry.html +0 -51
- package/test/declarative/fixtures/directives/when/fast-build.config.json +0 -6
- package/test/declarative/fixtures/directives/when/index.html +0 -136
- package/test/declarative/fixtures/directives/when/main.ts +0 -172
- package/test/declarative/fixtures/directives/when/state.json +0 -12
- package/test/declarative/fixtures/directives/when/templates.html +0 -75
- package/test/declarative/fixtures/ecosystem/README.md +0 -11
- package/test/declarative/fixtures/ecosystem/declarative-no-hydration/entry.html +0 -12
- package/test/declarative/fixtures/ecosystem/declarative-no-hydration/fast-build.config.json +0 -6
- package/test/declarative/fixtures/ecosystem/declarative-no-hydration/index.html +0 -20
- package/test/declarative/fixtures/ecosystem/declarative-no-hydration/main.ts +0 -68
- package/test/declarative/fixtures/ecosystem/declarative-no-hydration/state.json +0 -4
- package/test/declarative/fixtures/ecosystem/declarative-no-hydration/templates.html +0 -7
- package/test/declarative/fixtures/ecosystem/errors/entry.html +0 -12
- package/test/declarative/fixtures/ecosystem/errors/fast-build.config.json +0 -6
- package/test/declarative/fixtures/ecosystem/errors/index.html +0 -20
- package/test/declarative/fixtures/ecosystem/errors/main.ts +0 -17
- package/test/declarative/fixtures/ecosystem/errors/state.json +0 -1
- package/test/declarative/fixtures/ecosystem/errors/templates.html +0 -7
- package/test/declarative/fixtures/ecosystem/lifecycle-callbacks/entry.html +0 -17
- package/test/declarative/fixtures/ecosystem/lifecycle-callbacks/fast-build.config.json +0 -6
- package/test/declarative/fixtures/ecosystem/lifecycle-callbacks/index.html +0 -56
- package/test/declarative/fixtures/ecosystem/lifecycle-callbacks/main.ts +0 -134
- package/test/declarative/fixtures/ecosystem/lifecycle-callbacks/state.json +0 -12
- package/test/declarative/fixtures/ecosystem/lifecycle-callbacks/templates.html +0 -34
- package/test/declarative/fixtures/ecosystem/performance-metrics/entry.html +0 -25
- package/test/declarative/fixtures/ecosystem/performance-metrics/fast-build.config.json +0 -6
- package/test/declarative/fixtures/ecosystem/performance-metrics/fast-card.css +0 -10
- package/test/declarative/fixtures/ecosystem/performance-metrics/index.html +0 -181
- package/test/declarative/fixtures/ecosystem/performance-metrics/main.ts +0 -58
- package/test/declarative/fixtures/ecosystem/performance-metrics/state.json +0 -6
- package/test/declarative/fixtures/ecosystem/performance-metrics/templates.html +0 -15
- package/test/declarative/fixtures/extensions/README.md +0 -15
- package/test/declarative/fixtures/extensions/attribute-map/entry.html +0 -14
- package/test/declarative/fixtures/extensions/attribute-map/fast-build.config.json +0 -6
- package/test/declarative/fixtures/extensions/attribute-map/index.html +0 -31
- package/test/declarative/fixtures/extensions/attribute-map/main.ts +0 -40
- package/test/declarative/fixtures/extensions/attribute-map/state.json +0 -4
- package/test/declarative/fixtures/extensions/attribute-map/templates.html +0 -14
- package/test/declarative/fixtures/extensions/attribute-map-naming-strategy/entry.html +0 -12
- package/test/declarative/fixtures/extensions/attribute-map-naming-strategy/fast-build.config.json +0 -7
- package/test/declarative/fixtures/extensions/attribute-map-naming-strategy/index.html +0 -25
- package/test/declarative/fixtures/extensions/attribute-map-naming-strategy/main.ts +0 -31
- package/test/declarative/fixtures/extensions/attribute-map-naming-strategy/state.json +0 -5
- package/test/declarative/fixtures/extensions/attribute-map-naming-strategy/templates.html +0 -11
- package/test/declarative/fixtures/extensions/attribute-map-naming-strategy-camel-case/entry.html +0 -13
- package/test/declarative/fixtures/extensions/attribute-map-naming-strategy-camel-case/fast-build.config.json +0 -7
- package/test/declarative/fixtures/extensions/attribute-map-naming-strategy-camel-case/index.html +0 -23
- package/test/declarative/fixtures/extensions/attribute-map-naming-strategy-camel-case/main.ts +0 -37
- package/test/declarative/fixtures/extensions/attribute-map-naming-strategy-camel-case/state.json +0 -1
- package/test/declarative/fixtures/extensions/attribute-map-naming-strategy-camel-case/templates.html +0 -9
- package/test/declarative/fixtures/extensions/observer-map/entry.html +0 -15
- package/test/declarative/fixtures/extensions/observer-map/fast-build.config.json +0 -6
- package/test/declarative/fixtures/extensions/observer-map/index.html +0 -442
- package/test/declarative/fixtures/extensions/observer-map/main.ts +0 -482
- package/test/declarative/fixtures/extensions/observer-map/state.json +0 -158
- package/test/declarative/fixtures/extensions/observer-map/templates.html +0 -172
- package/test/declarative/fixtures/extensions/observer-map-config-object/entry.html +0 -16
- package/test/declarative/fixtures/extensions/observer-map-config-object/fast-build.config.json +0 -6
- package/test/declarative/fixtures/extensions/observer-map-config-object/index.html +0 -27
- package/test/declarative/fixtures/extensions/observer-map-config-object/main.ts +0 -53
- package/test/declarative/fixtures/extensions/observer-map-config-object/state.json +0 -9
- package/test/declarative/fixtures/extensions/observer-map-config-object/templates.html +0 -12
- package/test/declarative/fixtures/extensions/observer-map-deep-merge/README.md +0 -98
- package/test/declarative/fixtures/extensions/observer-map-deep-merge/entry.html +0 -156
- package/test/declarative/fixtures/extensions/observer-map-deep-merge/fast-build.config.json +0 -6
- package/test/declarative/fixtures/extensions/observer-map-deep-merge/index.html +0 -376
- package/test/declarative/fixtures/extensions/observer-map-deep-merge/main.ts +0 -366
- package/test/declarative/fixtures/extensions/observer-map-deep-merge/state.json +0 -69
- package/test/declarative/fixtures/extensions/observer-map-deep-merge/templates.html +0 -91
- package/test/declarative/fixtures/extensions/observer-map-properties/entry.html +0 -14
- package/test/declarative/fixtures/extensions/observer-map-properties/fast-build.config.json +0 -6
- package/test/declarative/fixtures/extensions/observer-map-properties/index.html +0 -110
- package/test/declarative/fixtures/extensions/observer-map-properties/main.ts +0 -175
- package/test/declarative/fixtures/extensions/observer-map-properties/state.json +0 -29
- package/test/declarative/fixtures/extensions/observer-map-properties/templates.html +0 -55
- package/test/declarative/fixtures/scenarios/README.md +0 -7
- package/test/declarative/fixtures/scenarios/nested-elements/entry.html +0 -16
- package/test/declarative/fixtures/scenarios/nested-elements/fast-build.config.json +0 -6
- package/test/declarative/fixtures/scenarios/nested-elements/index.html +0 -126
- package/test/declarative/fixtures/scenarios/nested-elements/main.ts +0 -214
- package/test/declarative/fixtures/scenarios/nested-elements/state.json +0 -10
- package/test/declarative/fixtures/scenarios/nested-elements/templates.html +0 -54
- package/test/declarative/index.html +0 -12
- package/test/declarative/vite.config.ts +0 -55
- package/test/declarative-main.ts +0 -6
- package/test/extension-subpaths-main.ts +0 -9
- package/test/index.html +0 -11
- package/test/main.ts +0 -109
- package/test/pure-declarative-main.ts +0 -1
- package/test/vite.config.ts +0 -19
- package/tsconfig.api-extractor.json +0 -6
package/MIGRATION.md
DELETED
|
@@ -1,387 +0,0 @@
|
|
|
1
|
-
# Migrating from previous versions
|
|
2
|
-
|
|
3
|
-
## FASTGlobal version tracking (v2 → v3)
|
|
4
|
-
|
|
5
|
-
### Removed API
|
|
6
|
-
|
|
7
|
-
| Removed | Replacement |
|
|
8
|
-
|---|---|
|
|
9
|
-
| `FAST.versions` | No replacement. Multiple FAST versions on the same page are unsupported in v3. |
|
|
10
|
-
|
|
11
|
-
### Removed configuration
|
|
12
|
-
|
|
13
|
-
| Removed | Replacement |
|
|
14
|
-
|---|---|
|
|
15
|
-
| `fast-kernel="share"` / `fast-kernel="share-v2"` / `fast-kernel="isolate"` | No replacement. FAST now uses a single shared kernel contract, and multiple FAST versions on the same page are unsupported. |
|
|
16
|
-
|
|
17
|
-
### Migration steps
|
|
18
|
-
|
|
19
|
-
1. Remove any runtime checks that read `FAST.versions`.
|
|
20
|
-
2. Fix duplicate FAST installs in your bundler or dependency graph instead of relying on version tracking at runtime.
|
|
21
|
-
3. Remove any `fast-kernel` script attributes. They no longer affect FAST initialization.
|
|
22
|
-
|
|
23
|
-
## Native `globalThis` requirement (v2 → v3)
|
|
24
|
-
|
|
25
|
-
### Changed behavior
|
|
26
|
-
|
|
27
|
-
- **Native `globalThis` required**: `@microsoft/fast-element` no longer installs
|
|
28
|
-
a `globalThis` polyfill as a side effect. The package only keeps the
|
|
29
|
-
`requestIdleCallback` / `cancelIdleCallback` fallback for environments that
|
|
30
|
-
still lack those APIs.
|
|
31
|
-
|
|
32
|
-
### Migration steps
|
|
33
|
-
|
|
34
|
-
1. Verify that the browsers and JS runtimes you support provide native
|
|
35
|
-
`globalThis`.
|
|
36
|
-
2. If you still target an older runtime without `globalThis`, load that
|
|
37
|
-
polyfill before importing `@microsoft/fast-element`.
|
|
38
|
-
|
|
39
|
-
## Declarative HTML moved into fast-element (v3)
|
|
40
|
-
|
|
41
|
-
Declarative HTML APIs now ship from `@microsoft/fast-element` instead of the
|
|
42
|
-
removed `@microsoft/fast-html` package.
|
|
43
|
-
|
|
44
|
-
### Import changes
|
|
45
|
-
|
|
46
|
-
| Before | After |
|
|
47
|
-
|---|---|
|
|
48
|
-
| `@microsoft/fast-html` | `@microsoft/fast-element` |
|
|
49
|
-
| `@microsoft/fast-html/utilities.js` | `@microsoft/fast-element` |
|
|
50
|
-
|
|
51
|
-
Core FAST Element helpers are available from the root package export:
|
|
52
|
-
|
|
53
|
-
| API | Import path |
|
|
54
|
-
|---|---|
|
|
55
|
-
| `Updates` | `@microsoft/fast-element` |
|
|
56
|
-
| `Observable`, `observable` | `@microsoft/fast-element` |
|
|
57
|
-
| `attr`, `AttributeDefinition`, converters, `ValueConverter` | `@microsoft/fast-element` |
|
|
58
|
-
| `Binding`, `oneWay`, `oneTime`, `listener` | `@microsoft/fast-element` |
|
|
59
|
-
| `DOM`, `DOMAspect`, `DOMPolicy` | `@microsoft/fast-element` |
|
|
60
|
-
| `Schema`, `schemaRegistry`, schema types | `@microsoft/fast-element` |
|
|
61
|
-
| `css` | `@microsoft/fast-element` |
|
|
62
|
-
| `html`, `ViewTemplate`, `HTMLView` | `@microsoft/fast-element` |
|
|
63
|
-
| `Compiler`, `HTMLDirective`, `htmlDirective`, templating/view types | `@microsoft/fast-element` |
|
|
64
|
-
| `render`, `RenderBehavior`, `RenderDirective` | `@microsoft/fast-element` |
|
|
65
|
-
| `enableHydration`, `HydrationTracker`, hydration types | `@microsoft/fast-element/hydration.js` |
|
|
66
|
-
| `ArrayObserver` | `@microsoft/fast-element` |
|
|
67
|
-
| `volatile` | `@microsoft/fast-element` |
|
|
68
|
-
| `children` | `@microsoft/fast-element` |
|
|
69
|
-
| `elements`, `NodeObservationDirective` | `@microsoft/fast-element` |
|
|
70
|
-
| `ref` | `@microsoft/fast-element` |
|
|
71
|
-
| `slotted` | `@microsoft/fast-element` |
|
|
72
|
-
| `when` | `@microsoft/fast-element` |
|
|
73
|
-
| `repeat` | `@microsoft/fast-element` |
|
|
74
|
-
|
|
75
|
-
### Migration steps
|
|
76
|
-
|
|
77
|
-
1. Update declarative runtime imports to
|
|
78
|
-
`@microsoft/fast-element/declarative.js`.
|
|
79
|
-
2. Update declarative utility imports such as `deepMerge` to
|
|
80
|
-
`@microsoft/fast-element/declarative-utilities.js`.
|
|
81
|
-
3. Keep importing FAST Element APIs such as `FASTElement`, `FAST`,
|
|
82
|
-
`ElementController`, definition/controller types, `attr`, `Schema`, and
|
|
83
|
-
`observable` from `@microsoft/fast-element`.
|
|
84
|
-
4. Call `enableHydration()` from `@microsoft/fast-element/hydration.js` when
|
|
85
|
-
prerendered content should be hydrated.
|
|
86
|
-
|
|
87
|
-
## `TemplateOptions` removal (v3)
|
|
88
|
-
|
|
89
|
-
### Removed APIs
|
|
90
|
-
|
|
91
|
-
| Removed | Replacement |
|
|
92
|
-
|---|---|
|
|
93
|
-
| `TemplateOptions` | No replacement |
|
|
94
|
-
| `PartialFASTElementDefinition.templateOptions` | No replacement |
|
|
95
|
-
| `FASTElementDefinition.templateOptions` | No replacement |
|
|
96
|
-
|
|
97
|
-
### Changed behavior
|
|
98
|
-
|
|
99
|
-
- `FASTElement.define()` no longer uses `templateOptions` to delay platform
|
|
100
|
-
definition or connection.
|
|
101
|
-
- Elements can still be defined before a template is attached; a later
|
|
102
|
-
`FASTElementDefinition.template` update notifies connected elements so they
|
|
103
|
-
can render or hydrate with the new template.
|
|
104
|
-
|
|
105
|
-
### Migration steps
|
|
106
|
-
|
|
107
|
-
1. Remove `templateOptions` from element definitions.
|
|
108
|
-
2. Continue calling `define({ name })` when a definition needs to exist before
|
|
109
|
-
its template is attached.
|
|
110
|
-
3. If a template is supplied later, assign `FASTElementDefinition.template` (or
|
|
111
|
-
use the declarative runtime that does so for you).
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
## Declarative TemplateElement API removal (v3)
|
|
115
|
-
|
|
116
|
-
### Removed APIs
|
|
117
|
-
|
|
118
|
-
| Removed | Replacement |
|
|
119
|
-
|---|---|
|
|
120
|
-
| `TemplateElement` public export | `declarativeTemplate()` on each FAST element definition |
|
|
121
|
-
| `TemplateElement.define({ name: "f-template" })` | No manual definition; `declarativeTemplate()` defines FAST's internal `<f-template>` publisher in the target registry |
|
|
122
|
-
| `TemplateElement.config(callbacks)` / `HydrationLifecycleCallbacks` | Per-element callbacks via `declarativeTemplate(callbacks)` and global callbacks via `enableHydration(options)` |
|
|
123
|
-
| `TemplateElement.options(...)`, `ElementOptions`, `ElementOptionsDictionary` | Define extensions: `attributeMap(...)` and `observerMap(...)` passed as the second argument to `define()` |
|
|
124
|
-
| `AttributeMap` / `ObserverMap` exports from the old declarative public surface | `attributeMap()` / `observerMap()` extension helpers and their config types |
|
|
125
|
-
|
|
126
|
-
### Migration steps
|
|
127
|
-
|
|
128
|
-
1. Replace manual `<f-template>` registration with `template: declarativeTemplate()`:
|
|
129
|
-
|
|
130
|
-
```typescript
|
|
131
|
-
// Before
|
|
132
|
-
import { TemplateElement } from "@microsoft/fast-element";
|
|
133
|
-
TemplateElement.define({ name: "f-template" });
|
|
134
|
-
|
|
135
|
-
MyElement.define({ name: "my-element" });
|
|
136
|
-
|
|
137
|
-
// After
|
|
138
|
-
import { declarativeTemplate } from "@microsoft/fast-element/declarative.js";
|
|
139
|
-
|
|
140
|
-
MyElement.define({
|
|
141
|
-
name: "my-element",
|
|
142
|
-
template: declarativeTemplate(),
|
|
143
|
-
});
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
2. Replace `TemplateElement.options()` with definition extensions:
|
|
147
|
-
|
|
148
|
-
```typescript
|
|
149
|
-
import { attributeMap } from "@microsoft/fast-element/attribute-map.js";
|
|
150
|
-
import { declarativeTemplate } from "@microsoft/fast-element/declarative.js";
|
|
151
|
-
import { observerMap } from "@microsoft/fast-element/observer-map.js";
|
|
152
|
-
|
|
153
|
-
MyElement.define(
|
|
154
|
-
{
|
|
155
|
-
name: "my-element",
|
|
156
|
-
template: declarativeTemplate(),
|
|
157
|
-
},
|
|
158
|
-
[attributeMap(), observerMap()],
|
|
159
|
-
);
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
`attributeMap()` is imported from
|
|
163
|
-
`@microsoft/fast-element/attribute-map.js` and `observerMap()` from
|
|
164
|
-
`@microsoft/fast-element/observer-map.js` for declarative templates,
|
|
165
|
-
manually supplied schemas, or both. `FASTElementDefinition.schema` is optional;
|
|
166
|
-
`declarativeTemplate()` assigns it automatically, and `observerMap()` can
|
|
167
|
-
take a manual schema with `observerMap({ schema })`.
|
|
168
|
-
|
|
169
|
-
3. Replace `TemplateElement.config()` with `declarativeTemplate(callbacks)` for
|
|
170
|
-
per-element callbacks and `enableHydration(options)` for global hydration
|
|
171
|
-
callbacks. Hydration is not installed by `declarative.js`; call
|
|
172
|
-
`enableHydration()` before elements connect when SSR content should hydrate.
|
|
173
|
-
|
|
174
|
-
## Debug entrypoint explicit enablement (v3)
|
|
175
|
-
|
|
176
|
-
### Import changes
|
|
177
|
-
|
|
178
|
-
| Before | After |
|
|
179
|
-
|---|---|
|
|
180
|
-
| `import "@microsoft/fast-element";` | `import { enableDebug } from "@microsoft/fast-element/debug.js"; enableDebug();` |
|
|
181
|
-
|
|
182
|
-
### Migration steps
|
|
183
|
-
|
|
184
|
-
1. Replace setup-only `debug.js` imports with an explicit `enableDebug()` call.
|
|
185
|
-
2. Keep using the root package `development` export or debug rollup bundle when
|
|
186
|
-
you want debug behavior enabled automatically.
|
|
187
|
-
|
|
188
|
-
## Declarative event handler `e` removal (v3)
|
|
189
|
-
|
|
190
|
-
### Removed behavior
|
|
191
|
-
|
|
192
|
-
| Removed | Replacement |
|
|
193
|
-
|---|---|
|
|
194
|
-
| Bare `e` event arguments in declarative event handlers | `$e` |
|
|
195
|
-
| `TemplateParser.hasDeprecatedEventSyntax` | No replacement |
|
|
196
|
-
|
|
197
|
-
Only `$e` and `$c` are reserved event handler arguments in declarative
|
|
198
|
-
templates. Bare `e` now resolves like any other binding path on the current
|
|
199
|
-
data source.
|
|
200
|
-
|
|
201
|
-
### Migration steps
|
|
202
|
-
|
|
203
|
-
1. Replace declarative event bindings such as
|
|
204
|
-
`@click="{handleClick(e)}"` with `@click="{handleClick($e)}"`.
|
|
205
|
-
2. Remove any `TemplateParser.hasDeprecatedEventSyntax` checks or warnings from
|
|
206
|
-
custom tooling.
|
|
207
|
-
|
|
208
|
-
## Prerendered Content Optimization (v2 → v3)
|
|
209
|
-
|
|
210
|
-
### Removed exports
|
|
211
|
-
|
|
212
|
-
| Export | Replacement |
|
|
213
|
-
|---|---|
|
|
214
|
-
| `HydratableElementController` | `ElementController` (prerendered path built in) |
|
|
215
|
-
| `HydrationControllerCallbacks` | `ElementHydrationCallbacks` via `ElementController.configHydration()` |
|
|
216
|
-
| `needsHydrationAttribute` | `ElementController.isPrerendered` |
|
|
217
|
-
| `deferHydrationAttribute` | Template-pending guard in `ElementController.connect()` |
|
|
218
|
-
|
|
219
|
-
### Removed side-effect imports
|
|
220
|
-
|
|
221
|
-
| Import | Replacement |
|
|
222
|
-
|---|---|
|
|
223
|
-
| `@microsoft/fast-element/install-hydration.js` | No replacement needed — prerendered path is built into `ElementController` |
|
|
224
|
-
|
|
225
|
-
Use `enableHydration()` from `@microsoft/fast-element/hydration.js` when SSR
|
|
226
|
-
content should hydrate. The declarative entrypoint no longer installs hydration
|
|
227
|
-
automatically.
|
|
228
|
-
|
|
229
|
-
### Changed behavior
|
|
230
|
-
|
|
231
|
-
- **`attributeChangedCallback` during upgrade**: When `isPrerendered` is true and the element has not yet connected, attribute change callbacks are suppressed. After connection, all attribute changes are processed normally.
|
|
232
|
-
- **Declarative template resolution**: `declarativeTemplate()` waits for the
|
|
233
|
-
matching `<f-template>` before `define()` completes, so connected elements
|
|
234
|
-
hydrate with a concrete template. No `defer-hydration` attribute is needed.
|
|
235
|
-
- **Binding evaluation with existing shadow root**: When an existing shadow root is detected, `attribute` and `booleanAttribute` bindings skip their initial DOM update. All other binding types (event, content, property, tokenList) run normally.
|
|
236
|
-
|
|
237
|
-
### New APIs
|
|
238
|
-
|
|
239
|
-
- **`ElementController.isPrerendered`** (`Promise<boolean>`): Resolves to `true` after prerendered content has been hydrated, or `false` when the component is client-side rendered. Component authors can await this to know when the element is fully interactive.
|
|
240
|
-
- **`ViewController.isPrerendered`** (`Promise<boolean> | undefined`): Available to custom directives. Resolves to `true` when the view's content was prerendered, `false` otherwise.
|
|
241
|
-
|
|
242
|
-
### Migration steps
|
|
243
|
-
|
|
244
|
-
1. Remove `HydratableElementController.install()` calls.
|
|
245
|
-
2. Remove `import "@microsoft/fast-element/install-hydration.js"` side-effect imports.
|
|
246
|
-
3. Replace `element.$fastController instanceof HydratableElementController` checks with `await element.$fastController.isPrerendered`.
|
|
247
|
-
4. Remove `defer-hydration` and `needs-hydration` attributes from server-rendered markup.
|
|
248
|
-
|
|
249
|
-
## Hydration Marker Format (v3)
|
|
250
|
-
|
|
251
|
-
### Changed format
|
|
252
|
-
|
|
253
|
-
The hydration markers embedded in SSR output have been simplified from verbose, index-embedded comment markers to compact, data-free sequential markers.
|
|
254
|
-
|
|
255
|
-
#### Comment markers
|
|
256
|
-
|
|
257
|
-
| Marker type | Old format | New format |
|
|
258
|
-
|---|---|---|
|
|
259
|
-
| Content binding start | `<!-- fe-b$$start$$<index>$$<scopeId>$$fe-b -->` | `<!--fe:b-->` |
|
|
260
|
-
| Content binding end | `<!-- fe-b$$end$$<index>$$<scopeId>$$fe-b -->` | `<!--fe:/b-->` |
|
|
261
|
-
| Repeat item start | `<!-- fe-repeat$$start$$<itemIndex>$$fe-repeat -->` | `<!--fe:r-->` |
|
|
262
|
-
| Repeat item end | `<!-- fe-repeat$$end$$<itemIndex>$$fe-repeat -->` | `<!--fe:/r-->` |
|
|
263
|
-
| Element boundary start | `<!-- fe-eb$$start$$<elementId>$$fe-eb -->` | `<!--fe:e-->` |
|
|
264
|
-
| Element boundary end | `<!-- fe-eb$$end$$<elementId>$$fe-eb -->` | `<!--fe:/e-->` |
|
|
265
|
-
|
|
266
|
-
#### Attribute binding markers
|
|
267
|
-
|
|
268
|
-
| Old format | New format |
|
|
269
|
-
|---|---|
|
|
270
|
-
| `data-fe-b="0 1 2"` (space-separated indices) | `data-fe="N"` (binding count) |
|
|
271
|
-
| `data-fe-b-0` (enumerated, one per factory) | `data-fe="N"` |
|
|
272
|
-
| `data-fe-c-0-3` (compact, start index + count) | `data-fe="N"` |
|
|
273
|
-
|
|
274
|
-
### Removed APIs
|
|
275
|
-
|
|
276
|
-
| Export | Replacement |
|
|
277
|
-
|---|---|
|
|
278
|
-
| `HydrationMarkup.contentBindingStartMarker(index, scopeId)` | `HydrationMarkup.contentBindingStartMarker()` |
|
|
279
|
-
| `HydrationMarkup.contentBindingEndMarker(index, scopeId)` | `HydrationMarkup.contentBindingEndMarker()` |
|
|
280
|
-
| `HydrationMarkup.isContentBindingStartMarker(data)` | `HydrationMarkup.isContentBindingStartMarker(data)` (unchanged signature, new implementation) |
|
|
281
|
-
| `HydrationMarkup.isContentBindingEndMarker(data)` | `HydrationMarkup.isContentBindingEndMarker(data)` (unchanged signature, new implementation) |
|
|
282
|
-
| `HydrationMarkup.parseAttributeBinding(element)` | `HydrationMarkup.parseAttributeBindingCount(element)` |
|
|
283
|
-
| `HydrationMarkup.parseRepeatStartMarker(data)` | `HydrationMarkup.isRepeatViewStartMarker(data)` |
|
|
284
|
-
| `HydrationMarkup.parseRepeatEndMarker(data)` | `HydrationMarkup.isRepeatViewEndMarker(data)` |
|
|
285
|
-
| `HydrationMarkup.parseElementBoundaryStartMarker(content)` | `HydrationMarkup.isElementBoundaryStartMarker(node)` |
|
|
286
|
-
| `HydrationMarkup.parseElementBoundaryEndMarker(content)` | `HydrationMarkup.isElementBoundaryEndMarker(node)` |
|
|
287
|
-
|
|
288
|
-
### Impact
|
|
289
|
-
|
|
290
|
-
This is a **breaking change** for SSR output format. Any system that produces or parses hydration markers must be updated to use the new format. The `@microsoft/fast-build` Rust crate and WASM binary have been updated accordingly.
|
|
291
|
-
|
|
292
|
-
- Marker parsing uses string equality checks (`data === "fe:b"`) instead of regex
|
|
293
|
-
- Start/end pairing uses balanced depth counting instead of embedded IDs
|
|
294
|
-
- The hydration walker uses a sequential factory pointer instead of index-based lookup
|
|
295
|
-
- SSR and client versions must match — mixing old SSR output with new client code (or vice versa) will fail
|
|
296
|
-
|
|
297
|
-
## Async define/compose/register API (v3)
|
|
298
|
-
|
|
299
|
-
### Removed APIs
|
|
300
|
-
|
|
301
|
-
| Removed | Replacement |
|
|
302
|
-
|---|---|
|
|
303
|
-
| `FASTElement.defineAsync()` | `FASTElement.define()` (now returns `Promise<TType>`) |
|
|
304
|
-
| `FASTElementDefinition.composeAsync()` | `FASTElementDefinition.compose()` (now returns `Promise<FASTElementDefinition>`) |
|
|
305
|
-
| `FASTElementDefinition.registerAsync()` | `FASTElementDefinition.register()` (same `Promise<Function>` return type) |
|
|
306
|
-
|
|
307
|
-
### Changed behavior
|
|
308
|
-
|
|
309
|
-
- **`FASTElement.define()`** now returns `Promise<TType>`. When a concrete
|
|
310
|
-
template is provided at definition time, the Promise resolves immediately.
|
|
311
|
-
When `template: declarativeTemplate()` is used, the Promise resolves after
|
|
312
|
-
the matching `<f-template>` supplies the concrete template.
|
|
313
|
-
- **`FASTElement.compose()`** now returns `Promise<FASTElementDefinition>`. The Promise always resolves immediately.
|
|
314
|
-
- **`FASTElementDefinition.compose()`** now returns `Promise<FASTElementDefinition>`. The Promise always resolves immediately.
|
|
315
|
-
- **`@customElement` decorator** calls `define()` internally but does not return the Promise (fire-and-forget). For complete definitions with a template, the element is registered via a microtask.
|
|
316
|
-
|
|
317
|
-
### Migration steps
|
|
318
|
-
|
|
319
|
-
1. Replace `defineAsync()` calls with `define()`:
|
|
320
|
-
|
|
321
|
-
```typescript
|
|
322
|
-
// Before
|
|
323
|
-
MyElement.defineAsync({
|
|
324
|
-
name: "my-element",
|
|
325
|
-
templateOptions: "defer-and-hydrate",
|
|
326
|
-
});
|
|
327
|
-
|
|
328
|
-
// After
|
|
329
|
-
await MyElement.define({
|
|
330
|
-
name: "my-element",
|
|
331
|
-
template: declarativeTemplate(),
|
|
332
|
-
});
|
|
333
|
-
```
|
|
334
|
-
|
|
335
|
-
2. Replace `composeAsync()` calls with `compose()` and add `await`:
|
|
336
|
-
|
|
337
|
-
```typescript
|
|
338
|
-
// Before
|
|
339
|
-
const def = await FASTElementDefinition.composeAsync(MyElement, name);
|
|
340
|
-
|
|
341
|
-
// After
|
|
342
|
-
const def = await FASTElementDefinition.compose(MyElement, name);
|
|
343
|
-
```
|
|
344
|
-
|
|
345
|
-
3. Replace `registerAsync()` calls with `register()`:
|
|
346
|
-
|
|
347
|
-
```typescript
|
|
348
|
-
// Before
|
|
349
|
-
const el = await FASTElementDefinition.registerAsync(name);
|
|
350
|
-
|
|
351
|
-
// After
|
|
352
|
-
const el = await FASTElementDefinition.register(name);
|
|
353
|
-
```
|
|
354
|
-
|
|
355
|
-
4. Add `await` to `compose()` calls that chain `.define()`:
|
|
356
|
-
|
|
357
|
-
```typescript
|
|
358
|
-
// Before
|
|
359
|
-
FASTElementDefinition.compose(MyElement, options).define();
|
|
360
|
-
|
|
361
|
-
// After
|
|
362
|
-
(await FASTElementDefinition.compose(MyElement, options)).define();
|
|
363
|
-
```
|
|
364
|
-
|
|
365
|
-
## Dynamic stylesheet behaviors (v3)
|
|
366
|
-
|
|
367
|
-
### Removed API
|
|
368
|
-
|
|
369
|
-
| Removed | Replacement |
|
|
370
|
-
|---|---|
|
|
371
|
-
| `ElementStyles.withBehaviors()` | Move the runtime condition into the element and call `this.$fastController.addStyles()` / `this.$fastController.removeStyles()` directly. |
|
|
372
|
-
| `ElementStyles.behaviors` | Move any runtime behavior out of the stylesheet and into the element or controller lifecycle. |
|
|
373
|
-
| CSS bindings in `css` (for example ``css`color: ${x => x.color}```) | Move the dynamic value into the element and update classes, attributes, or inline styles from element code. |
|
|
374
|
-
| `CSSDirective.createCSS(add)` | Update directives to implement `createCSS()` and return only static CSS content. |
|
|
375
|
-
|
|
376
|
-
### Changed behavior
|
|
377
|
-
|
|
378
|
-
- `css` and `css.partial()` no longer compose `HostBehavior`s.
|
|
379
|
-
- `css` no longer accepts function or `Binding` interpolations.
|
|
380
|
-
- `ElementStyles` is now a fully static style container.
|
|
381
|
-
|
|
382
|
-
### Migration steps
|
|
383
|
-
|
|
384
|
-
1. Keep the conditional `ElementStyles` in a separate `css` value.
|
|
385
|
-
2. Move the external listener or condition (for example `matchMedia()` or an app event subscription) into the element lifecycle.
|
|
386
|
-
3. Call `this.$fastController.addStyles(styles)` when the condition is active and `this.$fastController.removeStyles(styles)` when it is inactive or during cleanup.
|
|
387
|
-
4. If you previously interpolated bindings or behavior-producing directives into `css`, replace them with element state and standard DOM or controller updates.
|
package/SIZES.md
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# Export Sizes
|
|
2
|
-
|
|
3
|
-
Bundle sizes for `@microsoft/fast-element` exports.
|
|
4
|
-
|
|
5
|
-
| Export | Minified | Gzip | Brotli |
|
|
6
|
-
|--------|----------|------|--------|
|
|
7
|
-
| CDN Rollup Bundle | 76.36 KB | 22.91 KB | 20.32 KB |
|
|
8
|
-
| FASTElement (@microsoft/fast-element/fast-element.js) | 23.73 KB | 7.38 KB | 6.63 KB |
|
|
9
|
-
| Updates (@microsoft/fast-element/updates.js) | 473 B | 335 B | 288 B |
|
|
10
|
-
| Observable (@microsoft/fast-element/observable.js) | 6.70 KB | 2.50 KB | 2.22 KB |
|
|
11
|
-
| observable (@microsoft/fast-element/observable.js) | 6.74 KB | 2.51 KB | 2.23 KB |
|
|
12
|
-
| attr (@microsoft/fast-element/attr.js) | 477 B | 288 B | 244 B |
|
|
13
|
-
| children (@microsoft/fast-element/children.js) | 4.81 KB | 1.86 KB | 1.64 KB |
|
|
14
|
-
| ref (@microsoft/fast-element/ref.js) | 3.78 KB | 1.52 KB | 1.34 KB |
|
|
15
|
-
| slotted (@microsoft/fast-element/slotted.js) | 4.60 KB | 1.79 KB | 1.58 KB |
|
|
16
|
-
| volatile (@microsoft/fast-element/volatile.js) | 6.79 KB | 2.53 KB | 2.25 KB |
|
|
17
|
-
| when (@microsoft/fast-element/when.js) | 1.82 KB | 712 B | 565 B |
|
|
18
|
-
| html (@microsoft/fast-element/html.js) | 25.92 KB | 8.50 KB | 7.61 KB |
|
|
19
|
-
| repeat (@microsoft/fast-element/repeat.js) | 29.57 KB | 9.41 KB | 8.47 KB |
|
|
20
|
-
| css (@microsoft/fast-element/css.js) | 2.43 KB | 1.00 KB | 911 B |
|
|
21
|
-
| enableHydration (@microsoft/fast-element/hydration.js) | 43.27 KB | 13.22 KB | 11.89 KB |
|
|
22
|
-
| declarativeTemplate (@microsoft/fast-element/declarative.js) | 58.77 KB | 18.46 KB | 16.46 KB |
|
|
23
|
-
| ArrayObserver (@microsoft/fast-element/array-observer.js) | 12.51 KB | 4.45 KB | 4.01 KB |
|
|
24
|
-
| observerMap (@microsoft/fast-element/observer-map.js) | 20.41 KB | 7.26 KB | 6.52 KB |
|
|
25
|
-
| attributeMap (@microsoft/fast-element/attribute-map.js) | 15.78 KB | 5.59 KB | 5.04 KB |
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
|
|
3
|
-
"extends": "../../api-extractor.json",
|
|
4
|
-
"mainEntryPointFilePath": "./dist/dts/arrays.d.ts",
|
|
5
|
-
"dtsRollup": { "enabled": false },
|
|
6
|
-
"apiReport": {
|
|
7
|
-
"enabled": true,
|
|
8
|
-
"reportFolder": "<projectFolder>/docs/arrays",
|
|
9
|
-
"reportFileName": "api-report"
|
|
10
|
-
},
|
|
11
|
-
"docModel": {
|
|
12
|
-
"enabled": true,
|
|
13
|
-
"apiJsonFilePath": "<projectFolder>/dist/arrays/arrays.api.json"
|
|
14
|
-
}
|
|
15
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
|
|
3
|
-
"extends": "../../api-extractor.json",
|
|
4
|
-
"mainEntryPointFilePath": "./dist/dts/context.d.ts",
|
|
5
|
-
"dtsRollup": { "enabled": false },
|
|
6
|
-
"apiReport": {
|
|
7
|
-
"enabled": true,
|
|
8
|
-
"reportFolder": "<projectFolder>/docs/context",
|
|
9
|
-
"reportFileName": "api-report"
|
|
10
|
-
},
|
|
11
|
-
"docModel": {
|
|
12
|
-
"enabled": true,
|
|
13
|
-
"apiJsonFilePath": "<projectFolder>/dist/context/context.api.json"
|
|
14
|
-
}
|
|
15
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
|
|
3
|
-
"extends": "../../api-extractor.json",
|
|
4
|
-
"mainEntryPointFilePath": "./dist/dts/declarative/index.d.ts",
|
|
5
|
-
"dtsRollup": { "enabled": false },
|
|
6
|
-
"apiReport": {
|
|
7
|
-
"enabled": true,
|
|
8
|
-
"reportFolder": "<projectFolder>/docs/declarative",
|
|
9
|
-
"reportFileName": "api-report"
|
|
10
|
-
},
|
|
11
|
-
"docModel": {
|
|
12
|
-
"enabled": true,
|
|
13
|
-
"apiJsonFilePath": "<projectFolder>/dist/declarative/declarative.api.json"
|
|
14
|
-
}
|
|
15
|
-
}
|
package/api-extractor.di.json
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
|
|
3
|
-
"extends": "../../api-extractor.json",
|
|
4
|
-
"mainEntryPointFilePath": "./dist/dts/di/di.d.ts",
|
|
5
|
-
"dtsRollup": { "enabled": false },
|
|
6
|
-
"apiReport": {
|
|
7
|
-
"enabled": true,
|
|
8
|
-
"reportFolder": "<projectFolder>/docs/di",
|
|
9
|
-
"reportFileName": "api-report"
|
|
10
|
-
},
|
|
11
|
-
"docModel": {
|
|
12
|
-
"enabled": true,
|
|
13
|
-
"apiJsonFilePath": "<projectFolder>/dist/di/di.api.json"
|
|
14
|
-
}
|
|
15
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
|
|
3
|
-
"extends": "../../api-extractor.json",
|
|
4
|
-
"mainEntryPointFilePath": "./dist/dts/hydration.d.ts",
|
|
5
|
-
"dtsRollup": { "enabled": false },
|
|
6
|
-
"apiReport": {
|
|
7
|
-
"enabled": true,
|
|
8
|
-
"reportFolder": "<projectFolder>/docs/hydration",
|
|
9
|
-
"reportFileName": "api-report"
|
|
10
|
-
},
|
|
11
|
-
"docModel": {
|
|
12
|
-
"enabled": true,
|
|
13
|
-
"apiJsonFilePath": "<projectFolder>/dist/hydration/hydration.api.json"
|
|
14
|
-
}
|
|
15
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
|
|
3
|
-
"extends": "../../api-extractor.json",
|
|
4
|
-
"mainEntryPointFilePath": "./dist/dts/styles.d.ts",
|
|
5
|
-
"dtsRollup": { "enabled": false },
|
|
6
|
-
"apiReport": {
|
|
7
|
-
"enabled": true,
|
|
8
|
-
"reportFolder": "<projectFolder>/docs/styles",
|
|
9
|
-
"reportFileName": "api-report"
|
|
10
|
-
},
|
|
11
|
-
"docModel": {
|
|
12
|
-
"enabled": true,
|
|
13
|
-
"apiJsonFilePath": "<projectFolder>/dist/styles/styles.api.json"
|
|
14
|
-
}
|
|
15
|
-
}
|
package/biome.json
DELETED
package/docs/ACKNOWLEDGEMENTS.md
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
# Acknowledgements
|
|
2
|
-
|
|
3
|
-
There are many great open source projects that have inspired us and enabled us to build FAST. Below are a few that stand out.
|
|
4
|
-
|
|
5
|
-
* [.NET](https://dotnet.microsoft.com/) - Many thanks to the .NET team for sharing their policies and practices upon which our issue management and release planning docs and practices were based.
|
|
6
|
-
* [asap](https://github.com/kriskowal/asap) - An awesome, time-tested async task queue implementation that heavily inspired our DOM update system.
|
|
7
|
-
* [Aurelia 1 and Aurelia 2](https://aurelia.io/) - Various details of Aurelia 2's decorator and metadata model inspired us in the design of `fast-element`. Additionally, Aurelia 1's mechanisms for array observation, binding, and template compilation also guided us in our work.
|
|
8
|
-
* [faastjs](https://github.com/faastjs) - A project with a similar name but a very different purpose. Their API documentation approach leveraging [api-extractor](https://api-extractor.com/) was a huge help to us.
|
|
9
|
-
* [Knockout](https://knockoutjs.com/) - One of the first JavaScript libraries (if not the first) to implement an observer system. The original techniques for observables and computed observables have influenced many libraries over the years. Re-interpreting these ideas in terms of modern JavaScript and DOM has helped us to build a powerful and robust system.
|
|
10
|
-
* [lit-html](https://lit-html.polymer-project.org/) - One of the first libraries to leverage standard JavaScript tagged template literals for HTML templates. We were inspired by this technique and wanted to explore whether it could be combined with our idea of arrow function binding expressions.
|
|
11
|
-
* [Polymer](https://www.polymer-project.org/) - One of the first libraries (if not the first) to embrace Web Components.
|
|
12
|
-
* [Vue](https://vuejs.org/) - We liked the terseness of the `:` and `@` syntax in templates, so we adapted it along with some modifications in our templates.
|