@analogjs/platform 3.0.0-alpha.55 → 3.0.0-alpha.57

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/migrations/migration.json +7 -1
  2. package/package.json +8 -5
  3. package/src/index.d.ts +2 -0
  4. package/src/index.js +2 -1
  5. package/src/index.js.map +1 -1
  6. package/src/lib/deps-plugin.js +2 -5
  7. package/src/lib/deps-plugin.js.map +1 -1
  8. package/src/lib/discover-library-routes.d.ts +9 -0
  9. package/src/lib/discover-library-routes.js +12 -1
  10. package/src/lib/discover-library-routes.js.map +1 -1
  11. package/src/lib/nitro/analog-nitro-plugin.d.ts +8 -0
  12. package/src/lib/nitro/analog-nitro-plugin.js +502 -0
  13. package/src/lib/nitro/analog-nitro-plugin.js.map +1 -0
  14. package/src/lib/nitro/angular-linker-plugin.d.ts +17 -0
  15. package/src/lib/nitro/angular-linker-plugin.js +51 -0
  16. package/src/lib/nitro/angular-linker-plugin.js.map +1 -0
  17. package/src/lib/nitro/build-sitemap.d.ts +23 -0
  18. package/src/lib/nitro/build-sitemap.js +137 -0
  19. package/src/lib/nitro/build-sitemap.js.map +1 -0
  20. package/src/lib/nitro/debug.d.ts +5 -0
  21. package/src/lib/nitro/debug.js +11 -0
  22. package/src/lib/nitro/debug.js.map +1 -0
  23. package/src/lib/nitro/get-content-files.d.ts +13 -0
  24. package/src/lib/nitro/get-content-files.js +52 -0
  25. package/src/lib/nitro/get-content-files.js.map +1 -0
  26. package/src/lib/nitro/get-page-handlers.d.ts +23 -0
  27. package/src/lib/nitro/get-page-handlers.js +34 -0
  28. package/src/lib/nitro/get-page-handlers.js.map +1 -0
  29. package/src/lib/nitro/i18n-prerender.d.ts +29 -0
  30. package/src/lib/nitro/i18n-prerender.js +61 -0
  31. package/src/lib/nitro/i18n-prerender.js.map +1 -0
  32. package/src/lib/nitro/page-endpoints-plugin.d.ts +7 -0
  33. package/src/lib/nitro/page-endpoints-plugin.js +72 -0
  34. package/src/lib/nitro/page-endpoints-plugin.js.map +1 -0
  35. package/src/lib/nitro/post-rendering-hook.d.ts +2 -0
  36. package/src/lib/nitro/post-rendering-hook.js +10 -0
  37. package/src/lib/nitro/post-rendering-hook.js.map +1 -0
  38. package/src/lib/nitro/renderers.d.ts +53 -0
  39. package/src/lib/nitro/renderers.js +22 -0
  40. package/src/lib/nitro/renderers.js.map +1 -0
  41. package/src/lib/nitro/types.d.ts +122 -0
  42. package/src/lib/nx-plugin/_virtual/_rolldown/runtime.js +23 -0
  43. package/src/lib/nx-plugin/builders.json +10 -2
  44. package/src/lib/nx-plugin/executors.json +10 -7
  45. package/src/lib/nx-plugin/src/builders/vite/schema.json +39 -0
  46. package/src/lib/nx-plugin/src/builders/vite/vite-build.d.ts +11 -0
  47. package/src/lib/nx-plugin/src/builders/vite/vite-build.js +18 -0
  48. package/src/lib/nx-plugin/src/builders/vite/vite-build.js.map +1 -0
  49. package/src/lib/nx-plugin/src/builders/vite-dev-server/dev-server.d.ts +7 -0
  50. package/src/lib/nx-plugin/src/builders/vite-dev-server/dev-server.js +14 -0
  51. package/src/lib/nx-plugin/src/builders/vite-dev-server/dev-server.js.map +1 -0
  52. package/src/lib/nx-plugin/src/builders/vite-dev-server/schema.json +27 -0
  53. package/src/lib/nx-plugin/src/executors/vite-dev-server/compat.js +1 -0
  54. package/src/lib/nx-plugin/src/executors/vite-dev-server/compat.js.map +1 -1
  55. package/src/lib/nx-plugin/src/executors/vite-dev-server/vite-dev-server.impl.js +1 -0
  56. package/src/lib/nx-plugin/src/executors/vite-dev-server/vite-dev-server.impl.js.map +1 -1
  57. package/src/lib/nx-plugin/src/executors/vitest/compat.js +1 -0
  58. package/src/lib/nx-plugin/src/executors/vitest/compat.js.map +1 -1
  59. package/src/lib/nx-plugin/src/executors/vitest/vitest.impl.js +1 -0
  60. package/src/lib/nx-plugin/src/executors/vitest/vitest.impl.js.map +1 -1
  61. package/src/lib/nx-plugin/src/generators/app/compat.js +1 -0
  62. package/src/lib/nx-plugin/src/generators/app/compat.js.map +1 -1
  63. package/src/lib/nx-plugin/src/generators/app/generator.js +1 -0
  64. package/src/lib/nx-plugin/src/generators/app/generator.js.map +1 -1
  65. package/src/lib/nx-plugin/src/generators/app/lib/add-analog-project-config.js +1 -0
  66. package/src/lib/nx-plugin/src/generators/app/lib/add-analog-project-config.js.map +1 -1
  67. package/src/lib/nx-plugin/src/generators/app/lib/add-angular-app.js +1 -0
  68. package/src/lib/nx-plugin/src/generators/app/lib/add-angular-app.js.map +1 -1
  69. package/src/lib/nx-plugin/src/generators/app/lib/add-files.js +1 -0
  70. package/src/lib/nx-plugin/src/generators/app/lib/add-files.js.map +1 -1
  71. package/src/lib/nx-plugin/src/generators/app/lib/add-home-page.js +1 -0
  72. package/src/lib/nx-plugin/src/generators/app/lib/add-home-page.js.map +1 -1
  73. package/src/lib/nx-plugin/src/generators/app/lib/add-tailwind-config.js +1 -0
  74. package/src/lib/nx-plugin/src/generators/app/lib/add-tailwind-config.js.map +1 -1
  75. package/src/lib/nx-plugin/src/generators/app/lib/add-tailwind-helpers.js +1 -0
  76. package/src/lib/nx-plugin/src/generators/app/lib/add-tailwind-helpers.js.map +1 -1
  77. package/src/lib/nx-plugin/src/generators/app/lib/update-index-html.js +1 -0
  78. package/src/lib/nx-plugin/src/generators/app/lib/update-index-html.js.map +1 -1
  79. package/src/lib/nx-plugin/src/generators/app/versions/minimum-supported-versions.js +1 -0
  80. package/src/lib/nx-plugin/src/generators/app/versions/minimum-supported-versions.js.map +1 -1
  81. package/src/lib/nx-plugin/src/generators/app/versions/nx_18_X/versions.d.ts +5 -5
  82. package/src/lib/nx-plugin/src/generators/app/versions/nx_18_X/versions.js.map +1 -1
  83. package/src/lib/nx-plugin/src/generators/init/compat.js +1 -0
  84. package/src/lib/nx-plugin/src/generators/init/compat.js.map +1 -1
  85. package/src/lib/nx-plugin/src/generators/init/generator.js +1 -0
  86. package/src/lib/nx-plugin/src/generators/init/generator.js.map +1 -1
  87. package/src/lib/nx-plugin/src/generators/init/lib/add-analog-dependencies.js +1 -0
  88. package/src/lib/nx-plugin/src/generators/init/lib/add-analog-dependencies.js.map +1 -1
  89. package/src/lib/nx-plugin/src/generators/init/lib/update-app-tsconfig.js +1 -0
  90. package/src/lib/nx-plugin/src/generators/init/lib/update-app-tsconfig.js.map +1 -1
  91. package/src/lib/nx-plugin/src/generators/init/lib/update-build-target.js +1 -0
  92. package/src/lib/nx-plugin/src/generators/init/lib/update-build-target.js.map +1 -1
  93. package/src/lib/nx-plugin/src/generators/init/lib/update-index-html.js +1 -0
  94. package/src/lib/nx-plugin/src/generators/init/lib/update-index-html.js.map +1 -1
  95. package/src/lib/nx-plugin/src/generators/init/lib/update-main.js +1 -0
  96. package/src/lib/nx-plugin/src/generators/init/lib/update-main.js.map +1 -1
  97. package/src/lib/nx-plugin/src/generators/init/lib/update-package-json.js +1 -0
  98. package/src/lib/nx-plugin/src/generators/init/lib/update-package-json.js.map +1 -1
  99. package/src/lib/nx-plugin/src/generators/init/lib/update-serve-target.js +1 -0
  100. package/src/lib/nx-plugin/src/generators/init/lib/update-serve-target.js.map +1 -1
  101. package/src/lib/nx-plugin/src/generators/init/lib/update-test-target.js +1 -0
  102. package/src/lib/nx-plugin/src/generators/init/lib/update-test-target.js.map +1 -1
  103. package/src/lib/nx-plugin/src/generators/init/lib/update-test-tsconfig.js +1 -0
  104. package/src/lib/nx-plugin/src/generators/init/lib/update-test-tsconfig.js.map +1 -1
  105. package/src/lib/nx-plugin/src/generators/page/compat.js +1 -0
  106. package/src/lib/nx-plugin/src/generators/page/compat.js.map +1 -1
  107. package/src/lib/nx-plugin/src/generators/page/generator.js +1 -0
  108. package/src/lib/nx-plugin/src/generators/page/generator.js.map +1 -1
  109. package/src/lib/nx-plugin/src/generators/preset/generator.js +1 -0
  110. package/src/lib/nx-plugin/src/generators/preset/generator.js.map +1 -1
  111. package/src/lib/nx-plugin/src/generators/setup-vitest/compat.js +1 -0
  112. package/src/lib/nx-plugin/src/generators/setup-vitest/compat.js.map +1 -1
  113. package/src/lib/nx-plugin/src/generators/setup-vitest/generator.js +1 -0
  114. package/src/lib/nx-plugin/src/generators/setup-vitest/generator.js.map +1 -1
  115. package/src/lib/nx-plugin/src/generators/setup-vitest/lib/add-analog-dependencies.js +1 -0
  116. package/src/lib/nx-plugin/src/generators/setup-vitest/lib/add-analog-dependencies.js.map +1 -1
  117. package/src/lib/nx-plugin/src/generators/setup-vitest/lib/update-test-target.js +1 -0
  118. package/src/lib/nx-plugin/src/generators/setup-vitest/lib/update-test-target.js.map +1 -1
  119. package/src/lib/nx-plugin/src/generators/setup-vitest/lib/update-tsconfig.js +1 -0
  120. package/src/lib/nx-plugin/src/generators/setup-vitest/lib/update-tsconfig.js.map +1 -1
  121. package/src/lib/nx-plugin/src/utils/version-utils.js +1 -0
  122. package/src/lib/nx-plugin/src/utils/version-utils.js.map +1 -1
  123. package/src/lib/nx-plugin/src/utils/versions/dependencies.js +1 -0
  124. package/src/lib/nx-plugin/src/utils/versions/dependencies.js.map +1 -1
  125. package/src/lib/nx-plugin/src/utils/versions/dev-dependencies.js +1 -0
  126. package/src/lib/nx-plugin/src/utils/versions/dev-dependencies.js.map +1 -1
  127. package/src/lib/nx-plugin/src/utils/versions/ng_19_X/versions.d.ts +5 -5
  128. package/src/lib/nx-plugin/src/utils/versions/ng_19_X/versions.js +5 -5
  129. package/src/lib/nx-plugin/src/utils/versions/ng_19_X/versions.js.map +1 -1
  130. package/src/lib/options.d.ts +9 -146
  131. package/src/lib/platform-plugin.js +3 -40
  132. package/src/lib/platform-plugin.js.map +1 -1
  133. package/src/lib/style-pipeline.d.ts +0 -1
  134. package/src/lib/style-pipeline.js.map +1 -1
  135. package/src/lib/utils/debug.js +2 -2
  136. package/src/lib/utils/debug.js.map +1 -1
  137. package/src/lib/nx-plugin/src/executors/vite/compat.d.ts +0 -3
  138. package/src/lib/nx-plugin/src/executors/vite/compat.js +0 -7
  139. package/src/lib/nx-plugin/src/executors/vite/compat.js.map +0 -1
  140. package/src/lib/nx-plugin/src/executors/vite/schema.d.ts +0 -2
  141. package/src/lib/nx-plugin/src/executors/vite/schema.json +0 -147
  142. package/src/lib/nx-plugin/src/executors/vite/vite.impl.d.ts +0 -2
  143. package/src/lib/nx-plugin/src/executors/vite/vite.impl.js +0 -6
  144. package/src/lib/nx-plugin/src/executors/vite/vite.impl.js.map +0 -1
@@ -1,4 +1,10 @@
1
1
  {
2
2
  "$schema": "../../../node_modules/@angular-devkit/schematics/collection-schema.json",
3
- "schematics": {}
3
+ "schematics": {
4
+ "migrate-to-separated-plugins": {
5
+ "version": "3.0.0-alpha.56",
6
+ "description": "Migrate Analog vite.config from a single analog() call to the separated analog() + angular() + nitro() plugin shape",
7
+ "factory": "./migrate-to-separated-plugins/migrate-to-separated-plugins"
8
+ }
9
+ }
4
10
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@analogjs/platform",
3
- "version": "3.0.0-alpha.55",
3
+ "version": "3.0.0-alpha.57",
4
4
  "description": "The fullstack meta-framework for Angular",
5
5
  "type": "module",
6
6
  "author": "Brandon Roberts <robertsbt@gmail.com>",
@@ -44,12 +44,15 @@
44
44
  "front-matter": "^4.0.2",
45
45
  "es-toolkit": "^1.45.1",
46
46
  "tinyglobby": "^0.2.15",
47
- "nitro": "3.0.260415-beta",
48
- "@analogjs/vite-plugin-angular": "3.0.0-alpha.55",
49
- "@analogjs/vite-plugin-nitro": "3.0.0-alpha.55",
47
+ "nitro": "3.0.260522-beta",
48
+ "@analogjs/vite-plugin-angular": "3.0.0-alpha.57",
49
+ "@babel/core": "^7.28.6",
50
+ "ofetch": "2.0.0-alpha.3",
51
+ "oxc-parser": "^0.124.0",
50
52
  "rolldown": "^1.0.0-rc.13",
51
53
  "obug": "^2.1.1",
52
- "vitefu": "^1.1.2"
54
+ "vitefu": "^1.1.2",
55
+ "xmlbuilder2": "^4.0.3"
53
56
  },
54
57
  "peerDependencies": {
55
58
  "@nx/angular": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0 || ^22.0.0 || ^22",
package/src/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  import { platformPlugin } from "./lib/platform-plugin.js";
2
2
  export type { Options, PrerenderSitemapConfig, TypedRouterOptions, PrerenderContentFile, SitemapConfig, SitemapEntry, SitemapExcludeRule, SitemapPriority, SitemapRouteDefinition, SitemapRouteInput, SitemapRouteSource, SitemapTransform } from "./lib/options.js";
3
+ export { discoverLibraryRoutes, pageGlobs } from "./lib/discover-library-routes.js";
4
+ export type { DiscoveredLibraryRoutes } from "./lib/discover-library-routes.js";
3
5
  export { routeGenerationPlugin } from "./lib/route-generation-plugin.js";
4
6
  export { tailwindPreprocessor } from "./lib/tailwind-preprocessor.js";
5
7
  export type { AngularStylePipelineContext, AngularStylePipelineOptions, AngularStylePipelinePlugin, StylePipelineContext, StylePipelineOptions, StylePipelinePluginEntry, StylePipelinePluginFactory, StylePipelineStylesheetRegistry } from "./lib/style-pipeline.js";
package/src/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { discoverLibraryRoutes, pageGlobs } from "./lib/discover-library-routes.js";
1
2
  import { routeGenerationPlugin } from "./lib/route-generation-plugin.js";
2
3
  import { defineAngularStylePipeline, defineAngularStylePipelinePlugins, defineStylePipeline, defineStylePipelinePlugins, resolveStylePipelinePlugins } from "./lib/style-pipeline.js";
3
4
  import { platformPlugin } from "./lib/platform-plugin.js";
@@ -6,6 +7,6 @@ import { composeStylePreprocessors, normalizeStylesheetDependencies, normalizeSt
6
7
  //#region packages/platform/src/index.ts
7
8
  var src_default = platformPlugin;
8
9
  //#endregion
9
- export { composeStylePreprocessors, src_default as default, defineAngularStylePipeline, defineAngularStylePipelinePlugins, defineStylePipeline, defineStylePipelinePlugins, normalizeStylesheetDependencies, normalizeStylesheetTransformResult, resolveStylePipelinePlugins, routeGenerationPlugin, tailwindPreprocessor };
10
+ export { composeStylePreprocessors, src_default as default, defineAngularStylePipeline, defineAngularStylePipelinePlugins, defineStylePipeline, defineStylePipelinePlugins, discoverLibraryRoutes, normalizeStylesheetDependencies, normalizeStylesheetTransformResult, pageGlobs, resolveStylePipelinePlugins, routeGenerationPlugin, tailwindPreprocessor };
10
11
 
11
12
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":["import { platformPlugin } from './lib/platform-plugin.js';\n\nexport type {\n Options,\n PrerenderSitemapConfig,\n TypedRouterOptions,\n PrerenderContentFile,\n SitemapConfig,\n SitemapEntry,\n SitemapExcludeRule,\n SitemapPriority,\n SitemapRouteDefinition,\n SitemapRouteInput,\n SitemapRouteSource,\n SitemapTransform,\n} from './lib/options.js';\nexport { routeGenerationPlugin } from './lib/route-generation-plugin.js';\nexport { tailwindPreprocessor } from './lib/tailwind-preprocessor.js';\nexport type {\n AngularStylePipelineContext,\n AngularStylePipelineOptions,\n AngularStylePipelinePlugin,\n StylePipelineContext,\n StylePipelineOptions,\n StylePipelinePluginEntry,\n StylePipelinePluginFactory,\n StylePipelineStylesheetRegistry,\n} from './lib/style-pipeline.js';\nexport {\n defineAngularStylePipeline,\n defineAngularStylePipelinePlugins,\n defineStylePipeline,\n defineStylePipelinePlugins,\n resolveStylePipelinePlugins,\n} from './lib/style-pipeline.js';\nexport type {\n StylePreprocessor,\n StylesheetDependency,\n StylesheetDiagnostic,\n StylesheetTransformContext,\n StylesheetTransformResult,\n} from './lib/style-preprocessor.js';\nexport {\n composeStylePreprocessors,\n normalizeStylesheetDependencies,\n normalizeStylesheetTransformResult,\n} from './lib/style-preprocessor.js';\nexport type {\n TailwindPreprocessorMode,\n TailwindPreprocessorOptions,\n} from './lib/tailwind-preprocessor.js';\nexport default platformPlugin;\n"],"mappings":";;;;;;AAmDA,IAAA,cAAe"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":["import { platformPlugin } from './lib/platform-plugin.js';\n\nexport type {\n Options,\n PrerenderSitemapConfig,\n TypedRouterOptions,\n PrerenderContentFile,\n SitemapConfig,\n SitemapEntry,\n SitemapExcludeRule,\n SitemapPriority,\n SitemapRouteDefinition,\n SitemapRouteInput,\n SitemapRouteSource,\n SitemapTransform,\n} from './lib/options.js';\nexport {\n discoverLibraryRoutes,\n pageGlobs,\n} from './lib/discover-library-routes.js';\nexport type { DiscoveredLibraryRoutes } from './lib/discover-library-routes.js';\nexport { routeGenerationPlugin } from './lib/route-generation-plugin.js';\nexport { tailwindPreprocessor } from './lib/tailwind-preprocessor.js';\nexport type {\n AngularStylePipelineContext,\n AngularStylePipelineOptions,\n AngularStylePipelinePlugin,\n StylePipelineContext,\n StylePipelineOptions,\n StylePipelinePluginEntry,\n StylePipelinePluginFactory,\n StylePipelineStylesheetRegistry,\n} from './lib/style-pipeline.js';\nexport {\n defineAngularStylePipeline,\n defineAngularStylePipelinePlugins,\n defineStylePipeline,\n defineStylePipelinePlugins,\n resolveStylePipelinePlugins,\n} from './lib/style-pipeline.js';\nexport type {\n StylePreprocessor,\n StylesheetDependency,\n StylesheetDiagnostic,\n StylesheetTransformContext,\n StylesheetTransformResult,\n} from './lib/style-preprocessor.js';\nexport {\n composeStylePreprocessors,\n normalizeStylesheetDependencies,\n normalizeStylesheetTransformResult,\n} from './lib/style-preprocessor.js';\nexport type {\n TailwindPreprocessorMode,\n TailwindPreprocessorOptions,\n} from './lib/tailwind-preprocessor.js';\nexport default platformPlugin;\n"],"mappings":";;;;;;;AAwDA,IAAA,cAAe"}
@@ -5,16 +5,13 @@ import { crawlFrameworkPkgs } from "vitefu";
5
5
  //#region packages/platform/src/lib/deps-plugin.ts
6
6
  function depsPlugin(options) {
7
7
  const workspaceRoot = options?.workspaceRoot ?? process.env["NX_WORKSPACE_ROOT"] ?? process.cwd();
8
- const viteOptions = options?.vite === false ? void 0 : options?.vite;
9
8
  return [{
10
9
  name: "analogjs-deps-plugin",
11
10
  config() {
12
- const useAngularCompilationAPI = options?.experimental?.useAngularCompilationAPI ?? viteOptions?.experimental?.useAngularCompilationAPI;
13
- const transformConfig = options?.vite === false || useAngularCompilationAPI ? {} : { exclude: ["**/*.ts", "**/*.js"] };
11
+ const transformConfig = { exclude: ["**/*.ts", "**/*.js"] };
14
12
  debugPlatform("deps transform config", {
15
- useAngularCompilationAPI: !!useAngularCompilationAPI,
16
13
  jsTransformKey: getJsTransformConfigKey(),
17
- transformExcluded: "exclude" in transformConfig
14
+ transformExcluded: true
18
15
  });
19
16
  return {
20
17
  [getJsTransformConfigKey()]: transformConfig,
@@ -1 +1 @@
1
- {"version":3,"file":"deps-plugin.js","names":[],"sources":["../../../src/lib/deps-plugin.ts"],"sourcesContent":["import { VERSION } from '@angular/compiler-cli';\nimport type { Plugin } from 'vite';\nimport { crawlFrameworkPkgs } from 'vitefu';\n\nimport { Options } from './options.js';\nimport { debugPlatform } from './utils/debug.js';\nimport { getJsTransformConfigKey } from './utils/rolldown.js';\n\nexport function depsPlugin(options?: Options): Plugin[] {\n const workspaceRoot =\n options?.workspaceRoot ?? process.env['NX_WORKSPACE_ROOT'] ?? process.cwd();\n const viteOptions = options?.vite === false ? undefined : options?.vite;\n\n return [\n {\n name: 'analogjs-deps-plugin',\n config() {\n const useAngularCompilationAPI =\n options?.experimental?.useAngularCompilationAPI ??\n viteOptions?.experimental?.useAngularCompilationAPI;\n\n const transformConfig =\n options?.vite === false || useAngularCompilationAPI\n ? {}\n : { exclude: ['**/*.ts', '**/*.js'] };\n debugPlatform('deps transform config', {\n useAngularCompilationAPI: !!useAngularCompilationAPI,\n jsTransformKey: getJsTransformConfigKey(),\n transformExcluded: 'exclude' in transformConfig,\n });\n\n return {\n [getJsTransformConfigKey()]: transformConfig,\n ssr: {\n noExternal: [\n '@analogjs/**',\n 'es-toolkit',\n 'firebase/**',\n 'firebase-admin/**',\n 'rxfire',\n '@ng-web-apis/**',\n '@taiga-ui/**',\n '@tanstack/angular-query-experimental',\n ],\n },\n optimizeDeps: {\n include: [\n '@angular/common',\n '@angular/common/http',\n ...(Number(VERSION.major) > 15\n ? ['@angular/core/rxjs-interop']\n : []),\n 'front-matter',\n ],\n exclude: [\n '@angular/platform-server',\n '@analogjs/content',\n '@analogjs/router',\n '@nx/angular',\n '@nx/vite',\n '@nx/devkit',\n '@nx/js',\n '@nx/devkit',\n '@nx/cypress',\n '@nx/jest',\n '@nx/js',\n '@nx/eslint',\n '@nx/webpack',\n '@nx/web',\n '@nx/workspace',\n '@nx/eslint',\n '@nx/module-federation',\n '@nx/rspack',\n 'webpack',\n 'fsevents',\n 'nx',\n ],\n },\n };\n },\n },\n {\n name: 'analogjs-auto-discover-deps',\n async config(config, { command }) {\n const pkgConfig = await crawlFrameworkPkgs({\n root: workspaceRoot,\n isBuild: command === 'build',\n viteUserConfig: config,\n isSemiFrameworkPkgByJson(pkgJson) {\n return pkgJson['module'] && pkgJson['module'].includes('fesm');\n },\n });\n return pkgConfig;\n },\n },\n ];\n}\n"],"mappings":";;;;;AAQA,SAAgB,WAAW,SAA6B;CACtD,MAAM,gBACJ,SAAS,iBAAiB,QAAQ,IAAI,wBAAwB,QAAQ,KAAK;CAC7E,MAAM,cAAc,SAAS,SAAS,QAAQ,KAAA,IAAY,SAAS;AAEnE,QAAO,CACL;EACE,MAAM;EACN,SAAS;GACP,MAAM,2BACJ,SAAS,cAAc,4BACvB,aAAa,cAAc;GAE7B,MAAM,kBACJ,SAAS,SAAS,SAAS,2BACvB,EAAE,GACF,EAAE,SAAS,CAAC,WAAW,UAAU,EAAE;AACzC,iBAAc,yBAAyB;IACrC,0BAA0B,CAAC,CAAC;IAC5B,gBAAgB,yBAAyB;IACzC,mBAAmB,aAAa;IACjC,CAAC;AAEF,UAAO;KACJ,yBAAyB,GAAG;IAC7B,KAAK,EACH,YAAY;KACV;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACD,EACF;IACD,cAAc;KACZ,SAAS;MACP;MACA;MACA,GAAI,OAAO,QAAQ,MAAM,GAAG,KACxB,CAAC,6BAA6B,GAC9B,EAAE;MACN;MACD;KACD,SAAS;MACP;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACD;KACF;IACF;;EAEJ,EACD;EACE,MAAM;EACN,MAAM,OAAO,QAAQ,EAAE,WAAW;AAShC,UARkB,MAAM,mBAAmB;IACzC,MAAM;IACN,SAAS,YAAY;IACrB,gBAAgB;IAChB,yBAAyB,SAAS;AAChC,YAAO,QAAQ,aAAa,QAAQ,UAAU,SAAS,OAAO;;IAEjE,CAAC;;EAGL,CACF"}
1
+ {"version":3,"file":"deps-plugin.js","names":[],"sources":["../../../src/lib/deps-plugin.ts"],"sourcesContent":["import { VERSION } from '@angular/compiler-cli';\nimport type { Plugin } from 'vite';\nimport { crawlFrameworkPkgs } from 'vitefu';\n\nimport { Options } from './options.js';\nimport { debugPlatform } from './utils/debug.js';\nimport { getJsTransformConfigKey } from './utils/rolldown.js';\n\nexport function depsPlugin(options?: Options): Plugin[] {\n const workspaceRoot =\n options?.workspaceRoot ?? process.env['NX_WORKSPACE_ROOT'] ?? process.cwd();\n\n return [\n {\n name: 'analogjs-deps-plugin',\n config() {\n // Skip Vite's built-in ts/js transform so `@analogjs/vite-plugin-angular`\n // (when the user includes it) owns Angular file compilation. Users who\n // run an alternative compiler or compile through Angular's own\n // compilation API can override this in their own Vite config.\n const transformConfig = { exclude: ['**/*.ts', '**/*.js'] };\n debugPlatform('deps transform config', {\n jsTransformKey: getJsTransformConfigKey(),\n transformExcluded: true,\n });\n\n return {\n [getJsTransformConfigKey()]: transformConfig,\n ssr: {\n noExternal: [\n '@analogjs/**',\n 'es-toolkit',\n 'firebase/**',\n 'firebase-admin/**',\n 'rxfire',\n '@ng-web-apis/**',\n '@taiga-ui/**',\n '@tanstack/angular-query-experimental',\n ],\n },\n optimizeDeps: {\n include: [\n '@angular/common',\n '@angular/common/http',\n ...(Number(VERSION.major) > 15\n ? ['@angular/core/rxjs-interop']\n : []),\n 'front-matter',\n ],\n exclude: [\n '@angular/platform-server',\n '@analogjs/content',\n '@analogjs/router',\n '@nx/angular',\n '@nx/vite',\n '@nx/devkit',\n '@nx/js',\n '@nx/devkit',\n '@nx/cypress',\n '@nx/jest',\n '@nx/js',\n '@nx/eslint',\n '@nx/webpack',\n '@nx/web',\n '@nx/workspace',\n '@nx/eslint',\n '@nx/module-federation',\n '@nx/rspack',\n 'webpack',\n 'fsevents',\n 'nx',\n ],\n },\n };\n },\n },\n {\n name: 'analogjs-auto-discover-deps',\n async config(config, { command }) {\n const pkgConfig = await crawlFrameworkPkgs({\n root: workspaceRoot,\n isBuild: command === 'build',\n viteUserConfig: config,\n isSemiFrameworkPkgByJson(pkgJson) {\n return pkgJson['module'] && pkgJson['module'].includes('fesm');\n },\n });\n return pkgConfig;\n },\n },\n ];\n}\n"],"mappings":";;;;;AAQA,SAAgB,WAAW,SAA6B;CACtD,MAAM,gBACJ,SAAS,iBAAiB,QAAQ,IAAI,wBAAwB,QAAQ,KAAK;AAE7E,QAAO,CACL;EACE,MAAM;EACN,SAAS;GAKP,MAAM,kBAAkB,EAAE,SAAS,CAAC,WAAW,UAAU,EAAE;AAC3D,iBAAc,yBAAyB;IACrC,gBAAgB,yBAAyB;IACzC,mBAAmB;IACpB,CAAC;AAEF,UAAO;KACJ,yBAAyB,GAAG;IAC7B,KAAK,EACH,YAAY;KACV;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACD,EACF;IACD,cAAc;KACZ,SAAS;MACP;MACA;MACA,GAAI,OAAO,QAAQ,MAAM,GAAG,KACxB,CAAC,6BAA6B,GAC9B,EAAE;MACN;MACD;KACD,SAAS;MACP;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACD;KACF;IACF;;EAEJ,EACD;EACE,MAAM;EACN,MAAM,OAAO,QAAQ,EAAE,WAAW;AAShC,UARkB,MAAM,mBAAmB;IACzC,MAAM;IACN,SAAS,YAAY;IACrB,gBAAgB;IAChB,yBAAyB,SAAS;AAChC,YAAO,QAAQ,aAAa,QAAQ,UAAU,SAAS,OAAO;;IAEjE,CAAC;;EAGL,CACF"}
@@ -11,3 +11,12 @@ export interface DiscoveredLibraryRoutes {
11
11
  * for merging into the `additional*Dirs` options.
12
12
  */
13
13
  export declare function discoverLibraryRoutes(workspaceRoot: string): DiscoveredLibraryRoutes;
14
+ /**
15
+ * Builds `${dir}/**\/*.page.ts` globs for each provided directory.
16
+ *
17
+ * Pass the result to `@analogjs/vite-plugin-angular`'s `include` option so
18
+ * workspace libraries discovered by `discoverLibraryRoutes` (or supplied
19
+ * via `analog({ additionalPagesDirs })`) participate in Angular
20
+ * compilation.
21
+ */
22
+ export declare function pageGlobs(dirs: string[]): string[];
@@ -58,7 +58,18 @@ function discoverLibraryRoutes(workspaceRoot) {
58
58
  }
59
59
  return result;
60
60
  }
61
+ /**
62
+ * Builds `${dir}/**\/*.page.ts` globs for each provided directory.
63
+ *
64
+ * Pass the result to `@analogjs/vite-plugin-angular`'s `include` option so
65
+ * workspace libraries discovered by `discoverLibraryRoutes` (or supplied
66
+ * via `analog({ additionalPagesDirs })`) participate in Angular
67
+ * compilation.
68
+ */
69
+ function pageGlobs(dirs) {
70
+ return dirs.map((dir) => `${dir}/**/*.page.ts`);
71
+ }
61
72
  //#endregion
62
- export { discoverLibraryRoutes };
73
+ export { discoverLibraryRoutes, pageGlobs };
63
74
 
64
75
  //# sourceMappingURL=discover-library-routes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"discover-library-routes.js","names":[],"sources":["../../../src/lib/discover-library-routes.ts"],"sourcesContent":["import { normalizePath } from 'vite';\nimport { globSync } from 'tinyglobby';\n\nexport interface DiscoveredLibraryRoutes {\n additionalPagesDirs: string[];\n additionalContentDirs: string[];\n additionalAPIDirs: string[];\n}\n\nconst empty: DiscoveredLibraryRoutes = Object.freeze({\n additionalPagesDirs: Object.freeze([] as string[]),\n additionalContentDirs: Object.freeze([] as string[]),\n additionalAPIDirs: Object.freeze([] as string[]),\n});\n\nconst discoverableLibRouteDirs = [\n 'libs/**/src/pages',\n 'libs/**/src/content',\n 'libs/**/src/api',\n] as const;\n\nfunction toWorkspacePath(path: string) {\n return normalizePath(path).replace(/\\/$/, '');\n}\n\n/**\n * Scans workspace libraries directly for conventional route directories\n * (`src/pages`, `src/content`, `src/api`).\n *\n * Returns workspace-relative paths (e.g. `/libs/shared/feature`) suitable\n * for merging into the `additional*Dirs` options.\n */\nexport function discoverLibraryRoutes(\n workspaceRoot: string,\n): DiscoveredLibraryRoutes {\n const result: DiscoveredLibraryRoutes = {\n additionalPagesDirs: [],\n additionalContentDirs: [],\n additionalAPIDirs: [],\n };\n const normalizedWorkspaceRoot = toWorkspacePath(workspaceRoot);\n const discovered = new Map<\n string,\n {\n pages: boolean;\n content: boolean;\n api: boolean;\n }\n >();\n\n for (const dir of globSync(discoverableLibRouteDirs, {\n cwd: normalizedWorkspaceRoot,\n dot: true,\n onlyDirectories: true,\n })) {\n const normalizedDir = toWorkspacePath(dir);\n const workspaceRelativeDir = normalizedDir.startsWith(\n `${normalizedWorkspaceRoot}/`,\n )\n ? normalizedDir.slice(normalizedWorkspaceRoot.length + 1)\n : normalizedDir;\n\n if (!workspaceRelativeDir.startsWith('libs/')) {\n continue;\n }\n\n const srcIndex = workspaceRelativeDir.indexOf('/src/');\n if (srcIndex === -1) {\n continue;\n }\n\n const libRoot = workspaceRelativeDir.slice(0, srcIndex);\n const entry = discovered.get(libRoot) ?? {\n pages: false,\n content: false,\n api: false,\n };\n\n if (workspaceRelativeDir.endsWith('/src/pages')) {\n entry.pages = true;\n }\n\n if (workspaceRelativeDir.endsWith('/src/content')) {\n entry.content = true;\n }\n\n if (workspaceRelativeDir.endsWith('/src/api')) {\n entry.api = true;\n }\n\n discovered.set(libRoot, entry);\n }\n\n for (const libRoot of [...discovered.keys()].sort()) {\n const entry = discovered.get(libRoot)!;\n\n if (entry.pages) {\n result.additionalPagesDirs.push(`/${libRoot}`);\n }\n\n if (entry.content) {\n result.additionalContentDirs.push(`/${libRoot}/src/content`);\n }\n\n if (entry.api) {\n result.additionalAPIDirs.push(`/${libRoot}/src/api`);\n }\n }\n\n return result;\n}\n"],"mappings":";;;AASuC,OAAO,OAAO;CACnD,qBAAqB,OAAO,OAAO,EAAE,CAAa;CAClD,uBAAuB,OAAO,OAAO,EAAE,CAAa;CACpD,mBAAmB,OAAO,OAAO,EAAE,CAAa;CACjD,CAAC;AAEF,IAAM,2BAA2B;CAC/B;CACA;CACA;CACD;AAED,SAAS,gBAAgB,MAAc;AACrC,QAAO,cAAc,KAAK,CAAC,QAAQ,OAAO,GAAG;;;;;;;;;AAU/C,SAAgB,sBACd,eACyB;CACzB,MAAM,SAAkC;EACtC,qBAAqB,EAAE;EACvB,uBAAuB,EAAE;EACzB,mBAAmB,EAAE;EACtB;CACD,MAAM,0BAA0B,gBAAgB,cAAc;CAC9D,MAAM,6BAAa,IAAI,KAOpB;AAEH,MAAK,MAAM,OAAO,SAAS,0BAA0B;EACnD,KAAK;EACL,KAAK;EACL,iBAAiB;EAClB,CAAC,EAAE;EACF,MAAM,gBAAgB,gBAAgB,IAAI;EAC1C,MAAM,uBAAuB,cAAc,WACzC,GAAG,wBAAwB,GAC5B,GACG,cAAc,MAAM,wBAAwB,SAAS,EAAE,GACvD;AAEJ,MAAI,CAAC,qBAAqB,WAAW,QAAQ,CAC3C;EAGF,MAAM,WAAW,qBAAqB,QAAQ,QAAQ;AACtD,MAAI,aAAa,GACf;EAGF,MAAM,UAAU,qBAAqB,MAAM,GAAG,SAAS;EACvD,MAAM,QAAQ,WAAW,IAAI,QAAQ,IAAI;GACvC,OAAO;GACP,SAAS;GACT,KAAK;GACN;AAED,MAAI,qBAAqB,SAAS,aAAa,CAC7C,OAAM,QAAQ;AAGhB,MAAI,qBAAqB,SAAS,eAAe,CAC/C,OAAM,UAAU;AAGlB,MAAI,qBAAqB,SAAS,WAAW,CAC3C,OAAM,MAAM;AAGd,aAAW,IAAI,SAAS,MAAM;;AAGhC,MAAK,MAAM,WAAW,CAAC,GAAG,WAAW,MAAM,CAAC,CAAC,MAAM,EAAE;EACnD,MAAM,QAAQ,WAAW,IAAI,QAAQ;AAErC,MAAI,MAAM,MACR,QAAO,oBAAoB,KAAK,IAAI,UAAU;AAGhD,MAAI,MAAM,QACR,QAAO,sBAAsB,KAAK,IAAI,QAAQ,cAAc;AAG9D,MAAI,MAAM,IACR,QAAO,kBAAkB,KAAK,IAAI,QAAQ,UAAU;;AAIxD,QAAO"}
1
+ {"version":3,"file":"discover-library-routes.js","names":[],"sources":["../../../src/lib/discover-library-routes.ts"],"sourcesContent":["import { normalizePath } from 'vite';\nimport { globSync } from 'tinyglobby';\n\nexport interface DiscoveredLibraryRoutes {\n additionalPagesDirs: string[];\n additionalContentDirs: string[];\n additionalAPIDirs: string[];\n}\n\nconst empty: DiscoveredLibraryRoutes = Object.freeze({\n additionalPagesDirs: Object.freeze([] as string[]),\n additionalContentDirs: Object.freeze([] as string[]),\n additionalAPIDirs: Object.freeze([] as string[]),\n});\n\nconst discoverableLibRouteDirs = [\n 'libs/**/src/pages',\n 'libs/**/src/content',\n 'libs/**/src/api',\n] as const;\n\nfunction toWorkspacePath(path: string) {\n return normalizePath(path).replace(/\\/$/, '');\n}\n\n/**\n * Scans workspace libraries directly for conventional route directories\n * (`src/pages`, `src/content`, `src/api`).\n *\n * Returns workspace-relative paths (e.g. `/libs/shared/feature`) suitable\n * for merging into the `additional*Dirs` options.\n */\nexport function discoverLibraryRoutes(\n workspaceRoot: string,\n): DiscoveredLibraryRoutes {\n const result: DiscoveredLibraryRoutes = {\n additionalPagesDirs: [],\n additionalContentDirs: [],\n additionalAPIDirs: [],\n };\n const normalizedWorkspaceRoot = toWorkspacePath(workspaceRoot);\n const discovered = new Map<\n string,\n {\n pages: boolean;\n content: boolean;\n api: boolean;\n }\n >();\n\n for (const dir of globSync(discoverableLibRouteDirs, {\n cwd: normalizedWorkspaceRoot,\n dot: true,\n onlyDirectories: true,\n })) {\n const normalizedDir = toWorkspacePath(dir);\n const workspaceRelativeDir = normalizedDir.startsWith(\n `${normalizedWorkspaceRoot}/`,\n )\n ? normalizedDir.slice(normalizedWorkspaceRoot.length + 1)\n : normalizedDir;\n\n if (!workspaceRelativeDir.startsWith('libs/')) {\n continue;\n }\n\n const srcIndex = workspaceRelativeDir.indexOf('/src/');\n if (srcIndex === -1) {\n continue;\n }\n\n const libRoot = workspaceRelativeDir.slice(0, srcIndex);\n const entry = discovered.get(libRoot) ?? {\n pages: false,\n content: false,\n api: false,\n };\n\n if (workspaceRelativeDir.endsWith('/src/pages')) {\n entry.pages = true;\n }\n\n if (workspaceRelativeDir.endsWith('/src/content')) {\n entry.content = true;\n }\n\n if (workspaceRelativeDir.endsWith('/src/api')) {\n entry.api = true;\n }\n\n discovered.set(libRoot, entry);\n }\n\n for (const libRoot of [...discovered.keys()].sort()) {\n const entry = discovered.get(libRoot)!;\n\n if (entry.pages) {\n result.additionalPagesDirs.push(`/${libRoot}`);\n }\n\n if (entry.content) {\n result.additionalContentDirs.push(`/${libRoot}/src/content`);\n }\n\n if (entry.api) {\n result.additionalAPIDirs.push(`/${libRoot}/src/api`);\n }\n }\n\n return result;\n}\n\n/**\n * Builds `${dir}/**\\/*.page.ts` globs for each provided directory.\n *\n * Pass the result to `@analogjs/vite-plugin-angular`'s `include` option so\n * workspace libraries discovered by `discoverLibraryRoutes` (or supplied\n * via `analog({ additionalPagesDirs })`) participate in Angular\n * compilation.\n */\nexport function pageGlobs(dirs: string[]): string[] {\n return dirs.map((dir) => `${dir}/**/*.page.ts`);\n}\n"],"mappings":";;;AASuC,OAAO,OAAO;CACnD,qBAAqB,OAAO,OAAO,EAAE,CAAa;CAClD,uBAAuB,OAAO,OAAO,EAAE,CAAa;CACpD,mBAAmB,OAAO,OAAO,EAAE,CAAa;CACjD,CAAC;AAEF,IAAM,2BAA2B;CAC/B;CACA;CACA;CACD;AAED,SAAS,gBAAgB,MAAc;AACrC,QAAO,cAAc,KAAK,CAAC,QAAQ,OAAO,GAAG;;;;;;;;;AAU/C,SAAgB,sBACd,eACyB;CACzB,MAAM,SAAkC;EACtC,qBAAqB,EAAE;EACvB,uBAAuB,EAAE;EACzB,mBAAmB,EAAE;EACtB;CACD,MAAM,0BAA0B,gBAAgB,cAAc;CAC9D,MAAM,6BAAa,IAAI,KAOpB;AAEH,MAAK,MAAM,OAAO,SAAS,0BAA0B;EACnD,KAAK;EACL,KAAK;EACL,iBAAiB;EAClB,CAAC,EAAE;EACF,MAAM,gBAAgB,gBAAgB,IAAI;EAC1C,MAAM,uBAAuB,cAAc,WACzC,GAAG,wBAAwB,GAC5B,GACG,cAAc,MAAM,wBAAwB,SAAS,EAAE,GACvD;AAEJ,MAAI,CAAC,qBAAqB,WAAW,QAAQ,CAC3C;EAGF,MAAM,WAAW,qBAAqB,QAAQ,QAAQ;AACtD,MAAI,aAAa,GACf;EAGF,MAAM,UAAU,qBAAqB,MAAM,GAAG,SAAS;EACvD,MAAM,QAAQ,WAAW,IAAI,QAAQ,IAAI;GACvC,OAAO;GACP,SAAS;GACT,KAAK;GACN;AAED,MAAI,qBAAqB,SAAS,aAAa,CAC7C,OAAM,QAAQ;AAGhB,MAAI,qBAAqB,SAAS,eAAe,CAC/C,OAAM,UAAU;AAGlB,MAAI,qBAAqB,SAAS,WAAW,CAC3C,OAAM,MAAM;AAGd,aAAW,IAAI,SAAS,MAAM;;AAGhC,MAAK,MAAM,WAAW,CAAC,GAAG,WAAW,MAAM,CAAC,CAAC,MAAM,EAAE;EACnD,MAAM,QAAQ,WAAW,IAAI,QAAQ;AAErC,MAAI,MAAM,MACR,QAAO,oBAAoB,KAAK,IAAI,UAAU;AAGhD,MAAI,MAAM,QACR,QAAO,sBAAsB,KAAK,IAAI,QAAQ,cAAc;AAG9D,MAAI,MAAM,IACR,QAAO,kBAAkB,KAAK,IAAI,QAAQ,UAAU;;AAIxD,QAAO;;;;;;;;;;AAWT,SAAgB,UAAU,MAA0B;AAClD,QAAO,KAAK,KAAK,QAAQ,GAAG,IAAI,eAAe"}
@@ -0,0 +1,8 @@
1
+ import type { Plugin } from "vite";
2
+ import type { Options } from "../options.js";
3
+ /**
4
+ * Analog's NitroModule. Plug it into the Vite plugin chain alongside
5
+ * `nitro()` from `nitro/vite`; nitro/vite picks up the `.nitro` property
6
+ * and runs `setup(nitro)` once the Nitro instance is ready.
7
+ */
8
+ export declare function analogNitroPlugin(options?: Options): Plugin;