@ng-doc/builder 22.0.0-beta.1 → 22.0.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.
- package/README.md +19 -28
- package/application/index.js +7 -2
- package/application/index.js.map +1 -1
- package/application/schema.json +11 -4
- package/builders.json +23 -13
- package/classes/observable-map.d.ts +1 -0
- package/classes/observable-map.js +14 -3
- package/classes/observable-map.js.map +1 -1
- package/classes/observable-set.js +2 -1
- package/classes/observable-set.js.map +1 -1
- package/dev-server/index.js +5 -3
- package/dev-server/index.js.map +1 -1
- package/engine/build-ng-doc.js +1 -16
- package/engine/build-ng-doc.js.map +1 -1
- package/engine/builders/api-list/api-list-component.builder.js +4 -4
- package/engine/builders/api-list/api-list-component.builder.js.map +1 -1
- package/engine/builders/api-list/api-page-template.builder.js +2 -2
- package/engine/builders/api-list/api-page-template.builder.js.map +1 -1
- package/engine/builders/global/keywords.builder.d.ts +1 -4
- package/engine/builders/global/keywords.builder.js +5 -9
- package/engine/builders/global/keywords.builder.js.map +1 -1
- package/engine/builders/global/search-indexes.builder.js +1 -1
- package/engine/builders/global/search-indexes.builder.js.map +1 -1
- package/engine/builders/helpers/create-entry-metadata.js +2 -1
- package/engine/builders/helpers/create-entry-metadata.js.map +1 -1
- package/engine/builders/helpers/create-import-path.js.map +1 -1
- package/engine/builders/helpers/get-entry-relative-path.js.map +1 -1
- package/engine/builders/page/demo-assets.builder.js +8 -5
- package/engine/builders/page/demo-assets.builder.js.map +1 -1
- package/engine/builders/page/playground.builder.js +1 -0
- package/engine/builders/page/playground.builder.js.map +1 -1
- package/engine/builders/shared/content.builder.js +3 -3
- package/engine/builders/shared/content.builder.js.map +1 -1
- package/engine/builders/shared/entry.builder.js +1 -13
- package/engine/builders/shared/entry.builder.js.map +1 -1
- package/engine/builders/shared/page-component.builder.js +16 -6
- package/engine/builders/shared/page-component.builder.js.map +1 -1
- package/engine/builders/shared/page-wrapper.builder.js +8 -5
- package/engine/builders/shared/page-wrapper.builder.js.map +1 -1
- package/engine/core/operators/distinct-pending.js.map +1 -1
- package/engine/core/operators/entries-emitter.js +2 -6
- package/engine/core/operators/entries-emitter.js.map +1 -1
- package/engine/core/operators/factory.js +1 -4
- package/engine/core/operators/factory.js.map +1 -1
- package/engine/core/operators/merge-factory.js +19 -17
- package/engine/core/operators/merge-factory.js.map +1 -1
- package/engine/core/operators/when-builders-done.js.map +1 -1
- package/engine/core/stores/index.d.ts +0 -1
- package/engine/core/stores/index.js +0 -1
- package/engine/core/stores/index.js.map +1 -1
- package/engine/core/triggers/on-dependencies-change.d.ts +1 -1
- package/engine/core/triggers/on-dependencies-change.js +2 -2
- package/engine/core/triggers/on-dependencies-change.js.map +1 -1
- package/engine/core/watcher/watch.js +19 -1
- package/engine/core/watcher/watch.js.map +1 -1
- package/engine/variables.d.ts +1 -0
- package/engine/variables.js +1 -0
- package/engine/variables.js.map +1 -1
- package/generator/artifacts/index.d.ts +317 -0
- package/generator/bootstrap/bin.d.ts +18 -0
- package/generator/bootstrap/bin.js +7274 -0
- package/generator/bootstrap/candidate-output-committer.d.ts +12 -0
- package/generator/bootstrap/cli.d.ts +42 -0
- package/generator/bootstrap/cli.js +7123 -0
- package/generator/bootstrap/constants.d.ts +4 -0
- package/generator/bootstrap/index.d.ts +111 -0
- package/generator/bootstrap/index.js +5020 -0
- package/generator/bootstrap/prerender-command.d.ts +31 -0
- package/generator/bootstrap/process-tree.d.ts +49 -0
- package/generator/build-metafile.json +11701 -0
- package/generator/build-provenance.json +119 -0
- package/generator/compiler/assemble.d.ts +41 -0
- package/generator/compiler/classify.d.ts +161 -0
- package/generator/compiler/closure-store.d.ts +55 -0
- package/generator/compiler/common.d.ts +32 -0
- package/generator/compiler/describe.d.ts +21 -0
- package/generator/compiler/dry-run.d.ts +108 -0
- package/generator/compiler/fast-start.d.ts +104 -0
- package/generator/compiler/fold.d.ts +116 -0
- package/generator/compiler/index.d.ts +111 -0
- package/generator/compiler/index.js +17759 -0
- package/generator/compiler/link.d.ts +38 -0
- package/generator/compiler/memo.d.ts +44 -0
- package/generator/compiler/plan.d.ts +92 -0
- package/generator/compiler/progress.d.ts +54 -0
- package/generator/compiler/render.d.ts +27 -0
- package/generator/compiler/retention.d.ts +181 -0
- package/generator/compiler/semantic-closure.d.ts +46 -0
- package/generator/compiler/targeted.d.ts +280 -0
- package/generator/content/content-compiler.d.ts +118 -0
- package/generator/content/highlight-cache.d.ts +139 -0
- package/generator/content/html-pipeline.d.ts +170 -0
- package/generator/content/html-pool.d.ts +239 -0
- package/generator/content/html-worker.js +1598 -0
- package/generator/content-module-ids.d.ts +8 -0
- package/generator/contracts.d.ts +1063 -0
- package/generator/contracts.js +15 -0
- package/generator/discovery/index.d.ts +77 -0
- package/generator/graph/index.d.ts +211 -0
- package/generator/graph/unit-index.d.ts +216 -0
- package/generator/kernel/canonical.d.ts +57 -0
- package/generator/kernel/flags.d.ts +49 -0
- package/generator/kernel/footprint.d.ts +88 -0
- package/generator/kernel/observations.d.ts +68 -0
- package/generator/kernel/paths.d.ts +22 -0
- package/generator/kernel/runtime-identity.d.ts +11 -0
- package/generator/outputs/index.d.ts +67 -0
- package/generator/package.json +3 -0
- package/generator/progress/ci.d.ts +22 -0
- package/generator/progress/detect.d.ts +60 -0
- package/generator/progress/events.d.ts +126 -0
- package/generator/progress/format.d.ts +83 -0
- package/generator/progress/gate.d.ts +49 -0
- package/generator/progress/host.d.ts +29 -0
- package/generator/progress/lines.d.ts +42 -0
- package/generator/progress/live.d.ts +115 -0
- package/generator/progress/model.d.ts +85 -0
- package/generator/progress/reporter.d.ts +87 -0
- package/generator/progress/settings.d.ts +60 -0
- package/generator/semantic/angular.d.ts +9 -0
- package/generator/semantic/api-enumeration.d.ts +19 -0
- package/generator/semantic/api-summary.d.ts +33 -0
- package/generator/semantic/dependencies.d.ts +20 -0
- package/generator/semantic/derived-classes.d.ts +58 -0
- package/generator/semantic/documentation-cache.d.ts +23 -0
- package/generator/semantic/fragments.d.ts +28 -0
- package/generator/semantic/owned-roots.d.ts +59 -0
- package/generator/semantic/program-builder.d.ts +55 -0
- package/generator/semantic/program-index.d.ts +124 -0
- package/generator/semantic/program-inputs.d.ts +26 -0
- package/generator/semantic/program-observations.d.ts +158 -0
- package/generator/semantic/program-retention.d.ts +147 -0
- package/generator/semantic/program-state.d.ts +196 -0
- package/generator/semantic/program-verify.d.ts +22 -0
- package/generator/semantic/recorder.d.ts +89 -0
- package/generator/semantic/rendering.d.ts +34 -0
- package/generator/semantic/semantic-closure.d.ts +129 -0
- package/generator/semantic/semantic-service.d.ts +186 -0
- package/generator/semantic/type-text.d.ts +5 -0
- package/generator/session/build-session.d.ts +206 -0
- package/generator/session/input-verification.d.ts +38 -0
- package/generator/session/parcel-event-source.d.ts +22 -0
- package/generator/session/progress.d.ts +72 -0
- package/generator/session/unchanged-saves.d.ts +63 -0
- package/generator/session/watch-inputs.d.ts +6 -0
- package/generator/session/watch-signals.d.ts +10 -0
- package/generator/templates/api/base.html.nunj +26 -0
- package/generator/templates/api/class-declaration.html.nunj +57 -0
- package/generator/templates/api/details/class-declaration.html.nunj +47 -0
- package/generator/templates/api/details/enum-declaration.html.nunj +0 -0
- package/generator/templates/api/details/function-declaration.html.nunj +14 -0
- package/generator/templates/api/details/helpers/decorators.html.nunj +14 -0
- package/generator/templates/api/details/helpers/extends.html.nunj +6 -0
- package/generator/templates/api/details/helpers/selectors.html.nunj +12 -0
- package/generator/templates/api/details/helpers/type-parameters.html.nunj +14 -0
- package/generator/templates/api/details/interface-declaration.html.nunj +27 -0
- package/generator/templates/api/details/type-alias-declaration.html.nunj +14 -0
- package/generator/templates/api/details/variable-declaration.html.nunj +0 -0
- package/generator/templates/api/details.html.nunj +9 -0
- package/generator/templates/api/enum-declaration.html.nunj +12 -0
- package/generator/templates/api/function-declaration.html.nunj +35 -0
- package/generator/templates/api/interface-declaration.html.nunj +37 -0
- package/generator/templates/api/type-alias-declaration.html.nunj +16 -0
- package/generator/templates/api/variable-declaration.html.nunj +8 -0
- package/generator/templates/api-header.html.nunj +11 -0
- package/generator/templates/api-list.ts.nunj +22 -0
- package/generator/templates/api-page-content.html.nunj +1 -0
- package/generator/templates/api-scope.ts.nunj +22 -0
- package/generator/templates/category.ts.nunj +22 -0
- package/generator/templates/code.html.nunj +3 -0
- package/generator/templates/context.ts.nunj +55 -0
- package/generator/templates/demo-assets.ts.nunj +25 -0
- package/generator/templates/helpers/accessor.html.nunj +76 -0
- package/generator/templates/helpers/accessors.html.nunj +7 -0
- package/generator/templates/helpers/badge.html.nunj +4 -0
- package/generator/templates/helpers/call-signature.html.nunj +70 -0
- package/generator/templates/helpers/code.html.nunj +3 -0
- package/generator/templates/helpers/constructor.html.nunj +32 -0
- package/generator/templates/helpers/declaration-modifiers.html.nunj +45 -0
- package/generator/templates/helpers/decorators.html.nunj +11 -0
- package/generator/templates/helpers/members.html.nunj +29 -0
- package/generator/templates/helpers/method.html.nunj +89 -0
- package/generator/templates/helpers/methods.html.nunj +7 -0
- package/generator/templates/helpers/modifier.html.nunj +4 -0
- package/generator/templates/helpers/no-content.html.nunj +3 -0
- package/generator/templates/helpers/overload.html.nunj +57 -0
- package/generator/templates/helpers/parameters.html.nunj +44 -0
- package/generator/templates/helpers/properties.html.nunj +61 -0
- package/generator/templates/helpers/status.html.nunj +33 -0
- package/generator/templates/helpers/tag.html.nunj +4 -0
- package/generator/templates/helpers/type.html.nunj +11 -0
- package/generator/templates/index.ts.nunj +2 -0
- package/generator/templates/page-header.html.nunj +5 -0
- package/generator/templates/page-wrapper.ts.nunj +64 -0
- package/generator/templates/page.ts.nunj +97 -0
- package/generator/templates/parts/examples.html.nunj +11 -0
- package/generator/templates/parts/member-examples.html.nunj +12 -0
- package/generator/templates/parts/member-remarks.html.nunj +8 -0
- package/generator/templates/parts/page-tags.html.nunj +10 -0
- package/generator/templates/parts/remarks.html.nunj +10 -0
- package/generator/templates/parts/see-also.html.nunj +23 -0
- package/generator/templates/parts/usage-notes.html.nunj +8 -0
- package/generator/templates/playgrounds.ts.nunj +63 -0
- package/generator/templates/routes.ts.nunj +49 -0
- package/generator/templates/symbol/decorators.html.nunj +12 -0
- package/generator/templates/symbol/details.html.nunj +62 -0
- package/generator/templates/symbol/extended-by.html.nunj +17 -0
- package/generator/templates/symbol/header.html.nunj +22 -0
- package/generator/templates/symbol/members.html.nunj +301 -0
- package/generator/templates/symbol/page.html.nunj +76 -0
- package/generator/templates/symbol/see-also.html.nunj +16 -0
- package/generator/vite/angular/ANALOG-LICENSE +21 -0
- package/generator/vite/angular/analog-provenance.json +880 -0
- package/generator/vite/angular/index.d.ts +14 -0
- package/generator/vite/angular/index.js +7300 -0
- package/generator/vite/angular-compatibility.d.ts +6 -0
- package/generator/vite/angular-composition.d.ts +68 -0
- package/generator/vite/angular-version.d.ts +38 -0
- package/generator/vite/application-builder.js +331 -0
- package/generator/vite/application-builder.schema.json +46 -0
- package/generator/vite/application.d.ts +91 -0
- package/generator/vite/assets.d.ts +11 -0
- package/generator/vite/bounded-close.d.ts +33 -0
- package/generator/vite/component-updates.d.ts +21 -0
- package/generator/vite/configuration.d.ts +3 -0
- package/generator/vite/dev-server-builder.js +334 -0
- package/generator/vite/dev-server-builder.schema.json +27 -0
- package/generator/vite/dev-styles.d.ts +65 -0
- package/generator/vite/diagnostics.d.ts +4 -0
- package/generator/vite/external-probes.d.ts +40 -0
- package/generator/vite/host-updates.d.ts +145 -0
- package/generator/vite/index.d.ts +13 -0
- package/generator/vite/index.js +11589 -0
- package/generator/vite/lease.d.ts +6 -0
- package/generator/vite/lifecycle.d.ts +119 -0
- package/generator/vite/mime.d.ts +2 -0
- package/generator/vite/missing-paths.d.ts +44 -0
- package/generator/vite/options.d.ts +87 -0
- package/generator/vite/output-watch.d.ts +41 -0
- package/generator/vite/paths.d.ts +7 -0
- package/generator/vite/plugin.d.ts +3 -0
- package/generator/vite/prerender-entry.js +395 -0
- package/generator/vite/prerender-runtime.d.ts +66 -0
- package/generator/vite/prerender.d.ts +27 -0
- package/generator/vite/production.d.ts +66 -0
- package/generator/vite/progress.d.ts +33 -0
- package/generator/vite/restore-theme.js +13 -0
- package/generator/vite/route-inventory.d.ts +24 -0
- package/generator/vite/ssr-renderer-control.d.ts +1 -0
- package/generator/vite/ssr-renderer-entry.js +444 -0
- package/generator/vite/ssr-renderer-protocol.d.ts +101 -0
- package/generator/vite/ssr-renderer.d.ts +74 -0
- package/generator/vite/theme-index.d.ts +13 -0
- package/generator/vite/tsconfig-paths.d.ts +64 -0
- package/generator/vite/vite-event-source.d.ts +198 -0
- package/generator/vite/vite-version.d.ts +26 -0
- package/generator/vite/watch-inputs.d.ts +39 -0
- package/generator/worker/entry.d.ts +1 -0
- package/generator/worker/entry.js +614 -0
- package/generator/worker/index.d.ts +156 -0
- package/generator/worker/index.js +1030 -0
- package/generator/worker/protocol.d.ts +160 -0
- package/helpers/angular/get-component-decorator.js +6 -6
- package/helpers/angular/get-component-decorator.js.map +1 -1
- package/helpers/angular/get-directive-decorator.js +3 -3
- package/helpers/angular/get-directive-decorator.js.map +1 -1
- package/helpers/angular/get-pipe-decorator.js +3 -3
- package/helpers/angular/get-pipe-decorator.js.map +1 -1
- package/helpers/build-indexes.js +5 -2
- package/helpers/build-indexes.js.map +1 -1
- package/helpers/construct-page-keyword.js +2 -1
- package/helpers/construct-page-keyword.js.map +1 -1
- package/helpers/extract-selectors.d.ts +1 -1
- package/helpers/extract-selectors.js +5 -3
- package/helpers/extract-selectors.js.map +1 -1
- package/helpers/filter-useless-members.d.ts +1 -1
- package/helpers/format-code.d.ts +2 -1
- package/helpers/format-code.js +13 -4
- package/helpers/format-code.js.map +1 -1
- package/helpers/import-fresh-esm.js.map +1 -1
- package/helpers/index.d.ts +2 -0
- package/helpers/index.js +2 -0
- package/helpers/index.js.map +1 -1
- package/helpers/keyword-heading-title.d.ts +7 -0
- package/helpers/keyword-heading-title.js +21 -0
- package/helpers/keyword-heading-title.js.map +1 -0
- package/helpers/markdown-to-html.js +3 -3
- package/helpers/markdown-to-html.js.map +1 -1
- package/helpers/navigation-title-order.d.ts +8 -0
- package/helpers/navigation-title-order.js +15 -0
- package/helpers/navigation-title-order.js.map +1 -0
- package/helpers/playground/get-playground-inputs.js +8 -4
- package/helpers/playground/get-playground-inputs.js.map +1 -1
- package/helpers/playground/get-playground-template-inputs.js +2 -1
- package/helpers/playground/get-playground-template-inputs.js.map +1 -1
- package/helpers/presentation.d.ts +7 -7
- package/helpers/presentation.js +23 -23
- package/helpers/presentation.js.map +1 -1
- package/helpers/print.js +32 -5
- package/helpers/print.js.map +1 -1
- package/helpers/process-snippets.d.ts +1 -1
- package/helpers/process-snippets.js +3 -3
- package/helpers/process-snippets.js.map +1 -1
- package/helpers/snippets-from-asset.d.ts +1 -1
- package/helpers/snippets-from-asset.js +2 -2
- package/helpers/snippets-from-asset.js.map +1 -1
- package/helpers/sort-navigation-entities.js +2 -1
- package/helpers/sort-navigation-entities.js.map +1 -1
- package/helpers/stable-generated-id.d.ts +2 -0
- package/helpers/stable-generated-id.js +12 -0
- package/helpers/stable-generated-id.js.map +1 -0
- package/helpers/text-order.d.ts +8 -0
- package/helpers/text-order.js +26 -0
- package/helpers/text-order.js.map +1 -0
- package/helpers/typescript/member/get-inherited-parent.d.ts +1 -1
- package/helpers/typescript/member/get-inherited-parent.js +2 -2
- package/helpers/typescript/member/get-inherited-parent.js.map +1 -1
- package/helpers/typescript/node/sort-by-nodes-name.d.ts +4 -2
- package/helpers/typescript/node/sort-by-nodes-name.js +6 -3
- package/helpers/typescript/node/sort-by-nodes-name.js.map +1 -1
- package/helpers/typescript/property/get-property-assignment.js.map +1 -1
- package/interfaces/schema.d.ts +1 -0
- package/package.json +87 -30
- package/parsers/helpers/number.d.ts +1 -1
- package/parsers/helpers/number.js +2 -2
- package/parsers/helpers/number.js.map +1 -1
- package/parsers/helpers/param-value.d.ts +1 -1
- package/parsers/helpers/param-value.js +2 -2
- package/parsers/helpers/param-value.js.map +1 -1
- package/parsers/helpers/param.js +3 -3
- package/parsers/helpers/param.js.map +1 -1
- package/parsers/parse-code-block-params.d.ts +1 -1
- package/parsers/parse-code-block-params.js +22 -16
- package/parsers/parse-code-block-params.js.map +1 -1
- package/parsers/parse-snippet.js +10 -10
- package/parsers/parse-snippet.js.map +1 -1
- package/schematics/collection.json +34 -23
- package/schematics/migrate-to-vite/analyze.d.ts +76 -0
- package/schematics/migrate-to-vite/analyze.js +816 -0
- package/schematics/migrate-to-vite/analyze.js.map +1 -0
- package/schematics/migrate-to-vite/index.d.ts +9 -0
- package/schematics/migrate-to-vite/index.js +585 -0
- package/schematics/migrate-to-vite/index.js.map +1 -0
- package/schematics/migrate-to-vite/legacy-folder.d.ts +84 -0
- package/schematics/migrate-to-vite/legacy-folder.js +340 -0
- package/schematics/migrate-to-vite/legacy-folder.js.map +1 -0
- package/schematics/migrate-to-vite/report.d.ts +32 -0
- package/schematics/migrate-to-vite/report.js +97 -0
- package/schematics/migrate-to-vite/report.js.map +1 -0
- package/schematics/migrate-to-vite/schema.d.ts +13 -0
- package/schematics/migrate-to-vite/schema.js +3 -0
- package/schematics/migrate-to-vite/schema.js.map +1 -0
- package/schematics/migrate-to-vite/schema.json +31 -0
- package/schematics/migrate-to-vite/setup/dependencies.d.ts +64 -0
- package/schematics/migrate-to-vite/setup/dependencies.js +183 -0
- package/schematics/migrate-to-vite/setup/dependencies.js.map +1 -0
- package/schematics/migrate-to-vite/setup/index.d.ts +6 -0
- package/schematics/migrate-to-vite/setup/index.js +13 -0
- package/schematics/migrate-to-vite/setup/index.js.map +1 -0
- package/schematics/migrate-to-vite/setup/json-file.d.ts +51 -0
- package/schematics/migrate-to-vite/setup/json-file.js +115 -0
- package/schematics/migrate-to-vite/setup/json-file.js.map +1 -0
- package/schematics/migrate-to-vite/setup/source.d.ts +30 -0
- package/schematics/migrate-to-vite/setup/source.js +202 -0
- package/schematics/migrate-to-vite/setup/source.js.map +1 -0
- package/schematics/migrate-to-vite/setup/targets.d.ts +51 -0
- package/schematics/migrate-to-vite/setup/targets.js +48 -0
- package/schematics/migrate-to-vite/setup/targets.js.map +1 -0
- package/schematics/migrate-to-vite/setup/vite-config.d.ts +100 -0
- package/schematics/migrate-to-vite/setup/vite-config.js +175 -0
- package/schematics/migrate-to-vite/setup/vite-config.js.map +1 -0
- package/schematics/migrate-to-vite/setup/workspace.d.ts +100 -0
- package/schematics/migrate-to-vite/setup/workspace.js +225 -0
- package/schematics/migrate-to-vite/setup/workspace.js.map +1 -0
- package/schematics/migrate-to-vite/state.d.ts +65 -0
- package/schematics/migrate-to-vite/state.js +92 -0
- package/schematics/migrate-to-vite/state.js.map +1 -0
- package/schematics/migrate-to-vite/testing/fixtures.d.ts +18 -0
- package/schematics/migrate-to-vite/testing/fixtures.js +279 -0
- package/schematics/migrate-to-vite/testing/fixtures.js.map +1 -0
- package/schematics/migrate-to-vite/update-note.d.ts +6 -0
- package/schematics/migrate-to-vite/update-note.js +23 -0
- package/schematics/migrate-to-vite/update-note.js.map +1 -0
- package/schematics/migration.json +5 -0
- package/schematics/migrations/standalone-pages/index.js +7 -6
- package/schematics/migrations/standalone-pages/index.js.map +1 -1
- package/schematics/vite-setup/index.d.ts +20 -0
- package/schematics/vite-setup/index.js +206 -0
- package/schematics/vite-setup/index.js.map +1 -0
- package/schematics/vite-setup/schema.d.ts +7 -0
- package/schematics/vite-setup/schema.js +3 -0
- package/schematics/vite-setup/schema.js.map +1 -0
- package/schematics/vite-setup/schema.json +19 -0
- package/scripts/restore-theme.js +9 -2
- package/templates/context.ts.nunj +3 -0
- package/templates/helpers/badge.html.nunj +1 -1
- package/templates/helpers/status.html.nunj +4 -8
- package/templates/page-wrapper.ts.nunj +24 -1
- package/templates/page.ts.nunj +25 -0
- package/templates/parts/page-tags.html.nunj +1 -1
- package/templates/playgrounds.ts.nunj +8 -9
- package/templates/routes.ts.nunj +6 -1
- package/templates/symbol/decorators.html.nunj +12 -0
- package/templates/symbol/details.html.nunj +62 -0
- package/templates/symbol/extended-by.html.nunj +17 -0
- package/templates/symbol/header.html.nunj +22 -0
- package/templates/symbol/members.html.nunj +301 -0
- package/templates/symbol/page.html.nunj +76 -0
- package/templates/symbol/see-also.html.nunj +16 -0
- package/engine/.cache/apps/ng-doc/docs/api-documentation/auto-generation/ng-doc.page.mjs +0 -20
- package/engine/.cache/apps/ng-doc/docs/api-documentation/documenting-declarations/ng-doc.page.mjs +0 -20
- package/engine/.cache/apps/ng-doc/docs/api-documentation/rendering-api/ng-doc.page.mjs +0 -19
- package/engine/.cache/apps/ng-doc/docs/customization/icons/ng-doc.page.mjs +0 -19
- package/engine/.cache/apps/ng-doc/docs/customization/layout/ng-doc.page.mjs +0 -19
- package/engine/.cache/apps/ng-doc/docs/customization/page-processors/ng-doc.page.mjs +0 -19
- package/engine/.cache/apps/ng-doc/docs/customization/page-skeleton/ng-doc.page.mjs +0 -19
- package/engine/.cache/apps/ng-doc/docs/customization/search/ng-doc.page.mjs +0 -19
- package/engine/.cache/apps/ng-doc/docs/customization/themes/ng-doc.page.mjs +0 -19
- package/engine/.cache/apps/ng-doc/docs/develop/ng-doc.page.mjs +0 -36
- package/engine/.cache/apps/ng-doc/docs/getting-started/configuration/ng-doc.page.mjs +0 -19
- package/engine/.cache/apps/ng-doc/docs/getting-started/installation/ng-doc.page.mjs +0 -19
- package/engine/.cache/apps/ng-doc/docs/getting-started/migrations/ng-doc.page.mjs +0 -18
- package/engine/.cache/apps/ng-doc/docs/getting-started/ssr/ng-doc.page.mjs +0 -19
- package/engine/.cache/apps/ng-doc/docs/getting-started/what-is-ng-doc/ng-doc.page.mjs +0 -19
- package/engine/.cache/apps/ng-doc/docs/ng-doc.api.mjs +0 -42
- package/engine/.cache/apps/ng-doc/docs/recipes/ignoring-file-lines/ng-doc.page.mjs +0 -18
- package/engine/.cache/apps/ng-doc/docs/recipes/performance/ng-doc.page.mjs +0 -19
- package/engine/.cache/apps/ng-doc/docs/writing-content/blockquotes/ng-doc.page.mjs +0 -18
- package/engine/.cache/apps/ng-doc/docs/writing-content/code-blocks/ng-doc.page.mjs +0 -18
- package/engine/.cache/apps/ng-doc/docs/writing-content/demo-and-demo-pane/ng-doc.page.mjs +0 -19
- package/engine/.cache/apps/ng-doc/docs/writing-content/images-videos-and-embeds/ng-doc.page.mjs +0 -18
- package/engine/.cache/apps/ng-doc/docs/writing-content/keywords/ng-doc.page.mjs +0 -17
- package/engine/.cache/apps/ng-doc/docs/writing-content/mermaid-diagrams/ng-doc.page.mjs +0 -18
- package/engine/.cache/apps/ng-doc/docs/writing-content/nunjucks/ng-doc.page.mjs +0 -18
- package/engine/.cache/apps/ng-doc/docs/writing-content/pages-and-categories/ng-doc.page.mjs +0 -18
- package/engine/.cache/apps/ng-doc/docs/writing-content/playground/ng-doc.page.mjs +0 -33
- package/engine/core/stores/entry-status.d.ts +0 -23
- package/engine/core/stores/entry-status.js +0 -36
- package/engine/core/stores/entry-status.js.map +0 -1
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CONTENT_READY_IMPORT = void 0;
|
|
4
|
+
exports.findRootComponent = findRootComponent;
|
|
5
|
+
exports.serverEntryNgModule = serverEntryNgModule;
|
|
6
|
+
exports.wrapServerEntry = wrapServerEntry;
|
|
7
|
+
const tslib_1 = require("tslib");
|
|
8
|
+
const path_1 = require("path");
|
|
9
|
+
const ts = tslib_1.__importStar(require("typescript"));
|
|
10
|
+
function parse(file, text) {
|
|
11
|
+
return ts.createSourceFile(file, text, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
|
|
12
|
+
}
|
|
13
|
+
/** Resolves a relative module specifier to a `.ts` file of the tree, or undefined. */
|
|
14
|
+
function resolveModule(tree, from, specifier) {
|
|
15
|
+
if (!specifier.startsWith('.'))
|
|
16
|
+
return undefined;
|
|
17
|
+
const base = path_1.posix.join(path_1.posix.dirname(from), specifier);
|
|
18
|
+
return [`${base}.ts`, path_1.posix.join(base, 'index.ts'), base].find((candidate) => candidate.endsWith('.ts') && tree.exists(candidate));
|
|
19
|
+
}
|
|
20
|
+
/** The file that declares an identifier imported (or declared) in a source file. */
|
|
21
|
+
function declarationFile(tree, file, source, name) {
|
|
22
|
+
for (const statement of source.statements) {
|
|
23
|
+
if (ts.isClassDeclaration(statement) && statement.name?.text === name)
|
|
24
|
+
return file;
|
|
25
|
+
if (!ts.isImportDeclaration(statement) || !ts.isStringLiteral(statement.moduleSpecifier)) {
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
const bindings = statement.importClause?.namedBindings;
|
|
29
|
+
const named = bindings && ts.isNamedImports(bindings)
|
|
30
|
+
? bindings.elements.some((element) => element.name.text === name)
|
|
31
|
+
: false;
|
|
32
|
+
if (named || statement.importClause?.name?.text === name) {
|
|
33
|
+
return resolveModule(tree, file, statement.moduleSpecifier.text);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
function findCall(source, names) {
|
|
39
|
+
let found;
|
|
40
|
+
const visit = (node) => {
|
|
41
|
+
if (found)
|
|
42
|
+
return;
|
|
43
|
+
if (ts.isCallExpression(node)) {
|
|
44
|
+
const callee = node.expression;
|
|
45
|
+
const name = ts.isIdentifier(callee)
|
|
46
|
+
? callee.text
|
|
47
|
+
: ts.isPropertyAccessExpression(callee)
|
|
48
|
+
? callee.name.text
|
|
49
|
+
: undefined;
|
|
50
|
+
if (name && names.includes(name)) {
|
|
51
|
+
found = node;
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
ts.forEachChild(node, visit);
|
|
56
|
+
};
|
|
57
|
+
visit(source);
|
|
58
|
+
return found;
|
|
59
|
+
}
|
|
60
|
+
/** The first identifier of `bootstrap: [...]` in an `@NgModule` of the file. */
|
|
61
|
+
function moduleBootstrapComponent(source) {
|
|
62
|
+
let found;
|
|
63
|
+
const visit = (node) => {
|
|
64
|
+
if (found)
|
|
65
|
+
return;
|
|
66
|
+
if (ts.isPropertyAssignment(node) &&
|
|
67
|
+
ts.isIdentifier(node.name) &&
|
|
68
|
+
node.name.text === 'bootstrap' &&
|
|
69
|
+
ts.isArrayLiteralExpression(node.initializer)) {
|
|
70
|
+
const first = node.initializer.elements[0];
|
|
71
|
+
if (first && ts.isIdentifier(first))
|
|
72
|
+
found = first.text;
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
ts.forEachChild(node, visit);
|
|
76
|
+
};
|
|
77
|
+
visit(source);
|
|
78
|
+
return found;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Finds the root component of an application from its browser entry: the first argument of
|
|
82
|
+
* `bootstrapApplication(...)`, or the `bootstrap` component of the module passed to
|
|
83
|
+
* `bootstrapModule(...)`. Returns its workspace-relative file, or undefined when the entry does not
|
|
84
|
+
* follow either pattern.
|
|
85
|
+
*/
|
|
86
|
+
function findRootComponent(tree, browserEntry) {
|
|
87
|
+
if (!tree.exists(browserEntry))
|
|
88
|
+
return undefined;
|
|
89
|
+
const source = parse(browserEntry, tree.readText(browserEntry));
|
|
90
|
+
const call = findCall(source, ['bootstrapApplication', 'bootstrapModule']);
|
|
91
|
+
const argument = call?.arguments[0];
|
|
92
|
+
if (!call || !argument || !ts.isIdentifier(argument))
|
|
93
|
+
return undefined;
|
|
94
|
+
const file = declarationFile(tree, browserEntry, source, argument.text);
|
|
95
|
+
const callee = call.expression;
|
|
96
|
+
const isModule = ts.isPropertyAccessExpression(callee) && callee.name.text === 'bootstrapModule';
|
|
97
|
+
if (!file || !isModule)
|
|
98
|
+
return file;
|
|
99
|
+
const moduleSource = parse(file, tree.readText(file));
|
|
100
|
+
const component = moduleBootstrapComponent(moduleSource);
|
|
101
|
+
return component ? declarationFile(tree, file, moduleSource, component) : undefined;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Whether a file declares a class of that name with an `@NgModule` decorator.
|
|
105
|
+
* @param tree - The workspace tree.
|
|
106
|
+
* @param file - The file, workspace-relative.
|
|
107
|
+
* @param name - The class name.
|
|
108
|
+
*/
|
|
109
|
+
function declaresNgModule(tree, file, name) {
|
|
110
|
+
const source = parse(file, tree.readText(file));
|
|
111
|
+
return source.statements.some((statement) => ts.isClassDeclaration(statement) &&
|
|
112
|
+
statement.name?.text === name &&
|
|
113
|
+
(ts.getDecorators(statement) ?? []).some((decorator) => ts.isCallExpression(decorator.expression) &&
|
|
114
|
+
ts.isIdentifier(decorator.expression.expression) &&
|
|
115
|
+
decorator.expression.expression.text === 'NgModule'));
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* The name of the NgModule that a server entry exports as its default export
|
|
119
|
+
* (`export { AppServerModule as default } from './app/app.module.server'`, as `ng new
|
|
120
|
+
* --no-standalone --ssr` writes it, `export default AppServerModule`, or an exported decorated
|
|
121
|
+
* class), or undefined when the default export is anything else, such as a bootstrap function.
|
|
122
|
+
* @param tree - The workspace tree.
|
|
123
|
+
* @param file - The server entry, workspace-relative.
|
|
124
|
+
*/
|
|
125
|
+
function serverEntryNgModule(tree, file) {
|
|
126
|
+
if (!tree.exists(file))
|
|
127
|
+
return undefined;
|
|
128
|
+
const source = parse(file, tree.readText(file));
|
|
129
|
+
for (const statement of source.statements) {
|
|
130
|
+
if (ts.isClassDeclaration(statement) &&
|
|
131
|
+
statement.name &&
|
|
132
|
+
statement.modifiers?.some((modifier) => modifier.kind === ts.SyntaxKind.DefaultKeyword)) {
|
|
133
|
+
return declaresNgModule(tree, file, statement.name.text) ? statement.name.text : undefined;
|
|
134
|
+
}
|
|
135
|
+
if (ts.isExportAssignment(statement) && !statement.isExportEquals) {
|
|
136
|
+
if (!ts.isIdentifier(statement.expression))
|
|
137
|
+
return undefined;
|
|
138
|
+
const name = statement.expression.text;
|
|
139
|
+
const target = declarationFile(tree, file, source, name);
|
|
140
|
+
return target && declaresNgModule(tree, target, name) ? name : undefined;
|
|
141
|
+
}
|
|
142
|
+
if (ts.isExportDeclaration(statement) &&
|
|
143
|
+
statement.exportClause &&
|
|
144
|
+
ts.isNamedExports(statement.exportClause)) {
|
|
145
|
+
const element = statement.exportClause.elements.find((item) => item.name.text === 'default');
|
|
146
|
+
if (!element)
|
|
147
|
+
continue;
|
|
148
|
+
const name = (element.propertyName ?? element.name).text;
|
|
149
|
+
const target = statement.moduleSpecifier && ts.isStringLiteral(statement.moduleSpecifier)
|
|
150
|
+
? resolveModule(tree, file, statement.moduleSpecifier.text)
|
|
151
|
+
: declarationFile(tree, file, source, name);
|
|
152
|
+
return target && declaresNgModule(tree, target, name) ? name : undefined;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
return undefined;
|
|
156
|
+
}
|
|
157
|
+
/** The import that provides `withNgDocContentReady`. */
|
|
158
|
+
exports.CONTENT_READY_IMPORT = "import { withNgDocContentReady } from '@ng-doc/app/helpers';";
|
|
159
|
+
/**
|
|
160
|
+
* The `withNgDocContentReady` import in the style of the file's last import: its quotes and
|
|
161
|
+
* whether it ends with a semicolon.
|
|
162
|
+
* @param source - The parsed server entry.
|
|
163
|
+
* @param last - Its last import, if any.
|
|
164
|
+
*/
|
|
165
|
+
function contentReadyImport(source, last) {
|
|
166
|
+
if (!last)
|
|
167
|
+
return exports.CONTENT_READY_IMPORT;
|
|
168
|
+
const quote = last.moduleSpecifier.getText(source).startsWith('"') ? '"' : "'";
|
|
169
|
+
const semicolon = last.getText(source).endsWith(';') ? ';' : '';
|
|
170
|
+
return `import { withNgDocContentReady } from ${quote}@ng-doc/app/helpers${quote}${semicolon}`;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Wraps the default export of a server entry (`main.server.ts`) with `withNgDocContentReady`, so a
|
|
174
|
+
* prerendered page waits for its NgDoc content and a content failure fails the route. Returns the
|
|
175
|
+
* new text, the same text when it is already wrapped, or undefined when the default export is not
|
|
176
|
+
* an expression (`export { AppServerModule as default }`) and the entry needs a manual change.
|
|
177
|
+
*
|
|
178
|
+
* The change is two insertions: the import after the last import, in that import's quotes and
|
|
179
|
+
* semicolon style and the file's line ending, and the call around the exported expression. The
|
|
180
|
+
* rest of the file keeps its bytes, so the diff a user reviews is exactly what the migration does.
|
|
181
|
+
*/
|
|
182
|
+
function wrapServerEntry(file, text) {
|
|
183
|
+
if (text.includes('withNgDocContentReady'))
|
|
184
|
+
return text;
|
|
185
|
+
const source = parse(file, text);
|
|
186
|
+
const assignment = source.statements.find((statement) => ts.isExportAssignment(statement) && !statement.isExportEquals);
|
|
187
|
+
if (!assignment)
|
|
188
|
+
return undefined;
|
|
189
|
+
const expression = assignment.expression;
|
|
190
|
+
const wrapped = text.slice(0, expression.getStart(source)) +
|
|
191
|
+
`withNgDocContentReady(${expression.getText(source)})` +
|
|
192
|
+
text.slice(expression.getEnd());
|
|
193
|
+
const eol = text.includes('\r\n') ? '\r\n' : '\n';
|
|
194
|
+
const imports = source.statements.filter(ts.isImportDeclaration);
|
|
195
|
+
const last = imports[imports.length - 1];
|
|
196
|
+
const line = contentReadyImport(source, last);
|
|
197
|
+
if (!last)
|
|
198
|
+
return `${line}${eol}${eol}${wrapped}`;
|
|
199
|
+
const end = last.getEnd();
|
|
200
|
+
return `${wrapped.slice(0, end)}${eol}${line}${wrapped.slice(end)}`;
|
|
201
|
+
}
|
|
202
|
+
//# sourceMappingURL=source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source.js","sourceRoot":"","sources":["../../../../../../libs/builder/schematics/migrate-to-vite/setup/source.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { JsonRecord, WorkspaceTarget } from './workspace';
|
|
2
|
+
/** The builder that runs the production build (browser, server bundle, prerender). */
|
|
3
|
+
export declare const VITE_APPLICATION_BUILDER = "@ng-doc/builder:vite-application";
|
|
4
|
+
/** The builder that runs the Vite development server. */
|
|
5
|
+
export declare const VITE_DEV_SERVER_BUILDER = "@ng-doc/builder:vite-dev-server";
|
|
6
|
+
/** The options of the production build target beyond `configFile` and `outputPath`. */
|
|
7
|
+
export interface NgDocViteBuildTargetOptions {
|
|
8
|
+
ssr?: boolean;
|
|
9
|
+
prerender?: boolean;
|
|
10
|
+
routes?: string[];
|
|
11
|
+
discoverRoutes?: boolean;
|
|
12
|
+
}
|
|
13
|
+
/** What the two Vite targets are made of. */
|
|
14
|
+
export interface NgDocViteTargetsInput {
|
|
15
|
+
/** The Vite configuration file, workspace-relative. */
|
|
16
|
+
configFile: string;
|
|
17
|
+
outputPath: string;
|
|
18
|
+
/** Build configuration names; each becomes a configuration that sets the Vite `mode`. */
|
|
19
|
+
modes: string[];
|
|
20
|
+
defaultConfiguration?: string;
|
|
21
|
+
build?: NgDocViteBuildTargetOptions;
|
|
22
|
+
/** Build flags a configuration changes, by configuration name. */
|
|
23
|
+
buildConfigurations?: {
|
|
24
|
+
[configuration: string]: NgDocViteBuildTargetOptions;
|
|
25
|
+
};
|
|
26
|
+
/** The Vite mode of the build target's plain options (default: the builder's `production`). */
|
|
27
|
+
buildMode?: string;
|
|
28
|
+
/** Serve configuration name to Vite mode. */
|
|
29
|
+
serveModes: {
|
|
30
|
+
[configuration: string]: string;
|
|
31
|
+
};
|
|
32
|
+
/** The mode of the serve target's plain options, when its build target names one. */
|
|
33
|
+
serveMode?: string;
|
|
34
|
+
serveDefaultConfiguration?: string;
|
|
35
|
+
host?: string;
|
|
36
|
+
port?: number;
|
|
37
|
+
/** The key of the builder in the workspace file: `builder` (angular.json) or `executor` (Nx). */
|
|
38
|
+
builderKey: 'builder' | 'executor';
|
|
39
|
+
/** Target-level keys kept from the targets being replaced (Nx `dependsOn`, `outputs`, ...). */
|
|
40
|
+
keepBuild?: JsonRecord;
|
|
41
|
+
keepServe?: JsonRecord;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* The `vite-application` and `vite-dev-server` targets of a project. Every build configuration
|
|
45
|
+
* keeps its name and selects the Vite mode of the same name, which the generated configuration
|
|
46
|
+
* reads its per-configuration settings from.
|
|
47
|
+
*/
|
|
48
|
+
export declare function createNgDocViteTargets(input: NgDocViteTargetsInput): {
|
|
49
|
+
build: WorkspaceTarget;
|
|
50
|
+
serve: WorkspaceTarget;
|
|
51
|
+
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VITE_DEV_SERVER_BUILDER = exports.VITE_APPLICATION_BUILDER = void 0;
|
|
4
|
+
exports.createNgDocViteTargets = createNgDocViteTargets;
|
|
5
|
+
/** The builder that runs the production build (browser, server bundle, prerender). */
|
|
6
|
+
exports.VITE_APPLICATION_BUILDER = '@ng-doc/builder:vite-application';
|
|
7
|
+
/** The builder that runs the Vite development server. */
|
|
8
|
+
exports.VITE_DEV_SERVER_BUILDER = '@ng-doc/builder:vite-dev-server';
|
|
9
|
+
function withoutUndefined(value) {
|
|
10
|
+
return Object.fromEntries(Object.entries(value).filter(([, item]) => item !== undefined));
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* The `vite-application` and `vite-dev-server` targets of a project. Every build configuration
|
|
14
|
+
* keeps its name and selects the Vite mode of the same name, which the generated configuration
|
|
15
|
+
* reads its per-configuration settings from.
|
|
16
|
+
*/
|
|
17
|
+
function createNgDocViteTargets(input) {
|
|
18
|
+
const configurations = (modes, extra = {}) => Object.keys(modes).length
|
|
19
|
+
? Object.fromEntries(Object.entries(modes).map(([name, mode]) => [name, { mode, ...(extra[name] ?? {}) }]))
|
|
20
|
+
: undefined;
|
|
21
|
+
// The builder key first, as Angular and Nx write targets, then the kept target-level keys.
|
|
22
|
+
const build = withoutUndefined({
|
|
23
|
+
[input.builderKey]: exports.VITE_APPLICATION_BUILDER,
|
|
24
|
+
...(input.keepBuild ?? {}),
|
|
25
|
+
options: withoutUndefined({
|
|
26
|
+
configFile: input.configFile,
|
|
27
|
+
outputPath: input.outputPath,
|
|
28
|
+
mode: input.buildMode,
|
|
29
|
+
...(input.build ?? {}),
|
|
30
|
+
}),
|
|
31
|
+
configurations: configurations(Object.fromEntries(input.modes.map((mode) => [mode, mode])), input.buildConfigurations),
|
|
32
|
+
defaultConfiguration: input.defaultConfiguration,
|
|
33
|
+
});
|
|
34
|
+
const serve = withoutUndefined({
|
|
35
|
+
[input.builderKey]: exports.VITE_DEV_SERVER_BUILDER,
|
|
36
|
+
...(input.keepServe ?? {}),
|
|
37
|
+
options: withoutUndefined({
|
|
38
|
+
configFile: input.configFile,
|
|
39
|
+
mode: input.serveMode,
|
|
40
|
+
host: input.host,
|
|
41
|
+
port: input.port,
|
|
42
|
+
}),
|
|
43
|
+
configurations: configurations(input.serveModes),
|
|
44
|
+
defaultConfiguration: input.serveDefaultConfiguration,
|
|
45
|
+
});
|
|
46
|
+
return { build, serve };
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=targets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"targets.js","sourceRoot":"","sources":["../../../../../../libs/builder/schematics/migrate-to-vite/setup/targets.ts"],"names":[],"mappings":";;;AAmDA,wDA0CC;AA3FD,sFAAsF;AACzE,QAAA,wBAAwB,GAAG,kCAAkC,CAAC;AAC3E,yDAAyD;AAC5C,QAAA,uBAAuB,GAAG,iCAAiC,CAAC;AAqCzE,SAAS,gBAAgB,CAAC,KAAiB;IACzC,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED;;;;GAIG;AACH,SAAgB,sBAAsB,CAAC,KAA4B;IAIjE,MAAM,cAAc,GAAG,CACrB,KAAiC,EACjC,QAAyD,EAAE,EAC3D,EAAE,CACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM;QACvB,CAAC,CAAC,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CACtF;QACH,CAAC,CAAC,SAAS,CAAC;IAChB,2FAA2F;IAC3F,MAAM,KAAK,GAAG,gBAAgB,CAAC;QAC7B,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,gCAAwB;QAC5C,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;QAC1B,OAAO,EAAE,gBAAgB,CAAC;YACxB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,IAAI,EAAE,KAAK,CAAC,SAAS;YACrB,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;SACvB,CAAC;QACF,cAAc,EAAE,cAAc,CAC5B,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAC3D,KAAK,CAAC,mBAAmB,CAC1B;QACD,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;KACjD,CAAoB,CAAC;IACtB,MAAM,KAAK,GAAG,gBAAgB,CAAC;QAC7B,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,+BAAuB;QAC3C,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;QAC1B,OAAO,EAAE,gBAAgB,CAAC;YACxB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,IAAI,EAAE,KAAK,CAAC,SAAS;YACrB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC;QACF,cAAc,EAAE,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC;QAChD,oBAAoB,EAAE,KAAK,CAAC,yBAAyB;KACtD,CAAoB,CAAC;IACtB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/** An `assets` entry, as in `angular.json`: a path, or a glob with input and output folders. */
|
|
2
|
+
export type NgDocViteAssetEntry = string | {
|
|
3
|
+
glob: string;
|
|
4
|
+
input: string;
|
|
5
|
+
output?: string;
|
|
6
|
+
ignore?: string[];
|
|
7
|
+
};
|
|
8
|
+
/** A `fileReplacements` entry, as in `angular.json`. */
|
|
9
|
+
export interface NgDocFileReplacement {
|
|
10
|
+
replace: string;
|
|
11
|
+
with: string;
|
|
12
|
+
}
|
|
13
|
+
/** The settings that may differ between the configurations of a build target. */
|
|
14
|
+
export interface NgDocViteModeSettings {
|
|
15
|
+
/** The TypeScript configuration of the application, workspace-relative. */
|
|
16
|
+
tsconfig: string;
|
|
17
|
+
fileReplacements: NgDocFileReplacement[];
|
|
18
|
+
/** Vite `base`; the plugin also writes it to `<base href>`. */
|
|
19
|
+
base?: string;
|
|
20
|
+
sourcemap?: boolean | 'hidden';
|
|
21
|
+
define?: {
|
|
22
|
+
[name: string]: string;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Settings per Vite mode. A Vite mode is the name of a build configuration; `fallback` applies to
|
|
27
|
+
* any other mode, as the target's plain `options` did.
|
|
28
|
+
*/
|
|
29
|
+
export interface NgDocViteModes {
|
|
30
|
+
byMode: {
|
|
31
|
+
[mode: string]: NgDocViteModeSettings;
|
|
32
|
+
};
|
|
33
|
+
fallback: NgDocViteModeSettings;
|
|
34
|
+
}
|
|
35
|
+
/** Development server settings that Vite reads from its `server` block. */
|
|
36
|
+
export interface NgDocViteServerSettings {
|
|
37
|
+
headers?: {
|
|
38
|
+
[name: string]: string;
|
|
39
|
+
};
|
|
40
|
+
open?: boolean | string;
|
|
41
|
+
allowedHosts?: string[] | true;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Everything the generated `vite.config.mjs` describes. Paths are workspace-relative and POSIX;
|
|
45
|
+
* the generated file resolves them against its own location, so the workspace can move.
|
|
46
|
+
*/
|
|
47
|
+
export interface NgDocViteSetup {
|
|
48
|
+
/** The project name. It names the generated and cache folders. */
|
|
49
|
+
project: string;
|
|
50
|
+
/** Where the configuration file goes, workspace-relative (for example `vite.config.mjs`). */
|
|
51
|
+
configFile: string;
|
|
52
|
+
/** The folder of `index.html`, which becomes the Vite root. */
|
|
53
|
+
root: string;
|
|
54
|
+
sourceRoot: string;
|
|
55
|
+
browser: string;
|
|
56
|
+
server?: string;
|
|
57
|
+
polyfills: string[];
|
|
58
|
+
styles: string[];
|
|
59
|
+
assets: NgDocViteAssetEntry[];
|
|
60
|
+
/** `inlineStyleLanguage`, for Analog's `inlineStylesExtension`. */
|
|
61
|
+
inlineStylesExtension?: string;
|
|
62
|
+
/** Sass load paths (`stylePreprocessorOptions.includePaths`). */
|
|
63
|
+
loadPaths: string[];
|
|
64
|
+
/** Modules left out of the bundles (`externalDependencies`). */
|
|
65
|
+
externalDependencies: string[];
|
|
66
|
+
/** The build output folder; `vite build` writes the browser files to `<outputPath>/browser`. */
|
|
67
|
+
outputPath: string;
|
|
68
|
+
/** A component that is always in the application, such as the root component. */
|
|
69
|
+
rootComponent: string;
|
|
70
|
+
/** The NgDoc configuration file, if any. */
|
|
71
|
+
ngDocConfig?: string;
|
|
72
|
+
/** The documentation folder, used when the NgDoc configuration has no `docsPath`. */
|
|
73
|
+
docsRoot: string;
|
|
74
|
+
/** The generated folder, used when the NgDoc configuration has no `outDir`. */
|
|
75
|
+
outputRoot: string;
|
|
76
|
+
cacheRoot: string;
|
|
77
|
+
devServer?: NgDocViteServerSettings;
|
|
78
|
+
modes: NgDocViteModes;
|
|
79
|
+
}
|
|
80
|
+
/** Modes with the same settings for every configuration. */
|
|
81
|
+
export declare function fixedModes(settings: NgDocViteModeSettings): NgDocViteModes;
|
|
82
|
+
/** A piece of JavaScript inserted verbatim by `printLiteral`. */
|
|
83
|
+
export declare class Code {
|
|
84
|
+
readonly text: string;
|
|
85
|
+
constructor(text: string);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Prints a JSON-like value as a compact JavaScript literal with single quotes and bare keys;
|
|
89
|
+
* `undefined` properties are left out and `Code` values are inserted verbatim. Prettier lays the
|
|
90
|
+
* result out.
|
|
91
|
+
*/
|
|
92
|
+
export declare function printLiteral(value: unknown): string;
|
|
93
|
+
/**
|
|
94
|
+
* Renders the `vite.config.mjs` of an NgDoc site on the Vite engine: `createNgDocApplicationPlugin`
|
|
95
|
+
* with the application of the build target, and `createNgDocVitePlugin` with Analog's Angular
|
|
96
|
+
* plugin and the NgDoc generator. The application plugin gets only the options it accepts, so the
|
|
97
|
+
* configuration never fails with `NGDOC_VITE_APPLICATION_OPTION`. The output is formatted with
|
|
98
|
+
* fixed Prettier options, so the same setup always renders the same bytes.
|
|
99
|
+
*/
|
|
100
|
+
export declare function renderNgDocViteConfig(setup: NgDocViteSetup, header?: string[]): string;
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Code = void 0;
|
|
4
|
+
exports.fixedModes = fixedModes;
|
|
5
|
+
exports.printLiteral = printLiteral;
|
|
6
|
+
exports.renderNgDocViteConfig = renderNgDocViteConfig;
|
|
7
|
+
const tslib_1 = require("tslib");
|
|
8
|
+
const sync_1 = tslib_1.__importDefault(require("@prettier/sync"));
|
|
9
|
+
const path_1 = require("path");
|
|
10
|
+
/** Modes with the same settings for every configuration. */
|
|
11
|
+
function fixedModes(settings) {
|
|
12
|
+
return { byMode: {}, fallback: settings };
|
|
13
|
+
}
|
|
14
|
+
const IDENTIFIER = /^[A-Za-z_$][\w$]*$/;
|
|
15
|
+
/** A piece of JavaScript inserted verbatim by `printLiteral`. */
|
|
16
|
+
class Code {
|
|
17
|
+
constructor(text) {
|
|
18
|
+
this.text = text;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.Code = Code;
|
|
22
|
+
function quote(value) {
|
|
23
|
+
return `'${value.replace(/\\/g, '\\\\').replace(/'/g, "\\'").replace(/\n/g, '\\n')}'`;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Prints a JSON-like value as a compact JavaScript literal with single quotes and bare keys;
|
|
27
|
+
* `undefined` properties are left out and `Code` values are inserted verbatim. Prettier lays the
|
|
28
|
+
* result out.
|
|
29
|
+
*/
|
|
30
|
+
function printLiteral(value) {
|
|
31
|
+
if (value instanceof Code)
|
|
32
|
+
return value.text;
|
|
33
|
+
if (typeof value === 'string')
|
|
34
|
+
return quote(value);
|
|
35
|
+
if (typeof value === 'number' || typeof value === 'boolean' || value === null) {
|
|
36
|
+
return String(value);
|
|
37
|
+
}
|
|
38
|
+
if (Array.isArray(value))
|
|
39
|
+
return `[${value.map((item) => printLiteral(item)).join(', ')}]`;
|
|
40
|
+
if (value === undefined)
|
|
41
|
+
return 'undefined';
|
|
42
|
+
const entries = Object.entries(value).filter(([, item]) => item !== undefined);
|
|
43
|
+
return `{ ${entries
|
|
44
|
+
.map(([key, item]) => item instanceof Code && item.text === key
|
|
45
|
+
? key
|
|
46
|
+
: `${IDENTIFIER.test(key) ? key : quote(key)}: ${printLiteral(item)}`)
|
|
47
|
+
.join(', ')} }`;
|
|
48
|
+
}
|
|
49
|
+
function path(value) {
|
|
50
|
+
return new Code(`workspace(${quote(value)})`);
|
|
51
|
+
}
|
|
52
|
+
function same(left, right) {
|
|
53
|
+
return JSON.stringify(left) === JSON.stringify(right);
|
|
54
|
+
}
|
|
55
|
+
/** The mode settings whose value is not the same in every mode. */
|
|
56
|
+
function varyingKeys(modes) {
|
|
57
|
+
const all = [modes.fallback, ...Object.values(modes.byMode)];
|
|
58
|
+
const keys = new Set(all.flatMap((settings) => Object.keys(settings)));
|
|
59
|
+
return [...keys].filter((key) => all.some((settings) => !same(settings[key], all[0][key])));
|
|
60
|
+
}
|
|
61
|
+
function relativeRoot(configFile) {
|
|
62
|
+
const folder = path_1.posix.dirname(configFile);
|
|
63
|
+
return folder === '.'
|
|
64
|
+
? './'
|
|
65
|
+
: `${folder
|
|
66
|
+
.split('/')
|
|
67
|
+
.map(() => '..')
|
|
68
|
+
.join('/')}/`;
|
|
69
|
+
}
|
|
70
|
+
function pick(settings, keys) {
|
|
71
|
+
return Object.fromEntries([...keys].sort().map((key) => [key, settings[key]]));
|
|
72
|
+
}
|
|
73
|
+
const PRETTIER = {
|
|
74
|
+
parser: 'babel',
|
|
75
|
+
singleQuote: true,
|
|
76
|
+
trailingComma: 'all',
|
|
77
|
+
printWidth: 100,
|
|
78
|
+
bracketSameLine: true,
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* Renders the `vite.config.mjs` of an NgDoc site on the Vite engine: `createNgDocApplicationPlugin`
|
|
82
|
+
* with the application of the build target, and `createNgDocVitePlugin` with Analog's Angular
|
|
83
|
+
* plugin and the NgDoc generator. The application plugin gets only the options it accepts, so the
|
|
84
|
+
* configuration never fails with `NGDOC_VITE_APPLICATION_OPTION`. The output is formatted with
|
|
85
|
+
* fixed Prettier options, so the same setup always renders the same bytes.
|
|
86
|
+
*/
|
|
87
|
+
function renderNgDocViteConfig(setup, header = []) {
|
|
88
|
+
const varying = new Set(varyingKeys(setup.modes));
|
|
89
|
+
const setting = (key) => varying.has(key) ? new Code(`settings.${key}`) : setup.modes.fallback[key];
|
|
90
|
+
const tsconfig = varying.has('tsconfig')
|
|
91
|
+
? new Code('workspace(settings.tsconfig)')
|
|
92
|
+
: path(setup.modes.fallback.tsconfig);
|
|
93
|
+
const replacements = setting('fileReplacements');
|
|
94
|
+
const application = {
|
|
95
|
+
workspaceRoot: new Code('workspaceRoot'),
|
|
96
|
+
sourceRoot: setup.sourceRoot || '.',
|
|
97
|
+
browser: setup.browser,
|
|
98
|
+
server: setup.server,
|
|
99
|
+
polyfills: setup.polyfills.length ? setup.polyfills : undefined,
|
|
100
|
+
styles: setup.styles.length ? setup.styles : undefined,
|
|
101
|
+
assets: setup.assets.length ? setup.assets : undefined,
|
|
102
|
+
};
|
|
103
|
+
const angular = {
|
|
104
|
+
tsconfig,
|
|
105
|
+
workspaceRoot: new Code('workspaceRoot'),
|
|
106
|
+
jit: false,
|
|
107
|
+
disableTypeChecking: false,
|
|
108
|
+
liveReload: true,
|
|
109
|
+
inlineStylesExtension: setup.inlineStylesExtension,
|
|
110
|
+
fileReplacements: replacements instanceof Code || (Array.isArray(replacements) && replacements.length)
|
|
111
|
+
? replacements
|
|
112
|
+
: undefined,
|
|
113
|
+
};
|
|
114
|
+
const ngDoc = {
|
|
115
|
+
analogLiveReload: true,
|
|
116
|
+
angularPlugins: new Code(`createNgDocAngularPlugins(${printLiteral(angular)})`),
|
|
117
|
+
angularComponentProbe: path(setup.rootComponent),
|
|
118
|
+
generator: {
|
|
119
|
+
projectId: setup.project,
|
|
120
|
+
workspaceRoot: new Code('workspaceRoot'),
|
|
121
|
+
configFile: setup.ngDocConfig === undefined ? undefined : path(setup.ngDocConfig),
|
|
122
|
+
defaults: {
|
|
123
|
+
docsRoot: path(setup.docsRoot || '.'),
|
|
124
|
+
tsConfig: tsconfig,
|
|
125
|
+
outputRoot: path(setup.outputRoot),
|
|
126
|
+
cacheRoot: path(setup.cacheRoot),
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
};
|
|
130
|
+
const loadPaths = setup.loadPaths.map(path);
|
|
131
|
+
const config = {
|
|
132
|
+
root: path(setup.root || '.'),
|
|
133
|
+
base: setting('base'),
|
|
134
|
+
publicDir: false,
|
|
135
|
+
define: setting('define'),
|
|
136
|
+
plugins: new Code(`[createNgDocApplicationPlugin(${printLiteral(application)}), ` +
|
|
137
|
+
`createNgDocVitePlugin(${printLiteral(ngDoc)})]`),
|
|
138
|
+
css: loadPaths.length
|
|
139
|
+
? { preprocessorOptions: { scss: { loadPaths }, sass: { loadPaths } } }
|
|
140
|
+
: undefined,
|
|
141
|
+
server: setup.devServer && Object.keys(setup.devServer).length ? setup.devServer : undefined,
|
|
142
|
+
build: {
|
|
143
|
+
outDir: path(path_1.posix.join(setup.outputPath, 'browser')),
|
|
144
|
+
emptyOutDir: true,
|
|
145
|
+
sourcemap: setting('sourcemap'),
|
|
146
|
+
rolldownOptions: setup.externalDependencies.length
|
|
147
|
+
? { external: setup.externalDependencies }
|
|
148
|
+
: undefined,
|
|
149
|
+
},
|
|
150
|
+
};
|
|
151
|
+
const lines = [
|
|
152
|
+
...header.map((line) => `// ${line}`.trimEnd()),
|
|
153
|
+
...(header.length ? [''] : []),
|
|
154
|
+
"import path from 'node:path';",
|
|
155
|
+
"import { fileURLToPath } from 'node:url';",
|
|
156
|
+
'',
|
|
157
|
+
"import { createNgDocAngularPlugins } from '@ng-doc/builder/generator/vite/angular/index.js';",
|
|
158
|
+
"import { createNgDocApplicationPlugin, createNgDocVitePlugin } from '@ng-doc/builder/generator/vite/index.js';",
|
|
159
|
+
'',
|
|
160
|
+
`const workspaceRoot = fileURLToPath(new URL(${quote(relativeRoot(setup.configFile))}, import.meta.url));`,
|
|
161
|
+
'/** A workspace-relative path as an absolute one. */',
|
|
162
|
+
'const workspace = (file) => path.join(workspaceRoot, file);',
|
|
163
|
+
'',
|
|
164
|
+
];
|
|
165
|
+
if (varying.size) {
|
|
166
|
+
const byMode = Object.fromEntries(Object.entries(setup.modes.byMode).map(([mode, settings]) => [mode, pick(settings, varying)]));
|
|
167
|
+
lines.push('/** The settings that differ between the build configurations, by Vite mode. */', `const modes = ${printLiteral(byMode)};`, '/** The settings of any other mode: the build target options without a configuration. */', `const fallback = ${printLiteral(pick(setup.modes.fallback, varying))};`, '', 'export default ({ mode }) => {', ' const settings = modes[mode] ?? fallback;', ` return ${printLiteral(config)};`, '};');
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
lines.push(`export default () => (${printLiteral(config)});`);
|
|
171
|
+
}
|
|
172
|
+
// Prettier keeps the blank lines of its input, so the groups above stay apart.
|
|
173
|
+
return sync_1.default.format(lines.join('\n'), PRETTIER);
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=vite-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vite-config.js","sourceRoot":"","sources":["../../../../../../libs/builder/schematics/migrate-to-vite/setup/vite-config.ts"],"names":[],"mappings":"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"}
|