@analogjs/platform 3.0.0-alpha.98 → 3.0.0-alpha.99

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 (21) hide show
  1. package/package.json +2 -2
  2. package/src/lib/nx-plugin/src/generators/app/versions/tailwind-dependencies.js +5 -5
  3. package/src/lib/nx-plugin/src/generators/app/versions/tailwind-dependencies.js.map +1 -1
  4. package/src/lib/nx-plugin/src/generators/app/versions/versions.d.ts +4 -0
  5. package/src/lib/nx-plugin/src/generators/app/versions/versions.js +12 -0
  6. package/src/lib/nx-plugin/src/generators/app/versions/versions.js.map +1 -0
  7. package/src/lib/nx-plugin/src/utils/versions/dependencies.js +8 -8
  8. package/src/lib/nx-plugin/src/utils/versions/dependencies.js.map +1 -1
  9. package/src/lib/nx-plugin/src/utils/versions/dev-dependencies.js +11 -11
  10. package/src/lib/nx-plugin/src/utils/versions/dev-dependencies.js.map +1 -1
  11. package/src/lib/nx-plugin/src/utils/versions/versions.d.ts +15 -0
  12. package/src/lib/nx-plugin/src/utils/versions/versions.js +34 -0
  13. package/src/lib/nx-plugin/src/utils/versions/versions.js.map +1 -0
  14. package/src/lib/route-idiom-diagnostics.js +1 -12
  15. package/src/lib/route-idiom-diagnostics.js.map +1 -1
  16. package/src/lib/nx-plugin/src/generators/app/versions/nx_18_X/versions.d.ts +0 -28
  17. package/src/lib/nx-plugin/src/generators/app/versions/nx_18_X/versions.js +0 -12
  18. package/src/lib/nx-plugin/src/generators/app/versions/nx_18_X/versions.js.map +0 -1
  19. package/src/lib/nx-plugin/src/utils/versions/ng_19_X/versions.d.ts +0 -15
  20. package/src/lib/nx-plugin/src/utils/versions/ng_19_X/versions.js +0 -34
  21. package/src/lib/nx-plugin/src/utils/versions/ng_19_X/versions.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@analogjs/platform",
3
- "version": "3.0.0-alpha.98",
3
+ "version": "3.0.0-alpha.99",
4
4
  "description": "The fullstack meta-framework for Angular",
5
5
  "type": "module",
6
6
  "author": "Brandon Roberts <robertsbt@gmail.com>",
@@ -31,7 +31,7 @@
31
31
  "url": "https://github.com/sponsors/brandonroberts"
32
32
  },
33
33
  "dependencies": {
34
- "@analogjs/vite-plugin-angular": "3.0.0-alpha.98",
34
+ "@analogjs/vite-plugin-angular": "3.0.0-alpha.99",
35
35
  "es-toolkit": "^1.45.1",
36
36
  "front-matter": "^4.0.2",
37
37
  "magic-string": "^0.30.21",
@@ -1,11 +1,11 @@
1
- const require_versions = require("./nx_18_X/versions.js");
1
+ const require_versions = require("./versions.js");
2
2
  //#region packages/nx-plugin/src/generators/app/versions/tailwind-dependencies.ts
3
3
  var getTailwindDependencies = () => {
4
4
  return {
5
- postcss: require_versions.V18_X_POSTCSS,
6
- tailwindcss: require_versions.V18_X_TAILWINDCSS,
7
- "@tailwindcss/postcss": require_versions.V18_X_TAILWINDCSS_POSTCSS,
8
- "@tailwindcss/vite": require_versions.V18_X_TAILWINDCSS_VITE
5
+ postcss: require_versions.POSTCSS,
6
+ tailwindcss: require_versions.TAILWINDCSS,
7
+ "@tailwindcss/postcss": require_versions.TAILWINDCSS_POSTCSS,
8
+ "@tailwindcss/vite": require_versions.TAILWINDCSS_VITE
9
9
  };
10
10
  };
11
11
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"tailwind-dependencies.js","names":[],"sources":["../../../../../../../../../nx-plugin/src/generators/app/versions/tailwind-dependencies.ts"],"sourcesContent":["import {\n V18_X_POSTCSS,\n V18_X_TAILWINDCSS,\n V18_X_TAILWINDCSS_POSTCSS,\n V18_X_TAILWINDCSS_VITE,\n} from './nx_18_X/versions';\n\nconst tailwindDependencyKeys = [\n 'postcss',\n 'tailwindcss',\n '@tailwindcss/postcss',\n '@tailwindcss/vite',\n] as const;\n\nexport type TailwindDependency = (typeof tailwindDependencyKeys)[number];\n\nexport const getTailwindDependencies = (): Record<\n TailwindDependency,\n string\n> => {\n return {\n postcss: V18_X_POSTCSS,\n tailwindcss: V18_X_TAILWINDCSS,\n '@tailwindcss/postcss': V18_X_TAILWINDCSS_POSTCSS,\n '@tailwindcss/vite': V18_X_TAILWINDCSS_VITE,\n };\n};\n"],"mappings":";;AAgBA,IAAa,gCAGR;AACH,QAAO;EACL,SAAS,iBAAA;EACT,aAAa,iBAAA;EACb,wBAAwB,iBAAA;EACxB,qBAAqB,iBAAA;EACtB"}
1
+ {"version":3,"file":"tailwind-dependencies.js","names":[],"sources":["../../../../../../../../../nx-plugin/src/generators/app/versions/tailwind-dependencies.ts"],"sourcesContent":["import {\n POSTCSS,\n TAILWINDCSS,\n TAILWINDCSS_POSTCSS,\n TAILWINDCSS_VITE,\n} from './versions';\n\nconst tailwindDependencyKeys = [\n 'postcss',\n 'tailwindcss',\n '@tailwindcss/postcss',\n '@tailwindcss/vite',\n] as const;\n\nexport type TailwindDependency = (typeof tailwindDependencyKeys)[number];\n\nexport const getTailwindDependencies = (): Record<\n TailwindDependency,\n string\n> => {\n return {\n postcss: POSTCSS,\n tailwindcss: TAILWINDCSS,\n '@tailwindcss/postcss': TAILWINDCSS_POSTCSS,\n '@tailwindcss/vite': TAILWINDCSS_VITE,\n };\n};\n"],"mappings":";;AAgBA,IAAa,gCAGR;AACH,QAAO;EACL,SAAS,iBAAA;EACT,aAAa,iBAAA;EACb,wBAAwB,iBAAA;EACxB,qBAAqB,iBAAA;EACtB"}
@@ -0,0 +1,4 @@
1
+ export declare const POSTCSS = "^8.5.6";
2
+ export declare const TAILWINDCSS = "^4.2.2";
3
+ export declare const TAILWINDCSS_POSTCSS = "^4.2.2";
4
+ export declare const TAILWINDCSS_VITE = "^4.2.2";
@@ -0,0 +1,12 @@
1
+ //#region packages/nx-plugin/src/generators/app/versions/versions.ts
2
+ var POSTCSS = "^8.5.6";
3
+ var TAILWINDCSS = "^4.2.2";
4
+ var TAILWINDCSS_POSTCSS = "^4.2.2";
5
+ var TAILWINDCSS_VITE = "^4.2.2";
6
+ //#endregion
7
+ exports.POSTCSS = POSTCSS;
8
+ exports.TAILWINDCSS = TAILWINDCSS;
9
+ exports.TAILWINDCSS_POSTCSS = TAILWINDCSS_POSTCSS;
10
+ exports.TAILWINDCSS_VITE = TAILWINDCSS_VITE;
11
+
12
+ //# sourceMappingURL=versions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versions.js","names":[],"sources":["../../../../../../../../../nx-plugin/src/generators/app/versions/versions.ts"],"sourcesContent":["export const POSTCSS = '^8.5.6';\nexport const TAILWINDCSS = '^4.2.2';\nexport const TAILWINDCSS_POSTCSS = '^4.2.2';\nexport const TAILWINDCSS_VITE = '^4.2.2';\n"],"mappings":";AAAA,IAAa,UAAU;AACvB,IAAa,cAAc;AAC3B,IAAa,sBAAsB;AACnC,IAAa,mBAAmB"}
@@ -1,5 +1,5 @@
1
1
  require("../../../_virtual/_rolldown/runtime.js");
2
- const require_versions = require("./ng_19_X/versions.js");
2
+ const require_versions = require("./versions.js");
3
3
  let _nx_devkit = require("@nx/devkit");
4
4
  let semver = require("semver");
5
5
  //#region packages/nx-plugin/src/utils/versions/dependencies.ts
@@ -9,13 +9,13 @@ var getAnalogDependencies = (ngVersion) => {
9
9
  var getDependencies = (escapedAngularVersion) => {
10
10
  if ((0, semver.lt)(escapedAngularVersion, "20.0.0")) throw new Error(_nx_devkit.stripIndents`Angular v20.0.0 or newer is required.`);
11
11
  return {
12
- "@analogjs/content": require_versions.V19_X_ANALOG_JS_CONTENT,
13
- "@analogjs/router": require_versions.V19_X_ANALOG_JS_ROUTER,
14
- marked: require_versions.V19_X_MARKED,
15
- "marked-gfm-heading-id": require_versions.V19_X_MARKED_GFM_HEADING_ID,
16
- "marked-highlight": require_versions.V19_X_MARKED_HIGHLIGHT,
17
- "marked-mangle": require_versions.V19_X_MARKED_MANGLE,
18
- prismjs: require_versions.V19_X_PRISMJS
12
+ "@analogjs/content": require_versions.ANALOG_JS_CONTENT,
13
+ "@analogjs/router": require_versions.ANALOG_JS_ROUTER,
14
+ marked: require_versions.MARKED,
15
+ "marked-gfm-heading-id": require_versions.MARKED_GFM_HEADING_ID,
16
+ "marked-highlight": require_versions.MARKED_HIGHLIGHT,
17
+ "marked-mangle": require_versions.MARKED_MANGLE,
18
+ prismjs: require_versions.PRISMJS
19
19
  };
20
20
  };
21
21
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"dependencies.js","names":[],"sources":["../../../../../../../../nx-plugin/src/utils/versions/dependencies.ts"],"sourcesContent":["import { lt } from 'semver';\nimport { stripIndents } from '@nx/devkit';\nimport {\n V19_X_ANALOG_JS_CONTENT,\n V19_X_ANALOG_JS_ROUTER,\n V19_X_MARKED,\n V19_X_MARKED_GFM_HEADING_ID,\n V19_X_MARKED_HIGHLIGHT,\n V19_X_MARKED_MANGLE,\n V19_X_PRISMJS,\n} from './ng_19_X/versions';\n\nconst dependencyKeys = [\n '@analogjs/content',\n '@analogjs/router',\n 'marked',\n 'marked-gfm-heading-id',\n 'marked-highlight',\n 'prismjs',\n] as const;\nexport type AnalogDependency = (typeof dependencyKeys)[number];\n\nexport const getAnalogDependencies = (\n ngVersion: string,\n): Record<AnalogDependency, string> => {\n const escapedNgVersion = ngVersion.replace(/[~^]/, '');\n\n const dependencies = getDependencies(escapedNgVersion);\n\n return { ...dependencies };\n};\n\nconst getDependencies = (escapedAngularVersion: string) => {\n // fail out for versions <20.0.0\n if (lt(escapedAngularVersion, '20.0.0')) {\n throw new Error(stripIndents`Angular v20.0.0 or newer is required.`);\n }\n\n // return latest deps for versions >=20.0.0\n return {\n '@analogjs/content': V19_X_ANALOG_JS_CONTENT,\n '@analogjs/router': V19_X_ANALOG_JS_ROUTER,\n marked: V19_X_MARKED,\n 'marked-gfm-heading-id': V19_X_MARKED_GFM_HEADING_ID,\n 'marked-highlight': V19_X_MARKED_HIGHLIGHT,\n 'marked-mangle': V19_X_MARKED_MANGLE,\n prismjs: V19_X_PRISMJS,\n };\n};\n"],"mappings":";;;;;AAsBA,IAAa,yBACX,cACqC;AAKrC,QAAO,EAAE,GAFY,gBAFI,UAAU,QAAQ,QAAQ,GAAG,CAEA,EAE5B;;AAG5B,IAAM,mBAAmB,0BAAkC;AAEzD,MAAA,GAAA,OAAA,IAAO,uBAAuB,SAAS,CACrC,OAAM,IAAI,MAAM,WAAA,YAAY,wCAAwC;AAItE,QAAO;EACL,qBAAqB,iBAAA;EACrB,oBAAoB,iBAAA;EACpB,QAAQ,iBAAA;EACR,yBAAyB,iBAAA;EACzB,oBAAoB,iBAAA;EACpB,iBAAiB,iBAAA;EACjB,SAAS,iBAAA;EACV"}
1
+ {"version":3,"file":"dependencies.js","names":[],"sources":["../../../../../../../../nx-plugin/src/utils/versions/dependencies.ts"],"sourcesContent":["import { lt } from 'semver';\nimport { stripIndents } from '@nx/devkit';\nimport {\n ANALOG_JS_CONTENT,\n ANALOG_JS_ROUTER,\n MARKED,\n MARKED_GFM_HEADING_ID,\n MARKED_HIGHLIGHT,\n MARKED_MANGLE,\n PRISMJS,\n} from './versions';\n\nconst dependencyKeys = [\n '@analogjs/content',\n '@analogjs/router',\n 'marked',\n 'marked-gfm-heading-id',\n 'marked-highlight',\n 'prismjs',\n] as const;\nexport type AnalogDependency = (typeof dependencyKeys)[number];\n\nexport const getAnalogDependencies = (\n ngVersion: string,\n): Record<AnalogDependency, string> => {\n const escapedNgVersion = ngVersion.replace(/[~^]/, '');\n\n const dependencies = getDependencies(escapedNgVersion);\n\n return { ...dependencies };\n};\n\nconst getDependencies = (escapedAngularVersion: string) => {\n // fail out for versions <20.0.0\n if (lt(escapedAngularVersion, '20.0.0')) {\n throw new Error(stripIndents`Angular v20.0.0 or newer is required.`);\n }\n\n // return latest deps for versions >=20.0.0\n return {\n '@analogjs/content': ANALOG_JS_CONTENT,\n '@analogjs/router': ANALOG_JS_ROUTER,\n marked: MARKED,\n 'marked-gfm-heading-id': MARKED_GFM_HEADING_ID,\n 'marked-highlight': MARKED_HIGHLIGHT,\n 'marked-mangle': MARKED_MANGLE,\n prismjs: PRISMJS,\n };\n};\n"],"mappings":";;;;;AAsBA,IAAa,yBACX,cACqC;AAKrC,QAAO,EAAE,GAFY,gBAFI,UAAU,QAAQ,QAAQ,GAAG,CAEA,EAE5B;;AAG5B,IAAM,mBAAmB,0BAAkC;AAEzD,MAAA,GAAA,OAAA,IAAO,uBAAuB,SAAS,CACrC,OAAM,IAAI,MAAM,WAAA,YAAY,wCAAwC;AAItE,QAAO;EACL,qBAAqB,iBAAA;EACrB,oBAAoB,iBAAA;EACpB,QAAQ,iBAAA;EACR,yBAAyB,iBAAA;EACzB,oBAAoB,iBAAA;EACpB,iBAAiB,iBAAA;EACjB,SAAS,iBAAA;EACV"}
@@ -1,21 +1,21 @@
1
1
  require("../../../_virtual/_rolldown/runtime.js");
2
- const require_versions = require("./ng_19_X/versions.js");
2
+ const require_versions = require("./versions.js");
3
3
  let _nx_devkit = require("@nx/devkit");
4
4
  let semver = require("semver");
5
5
  //#region packages/nx-plugin/src/utils/versions/dev-dependencies.ts
6
6
  var getAnalogDevDependencies = (ngVersion) => {
7
7
  if ((0, semver.lt)(ngVersion.replace(/[~^]/, ""), "20.0.0")) throw new Error(_nx_devkit.stripIndents`Angular v20.0.0 or newer is required.`);
8
8
  return {
9
- "@analogjs/platform": require_versions.V19_X_ANALOG_JS_PLATFORM,
10
- "@analogjs/vite-plugin-angular": require_versions.V19_X_ANALOG_JS_VITE_PLUGIN_ANGULAR,
11
- "@analogjs/vitest-angular": require_versions.V19_X_ANALOG_JS_VITEST_ANGULAR,
12
- "@nx/vite": require_versions.NX_X_LATEST_NX,
13
- jsdom: require_versions.V19_X_JSDOM,
14
- "vite-tsconfig-paths": require_versions.V19_X_VITE_TSCONFIG_PATHS,
15
- vite: require_versions.NX_X_LATEST_VITE,
16
- vitest: require_versions.NX_X_LATEST_VITEST,
17
- "@vitest/coverage-v8": require_versions.NX_X_LATEST_VITEST,
18
- "@vitest/ui": require_versions.NX_X_LATEST_VITEST
9
+ "@analogjs/platform": require_versions.ANALOG_JS_PLATFORM,
10
+ "@analogjs/vite-plugin-angular": require_versions.ANALOG_JS_VITE_PLUGIN_ANGULAR,
11
+ "@analogjs/vitest-angular": require_versions.ANALOG_JS_VITEST_ANGULAR,
12
+ "@nx/vite": require_versions.NX,
13
+ jsdom: require_versions.JSDOM,
14
+ "vite-tsconfig-paths": require_versions.VITE_TSCONFIG_PATHS,
15
+ vite: require_versions.VITE,
16
+ vitest: require_versions.VITEST,
17
+ "@vitest/coverage-v8": require_versions.VITEST,
18
+ "@vitest/ui": require_versions.VITEST
19
19
  };
20
20
  };
21
21
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"dev-dependencies.js","names":[],"sources":["../../../../../../../../nx-plugin/src/utils/versions/dev-dependencies.ts"],"sourcesContent":["import { lt } from 'semver';\nimport { stripIndents } from '@nx/devkit';\nimport {\n V19_X_ANALOG_JS_PLATFORM,\n V19_X_ANALOG_JS_VITE_PLUGIN_ANGULAR,\n V19_X_ANALOG_JS_VITEST_ANGULAR,\n V19_X_JSDOM,\n V19_X_VITE_TSCONFIG_PATHS,\n NX_X_LATEST_VITE,\n NX_X_LATEST_VITEST,\n NX_X_LATEST_NX,\n} from './ng_19_X/versions';\n\nconst devDependencyKeys = [\n '@analogjs/platform',\n '@analogjs/vite-plugin-angular',\n '@analogjs/vitest-angular',\n '@nx/vite',\n 'jsdom',\n 'vite-tsconfig-paths',\n 'vitest',\n 'vite',\n '@vitest/coverage-v8',\n '@vitest/ui',\n] as const;\nexport type AnalogDevDependency = (typeof devDependencyKeys)[number];\n\nexport const getAnalogDevDependencies = (\n ngVersion: string,\n): Record<AnalogDevDependency, string> => {\n const escapedNgVersion = ngVersion.replace(/[~^]/, '');\n\n // fail out for versions <20.0.0\n if (lt(escapedNgVersion, '20.0.0')) {\n throw new Error(stripIndents`Angular v20.0.0 or newer is required.`);\n }\n\n return {\n '@analogjs/platform': V19_X_ANALOG_JS_PLATFORM,\n '@analogjs/vite-plugin-angular': V19_X_ANALOG_JS_VITE_PLUGIN_ANGULAR,\n '@analogjs/vitest-angular': V19_X_ANALOG_JS_VITEST_ANGULAR,\n '@nx/vite': NX_X_LATEST_NX,\n jsdom: V19_X_JSDOM,\n 'vite-tsconfig-paths': V19_X_VITE_TSCONFIG_PATHS,\n vite: NX_X_LATEST_VITE,\n vitest: NX_X_LATEST_VITEST,\n '@vitest/coverage-v8': NX_X_LATEST_VITEST,\n '@vitest/ui': NX_X_LATEST_VITEST,\n };\n};\n"],"mappings":";;;;;AA2BA,IAAa,4BACX,cACwC;AAIxC,MAAA,GAAA,OAAA,IAHyB,UAAU,QAAQ,QAAQ,GAAG,EAG7B,SAAS,CAChC,OAAM,IAAI,MAAM,WAAA,YAAY,wCAAwC;AAGtE,QAAO;EACL,sBAAsB,iBAAA;EACtB,iCAAiC,iBAAA;EACjC,4BAA4B,iBAAA;EAC5B,YAAY,iBAAA;EACZ,OAAO,iBAAA;EACP,uBAAuB,iBAAA;EACvB,MAAM,iBAAA;EACN,QAAQ,iBAAA;EACR,uBAAuB,iBAAA;EACvB,cAAc,iBAAA;EACf"}
1
+ {"version":3,"file":"dev-dependencies.js","names":[],"sources":["../../../../../../../../nx-plugin/src/utils/versions/dev-dependencies.ts"],"sourcesContent":["import { lt } from 'semver';\nimport { stripIndents } from '@nx/devkit';\nimport {\n ANALOG_JS_PLATFORM,\n ANALOG_JS_VITE_PLUGIN_ANGULAR,\n ANALOG_JS_VITEST_ANGULAR,\n JSDOM,\n VITE_TSCONFIG_PATHS,\n VITE,\n VITEST,\n NX,\n} from './versions';\n\nconst devDependencyKeys = [\n '@analogjs/platform',\n '@analogjs/vite-plugin-angular',\n '@analogjs/vitest-angular',\n '@nx/vite',\n 'jsdom',\n 'vite-tsconfig-paths',\n 'vitest',\n 'vite',\n '@vitest/coverage-v8',\n '@vitest/ui',\n] as const;\nexport type AnalogDevDependency = (typeof devDependencyKeys)[number];\n\nexport const getAnalogDevDependencies = (\n ngVersion: string,\n): Record<AnalogDevDependency, string> => {\n const escapedNgVersion = ngVersion.replace(/[~^]/, '');\n\n // fail out for versions <20.0.0\n if (lt(escapedNgVersion, '20.0.0')) {\n throw new Error(stripIndents`Angular v20.0.0 or newer is required.`);\n }\n\n return {\n '@analogjs/platform': ANALOG_JS_PLATFORM,\n '@analogjs/vite-plugin-angular': ANALOG_JS_VITE_PLUGIN_ANGULAR,\n '@analogjs/vitest-angular': ANALOG_JS_VITEST_ANGULAR,\n '@nx/vite': NX,\n jsdom: JSDOM,\n 'vite-tsconfig-paths': VITE_TSCONFIG_PATHS,\n vite: VITE,\n vitest: VITEST,\n '@vitest/coverage-v8': VITEST,\n '@vitest/ui': VITEST,\n };\n};\n"],"mappings":";;;;;AA2BA,IAAa,4BACX,cACwC;AAIxC,MAAA,GAAA,OAAA,IAHyB,UAAU,QAAQ,QAAQ,GAAG,EAG7B,SAAS,CAChC,OAAM,IAAI,MAAM,WAAA,YAAY,wCAAwC;AAGtE,QAAO;EACL,sBAAsB,iBAAA;EACtB,iCAAiC,iBAAA;EACjC,4BAA4B,iBAAA;EAC5B,YAAY,iBAAA;EACZ,OAAO,iBAAA;EACP,uBAAuB,iBAAA;EACvB,MAAM,iBAAA;EACN,QAAQ,iBAAA;EACR,uBAAuB,iBAAA;EACvB,cAAc,iBAAA;EACf"}
@@ -0,0 +1,15 @@
1
+ export declare const ANALOG_JS_ROUTER = "^3.0.0-alpha.99";
2
+ export declare const ANALOG_JS_CONTENT = "^3.0.0-alpha.99";
3
+ export declare const MARKED = "^18.0.0";
4
+ export declare const MARKED_GFM_HEADING_ID = "^4.1.1";
5
+ export declare const MARKED_HIGHLIGHT = "^2.2.1";
6
+ export declare const MARKED_MANGLE = "^1.1.10";
7
+ export declare const PRISMJS = "^1.29.0";
8
+ export declare const ANALOG_JS_PLATFORM = "^3.0.0-alpha.99";
9
+ export declare const ANALOG_JS_VITE_PLUGIN_ANGULAR = "^3.0.0-alpha.99";
10
+ export declare const ANALOG_JS_VITEST_ANGULAR = "^3.0.0-alpha.99";
11
+ export declare const JSDOM = "^22.0.0";
12
+ export declare const VITE_TSCONFIG_PATHS = "^4.2.0";
13
+ export declare const VITE = "^8.0.0";
14
+ export declare const VITEST = "^5.0.0";
15
+ export declare const NX = "^23.2.0";
@@ -0,0 +1,34 @@
1
+ //#region packages/nx-plugin/src/utils/versions/versions.ts
2
+ var ANALOG_JS_ROUTER = "^3.0.0-alpha.99";
3
+ var ANALOG_JS_CONTENT = "^3.0.0-alpha.99";
4
+ var MARKED = "^18.0.0";
5
+ var MARKED_GFM_HEADING_ID = "^4.1.1";
6
+ var MARKED_HIGHLIGHT = "^2.2.1";
7
+ var MARKED_MANGLE = "^1.1.10";
8
+ var PRISMJS = "^1.29.0";
9
+ var ANALOG_JS_PLATFORM = "^3.0.0-alpha.99";
10
+ var ANALOG_JS_VITE_PLUGIN_ANGULAR = "^3.0.0-alpha.99";
11
+ var ANALOG_JS_VITEST_ANGULAR = "^3.0.0-alpha.99";
12
+ var JSDOM = "^22.0.0";
13
+ var VITE_TSCONFIG_PATHS = "^4.2.0";
14
+ var VITE = "^8.0.0";
15
+ var VITEST = "^5.0.0";
16
+ var NX = "^23.2.0";
17
+ //#endregion
18
+ exports.ANALOG_JS_CONTENT = ANALOG_JS_CONTENT;
19
+ exports.ANALOG_JS_PLATFORM = ANALOG_JS_PLATFORM;
20
+ exports.ANALOG_JS_ROUTER = ANALOG_JS_ROUTER;
21
+ exports.ANALOG_JS_VITEST_ANGULAR = ANALOG_JS_VITEST_ANGULAR;
22
+ exports.ANALOG_JS_VITE_PLUGIN_ANGULAR = ANALOG_JS_VITE_PLUGIN_ANGULAR;
23
+ exports.JSDOM = JSDOM;
24
+ exports.MARKED = MARKED;
25
+ exports.MARKED_GFM_HEADING_ID = MARKED_GFM_HEADING_ID;
26
+ exports.MARKED_HIGHLIGHT = MARKED_HIGHLIGHT;
27
+ exports.MARKED_MANGLE = MARKED_MANGLE;
28
+ exports.NX = NX;
29
+ exports.PRISMJS = PRISMJS;
30
+ exports.VITE = VITE;
31
+ exports.VITEST = VITEST;
32
+ exports.VITE_TSCONFIG_PATHS = VITE_TSCONFIG_PATHS;
33
+
34
+ //# sourceMappingURL=versions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versions.js","names":[],"sources":["../../../../../../../../nx-plugin/src/utils/versions/versions.ts"],"sourcesContent":["// dependencies\nexport const ANALOG_JS_ROUTER = '^3.0.0-alpha.99';\nexport const ANALOG_JS_CONTENT = '^3.0.0-alpha.99';\nexport const MARKED = '^18.0.0';\nexport const MARKED_GFM_HEADING_ID = '^4.1.1';\nexport const MARKED_HIGHLIGHT = '^2.2.1';\nexport const MARKED_MANGLE = '^1.1.10';\nexport const PRISMJS = '^1.29.0';\n\n// devDependencies\nexport const ANALOG_JS_PLATFORM = '^3.0.0-alpha.99';\nexport const ANALOG_JS_VITE_PLUGIN_ANGULAR = '^3.0.0-alpha.99';\nexport const ANALOG_JS_VITEST_ANGULAR = '^3.0.0-alpha.99';\nexport const JSDOM = '^22.0.0';\nexport const VITE_TSCONFIG_PATHS = '^4.2.0';\nexport const VITE = '^8.0.0';\nexport const VITEST = '^5.0.0';\nexport const NX = '^23.2.0';\n"],"mappings":";AACA,IAAa,mBAAmB;AAChC,IAAa,oBAAoB;AACjC,IAAa,SAAS;AACtB,IAAa,wBAAwB;AACrC,IAAa,mBAAmB;AAChC,IAAa,gBAAgB;AAC7B,IAAa,UAAU;AAGvB,IAAa,qBAAqB;AAClC,IAAa,gCAAgC;AAC7C,IAAa,2BAA2B;AACxC,IAAa,QAAQ;AACrB,IAAa,sBAAsB;AACnC,IAAa,OAAO;AACpB,IAAa,SAAS;AACtB,IAAa,KAAK"}
@@ -17,7 +17,6 @@ function analyzeAnalogRouteFile(options) {
17
17
  const program = parseResult.program;
18
18
  const exportedBindings = collectExportedBindings(program);
19
19
  const routeMetaBindingName = exportedBindings.routeMeta;
20
- const routeJsonLdBindingName = exportedBindings.routeJsonLd;
21
20
  const diagnostics = [...parseDiagnostics];
22
21
  const routeMetaInfo = routeMetaBindingName ? getRouteMetaInfo(program, routeMetaBindingName) : null;
23
22
  if (!exportedBindings.hasDefaultExport && !routeMetaInfo?.hasRedirect) diagnostics.push({
@@ -38,12 +37,6 @@ function analyzeAnalogRouteFile(options) {
38
37
  message: "`routeMeta.redirectTo` should use an absolute path.",
39
38
  details: "Nested redirects are documented to use absolute targets such as `/cities/new-york`."
40
39
  });
41
- if (routeJsonLdBindingName) diagnostics.push({
42
- code: "legacy-route-jsonld-export",
43
- severity: "warning",
44
- message: "Prefer `routeMeta.jsonLd` over the legacy top-level `routeJsonLd` export.",
45
- details: "Keeping JSON-LD inside `routeMeta` makes the route module easier to read and matches the current docs."
46
- });
47
40
  if (isLikelyLayoutRoute(filename, routeFiles) && !ROUTER_OUTLET_RE.test(code)) diagnostics.push({
48
41
  code: "layout-without-router-outlet",
49
42
  severity: "warning",
@@ -111,7 +104,6 @@ function getVariableInitializer(declaration, bindingName) {
111
104
  function collectExportedBindings(program) {
112
105
  let hasDefaultExport = false;
113
106
  let routeMeta;
114
- let routeJsonLd;
115
107
  for (const statement of program.body ?? []) {
116
108
  if (statement?.type === "ExportDefaultDeclaration") {
117
109
  hasDefaultExport = true;
@@ -122,19 +114,16 @@ function collectExportedBindings(program) {
122
114
  if (declaration?.type === "VariableDeclaration") for (const declarator of declaration.declarations ?? []) {
123
115
  if (declarator.id?.type !== "Identifier") continue;
124
116
  if (declarator.id.name === "routeMeta") routeMeta = "routeMeta";
125
- if (declarator.id.name === "routeJsonLd") routeJsonLd = "routeJsonLd";
126
117
  }
127
118
  for (const specifier of statement.specifiers ?? []) {
128
119
  if (specifier?.type !== "ExportSpecifier" || specifier.local?.type !== "Identifier") continue;
129
120
  if (specifier.exported?.type !== "Identifier") continue;
130
121
  if (specifier.exported.name === "routeMeta") routeMeta = specifier.local.name;
131
- if (specifier.exported.name === "routeJsonLd") routeJsonLd = specifier.local.name;
132
122
  }
133
123
  }
134
124
  return {
135
125
  hasDefaultExport,
136
- routeMeta,
137
- routeJsonLd
126
+ routeMeta
138
127
  };
139
128
  }
140
129
  function getPropertyName(node) {
@@ -1 +1 @@
1
- {"version":3,"file":"route-idiom-diagnostics.js","names":[],"sources":["../../../src/lib/route-idiom-diagnostics.ts"],"sourcesContent":["import { parseSync, type OxcError, type Severity } from 'oxc-parser';\nimport { relative } from 'node:path';\nimport { normalizePath } from 'vite';\n\nexport interface AnalogRouteIdiomDiagnostic {\n code: string;\n severity: 'error' | 'warning';\n message: string;\n details?: string;\n}\n\nexport interface AnalyzeAnalogRouteFileOptions {\n filename: string;\n code: string;\n routeFiles?: string[];\n}\n\nconst PAGE_FILE_RE = /\\.page\\.ts$/;\nconst ROUTER_OUTLET_RE = /\\bRouterOutlet\\b|<router-outlet(?:\\s|>)/;\n\nexport function analyzeAnalogRouteFile(\n options: AnalyzeAnalogRouteFileOptions,\n): AnalogRouteIdiomDiagnostic[] {\n const { filename, code, routeFiles = [] } = options;\n const parseResult = parseSync(filename, code, {\n lang: 'ts',\n sourceType: 'module',\n range: true,\n showSemanticErrors: true,\n });\n\n const parseDiagnostics = parseResult.errors.map((error) =>\n toParseDiagnostic(error),\n );\n\n if (parseDiagnostics.some((diagnostic) => diagnostic.severity === 'error')) {\n return parseDiagnostics;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const program: any = parseResult.program;\n const exportedBindings = collectExportedBindings(program);\n const routeMetaBindingName = exportedBindings.routeMeta;\n const routeJsonLdBindingName = exportedBindings.routeJsonLd;\n const diagnostics = [...parseDiagnostics];\n\n const routeMetaInfo = routeMetaBindingName\n ? getRouteMetaInfo(program, routeMetaBindingName)\n : null;\n\n if (!exportedBindings.hasDefaultExport && !routeMetaInfo?.hasRedirect) {\n diagnostics.push({\n code: 'missing-default-export',\n severity: 'warning',\n message:\n 'Route files should default-export the page component, unless they are redirect-only routes.',\n details:\n 'Add `export default class ...` or define `routeMeta.redirectTo` for a redirect route.',\n });\n }\n\n if (exportedBindings.hasDefaultExport && routeMetaInfo?.hasRedirect) {\n diagnostics.push({\n code: 'redirect-with-component',\n severity: 'warning',\n message: 'Redirect routes should not also export a page component.',\n details:\n 'Analog ignores the default export when `routeMeta.redirectTo` is present. Remove the component export or remove the redirect.',\n });\n }\n\n if (\n routeMetaInfo?.hasRedirect &&\n routeMetaInfo.redirectTo &&\n !routeMetaInfo.redirectTo.startsWith('/')\n ) {\n diagnostics.push({\n code: 'relative-redirect',\n severity: 'warning',\n message: '`routeMeta.redirectTo` should use an absolute path.',\n details:\n 'Nested redirects are documented to use absolute targets such as `/cities/new-york`.',\n });\n }\n\n if (routeJsonLdBindingName) {\n diagnostics.push({\n code: 'legacy-route-jsonld-export',\n severity: 'warning',\n message:\n 'Prefer `routeMeta.jsonLd` over the legacy top-level `routeJsonLd` export.',\n details:\n 'Keeping JSON-LD inside `routeMeta` makes the route module easier to read and matches the current docs.',\n });\n }\n\n if (\n isLikelyLayoutRoute(filename, routeFiles) &&\n !ROUTER_OUTLET_RE.test(code)\n ) {\n diagnostics.push({\n code: 'layout-without-router-outlet',\n severity: 'warning',\n message:\n 'This route file looks like a layout shell, but it does not reference `RouterOutlet` or `<router-outlet>`.',\n details:\n 'Parent layout pages usually import `RouterOutlet` and render an outlet so child routes have somewhere to mount.',\n });\n }\n\n return diagnostics;\n}\n\nexport function formatAnalogRouteIdiomDiagnostic(\n diagnostic: AnalogRouteIdiomDiagnostic,\n filename: string,\n workspaceRoot: string,\n): string {\n const displayName = toDisplayPath(filename, workspaceRoot);\n const header = `[Analog] ${displayName} (${diagnostic.code})`;\n const severity = diagnostic.severity.toUpperCase();\n\n if (diagnostic.details) {\n return `${header}\\n${severity}: ${diagnostic.message}\\n${diagnostic.details}`;\n }\n\n return `${header}\\n${severity}: ${diagnostic.message}`;\n}\n\nfunction toDisplayPath(filename: string, workspaceRoot: string): string {\n const normalizedFilename = normalizePath(filename);\n const normalizedRoot = normalizePath(workspaceRoot);\n const relativePath = normalizePath(\n relative(normalizedRoot, normalizedFilename),\n );\n\n if (relativePath && !relativePath.startsWith('..')) {\n return `/${relativePath}`;\n }\n\n return normalizedFilename;\n}\n\nfunction toParseDiagnostic(error: OxcError): AnalogRouteIdiomDiagnostic {\n return {\n code: 'oxc-parse',\n severity: error.severity === severityError ? 'error' : 'warning',\n message: error.message,\n details: error.codeframe ?? error.helpMessage ?? undefined,\n };\n}\n\nconst severityError: Severity = 'Error';\n\nfunction isLikelyLayoutRoute(filename: string, routeFiles: string[]): boolean {\n if (!PAGE_FILE_RE.test(filename)) {\n return false;\n }\n\n const routeStem = filename.replace(PAGE_FILE_RE, '');\n return routeFiles.some(\n (routeFile) =>\n routeFile !== filename && routeFile.startsWith(`${routeStem}/`),\n );\n}\n\nfunction getRouteMetaInfo(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n program: any,\n bindingName: string,\n): {\n hasRedirect: boolean;\n redirectTo?: string;\n} | null {\n const routeMetaNode = getExportedBindingInitializer(program, bindingName);\n\n if (routeMetaNode?.type !== 'ObjectExpression') {\n return null;\n }\n\n let redirectTo: string | undefined;\n\n for (const property of routeMetaNode.properties ?? []) {\n if (property?.type !== 'Property') {\n continue;\n }\n\n const keyName = getPropertyName(property.key);\n if (keyName !== 'redirectTo') {\n continue;\n }\n\n redirectTo = getStringValue(property.value);\n }\n\n return {\n hasRedirect: typeof redirectTo === 'string' && redirectTo.length > 0,\n redirectTo,\n };\n}\n\nfunction getExportedBindingInitializer(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n program: any,\n bindingName: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): any | undefined {\n for (const statement of program.body ?? []) {\n if (statement?.type === 'VariableDeclaration') {\n const initializer = getVariableInitializer(statement, bindingName);\n if (initializer) {\n return initializer;\n }\n continue;\n }\n\n if (\n statement?.type === 'ExportNamedDeclaration' &&\n statement.declaration?.type === 'VariableDeclaration'\n ) {\n const initializer = getVariableInitializer(\n statement.declaration,\n bindingName,\n );\n if (initializer) {\n return initializer;\n }\n }\n }\n\n return undefined;\n}\n\nfunction getVariableInitializer(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n declaration: any,\n bindingName: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): any | undefined {\n for (const declarator of declaration.declarations ?? []) {\n if (\n declarator.id?.type === 'Identifier' &&\n declarator.id.name === bindingName\n ) {\n return declarator.init;\n }\n }\n\n return undefined;\n}\n\nfunction collectExportedBindings(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n program: any,\n): {\n hasDefaultExport: boolean;\n routeMeta?: string;\n routeJsonLd?: string;\n} {\n let hasDefaultExport = false;\n let routeMeta: string | undefined;\n let routeJsonLd: string | undefined;\n\n for (const statement of program.body ?? []) {\n if (statement?.type === 'ExportDefaultDeclaration') {\n hasDefaultExport = true;\n continue;\n }\n\n if (statement?.type !== 'ExportNamedDeclaration') {\n continue;\n }\n\n const declaration = statement.declaration;\n if (declaration?.type === 'VariableDeclaration') {\n for (const declarator of declaration.declarations ?? []) {\n if (declarator.id?.type !== 'Identifier') {\n continue;\n }\n\n if (declarator.id.name === 'routeMeta') {\n routeMeta = 'routeMeta';\n }\n\n if (declarator.id.name === 'routeJsonLd') {\n routeJsonLd = 'routeJsonLd';\n }\n }\n }\n\n for (const specifier of statement.specifiers ?? []) {\n if (\n specifier?.type !== 'ExportSpecifier' ||\n specifier.local?.type !== 'Identifier'\n ) {\n continue;\n }\n\n if (specifier.exported?.type !== 'Identifier') {\n continue;\n }\n\n if (specifier.exported.name === 'routeMeta') {\n routeMeta = specifier.local.name;\n }\n\n if (specifier.exported.name === 'routeJsonLd') {\n routeJsonLd = specifier.local.name;\n }\n }\n }\n\n return {\n hasDefaultExport,\n routeMeta,\n routeJsonLd,\n };\n}\n\nfunction getPropertyName(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node: any,\n): string | undefined {\n if (node?.type === 'Identifier') {\n return node.name;\n }\n\n if (\n (node?.type === 'Literal' || node?.type === 'StringLiteral') &&\n typeof node.value === 'string'\n ) {\n return node.value;\n }\n\n return undefined;\n}\n\nfunction getStringValue(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node: any,\n): string | undefined {\n if (\n (node?.type === 'Literal' || node?.type === 'StringLiteral') &&\n typeof node.value === 'string'\n ) {\n return node.value;\n }\n\n if (\n node?.type === 'TemplateLiteral' &&\n node.expressions?.length === 0 &&\n node.quasis?.length === 1\n ) {\n return node.quasis[0].value.cooked ?? node.quasis[0].value.raw;\n }\n\n return undefined;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"route-idiom-diagnostics.js","names":[],"sources":["../../../src/lib/route-idiom-diagnostics.ts"],"sourcesContent":["import { parseSync, type OxcError, type Severity } from 'oxc-parser';\nimport { relative } from 'node:path';\nimport { normalizePath } from 'vite';\n\nexport interface AnalogRouteIdiomDiagnostic {\n code: string;\n severity: 'error' | 'warning';\n message: string;\n details?: string;\n}\n\nexport interface AnalyzeAnalogRouteFileOptions {\n filename: string;\n code: string;\n routeFiles?: string[];\n}\n\nconst PAGE_FILE_RE = /\\.page\\.ts$/;\nconst ROUTER_OUTLET_RE = /\\bRouterOutlet\\b|<router-outlet(?:\\s|>)/;\n\nexport function analyzeAnalogRouteFile(\n options: AnalyzeAnalogRouteFileOptions,\n): AnalogRouteIdiomDiagnostic[] {\n const { filename, code, routeFiles = [] } = options;\n const parseResult = parseSync(filename, code, {\n lang: 'ts',\n sourceType: 'module',\n range: true,\n showSemanticErrors: true,\n });\n\n const parseDiagnostics = parseResult.errors.map((error) =>\n toParseDiagnostic(error),\n );\n\n if (parseDiagnostics.some((diagnostic) => diagnostic.severity === 'error')) {\n return parseDiagnostics;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const program: any = parseResult.program;\n const exportedBindings = collectExportedBindings(program);\n const routeMetaBindingName = exportedBindings.routeMeta;\n const diagnostics = [...parseDiagnostics];\n\n const routeMetaInfo = routeMetaBindingName\n ? getRouteMetaInfo(program, routeMetaBindingName)\n : null;\n\n if (!exportedBindings.hasDefaultExport && !routeMetaInfo?.hasRedirect) {\n diagnostics.push({\n code: 'missing-default-export',\n severity: 'warning',\n message:\n 'Route files should default-export the page component, unless they are redirect-only routes.',\n details:\n 'Add `export default class ...` or define `routeMeta.redirectTo` for a redirect route.',\n });\n }\n\n if (exportedBindings.hasDefaultExport && routeMetaInfo?.hasRedirect) {\n diagnostics.push({\n code: 'redirect-with-component',\n severity: 'warning',\n message: 'Redirect routes should not also export a page component.',\n details:\n 'Analog ignores the default export when `routeMeta.redirectTo` is present. Remove the component export or remove the redirect.',\n });\n }\n\n if (\n routeMetaInfo?.hasRedirect &&\n routeMetaInfo.redirectTo &&\n !routeMetaInfo.redirectTo.startsWith('/')\n ) {\n diagnostics.push({\n code: 'relative-redirect',\n severity: 'warning',\n message: '`routeMeta.redirectTo` should use an absolute path.',\n details:\n 'Nested redirects are documented to use absolute targets such as `/cities/new-york`.',\n });\n }\n\n if (\n isLikelyLayoutRoute(filename, routeFiles) &&\n !ROUTER_OUTLET_RE.test(code)\n ) {\n diagnostics.push({\n code: 'layout-without-router-outlet',\n severity: 'warning',\n message:\n 'This route file looks like a layout shell, but it does not reference `RouterOutlet` or `<router-outlet>`.',\n details:\n 'Parent layout pages usually import `RouterOutlet` and render an outlet so child routes have somewhere to mount.',\n });\n }\n\n return diagnostics;\n}\n\nexport function formatAnalogRouteIdiomDiagnostic(\n diagnostic: AnalogRouteIdiomDiagnostic,\n filename: string,\n workspaceRoot: string,\n): string {\n const displayName = toDisplayPath(filename, workspaceRoot);\n const header = `[Analog] ${displayName} (${diagnostic.code})`;\n const severity = diagnostic.severity.toUpperCase();\n\n if (diagnostic.details) {\n return `${header}\\n${severity}: ${diagnostic.message}\\n${diagnostic.details}`;\n }\n\n return `${header}\\n${severity}: ${diagnostic.message}`;\n}\n\nfunction toDisplayPath(filename: string, workspaceRoot: string): string {\n const normalizedFilename = normalizePath(filename);\n const normalizedRoot = normalizePath(workspaceRoot);\n const relativePath = normalizePath(\n relative(normalizedRoot, normalizedFilename),\n );\n\n if (relativePath && !relativePath.startsWith('..')) {\n return `/${relativePath}`;\n }\n\n return normalizedFilename;\n}\n\nfunction toParseDiagnostic(error: OxcError): AnalogRouteIdiomDiagnostic {\n return {\n code: 'oxc-parse',\n severity: error.severity === severityError ? 'error' : 'warning',\n message: error.message,\n details: error.codeframe ?? error.helpMessage ?? undefined,\n };\n}\n\nconst severityError: Severity = 'Error';\n\nfunction isLikelyLayoutRoute(filename: string, routeFiles: string[]): boolean {\n if (!PAGE_FILE_RE.test(filename)) {\n return false;\n }\n\n const routeStem = filename.replace(PAGE_FILE_RE, '');\n return routeFiles.some(\n (routeFile) =>\n routeFile !== filename && routeFile.startsWith(`${routeStem}/`),\n );\n}\n\nfunction getRouteMetaInfo(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n program: any,\n bindingName: string,\n): {\n hasRedirect: boolean;\n redirectTo?: string;\n} | null {\n const routeMetaNode = getExportedBindingInitializer(program, bindingName);\n\n if (routeMetaNode?.type !== 'ObjectExpression') {\n return null;\n }\n\n let redirectTo: string | undefined;\n\n for (const property of routeMetaNode.properties ?? []) {\n if (property?.type !== 'Property') {\n continue;\n }\n\n const keyName = getPropertyName(property.key);\n if (keyName !== 'redirectTo') {\n continue;\n }\n\n redirectTo = getStringValue(property.value);\n }\n\n return {\n hasRedirect: typeof redirectTo === 'string' && redirectTo.length > 0,\n redirectTo,\n };\n}\n\nfunction getExportedBindingInitializer(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n program: any,\n bindingName: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): any | undefined {\n for (const statement of program.body ?? []) {\n if (statement?.type === 'VariableDeclaration') {\n const initializer = getVariableInitializer(statement, bindingName);\n if (initializer) {\n return initializer;\n }\n continue;\n }\n\n if (\n statement?.type === 'ExportNamedDeclaration' &&\n statement.declaration?.type === 'VariableDeclaration'\n ) {\n const initializer = getVariableInitializer(\n statement.declaration,\n bindingName,\n );\n if (initializer) {\n return initializer;\n }\n }\n }\n\n return undefined;\n}\n\nfunction getVariableInitializer(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n declaration: any,\n bindingName: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): any | undefined {\n for (const declarator of declaration.declarations ?? []) {\n if (\n declarator.id?.type === 'Identifier' &&\n declarator.id.name === bindingName\n ) {\n return declarator.init;\n }\n }\n\n return undefined;\n}\n\nfunction collectExportedBindings(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n program: any,\n): {\n hasDefaultExport: boolean;\n routeMeta?: string;\n} {\n let hasDefaultExport = false;\n let routeMeta: string | undefined;\n\n for (const statement of program.body ?? []) {\n if (statement?.type === 'ExportDefaultDeclaration') {\n hasDefaultExport = true;\n continue;\n }\n\n if (statement?.type !== 'ExportNamedDeclaration') {\n continue;\n }\n\n const declaration = statement.declaration;\n if (declaration?.type === 'VariableDeclaration') {\n for (const declarator of declaration.declarations ?? []) {\n if (declarator.id?.type !== 'Identifier') {\n continue;\n }\n\n if (declarator.id.name === 'routeMeta') {\n routeMeta = 'routeMeta';\n }\n }\n }\n\n for (const specifier of statement.specifiers ?? []) {\n if (\n specifier?.type !== 'ExportSpecifier' ||\n specifier.local?.type !== 'Identifier'\n ) {\n continue;\n }\n\n if (specifier.exported?.type !== 'Identifier') {\n continue;\n }\n\n if (specifier.exported.name === 'routeMeta') {\n routeMeta = specifier.local.name;\n }\n }\n }\n\n return {\n hasDefaultExport,\n routeMeta,\n };\n}\n\nfunction getPropertyName(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node: any,\n): string | undefined {\n if (node?.type === 'Identifier') {\n return node.name;\n }\n\n if (\n (node?.type === 'Literal' || node?.type === 'StringLiteral') &&\n typeof node.value === 'string'\n ) {\n return node.value;\n }\n\n return undefined;\n}\n\nfunction getStringValue(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node: any,\n): string | undefined {\n if (\n (node?.type === 'Literal' || node?.type === 'StringLiteral') &&\n typeof node.value === 'string'\n ) {\n return node.value;\n }\n\n if (\n node?.type === 'TemplateLiteral' &&\n node.expressions?.length === 0 &&\n node.quasis?.length === 1\n ) {\n return node.quasis[0].value.cooked ?? node.quasis[0].value.raw;\n }\n\n return undefined;\n}\n"],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- export declare const V18_X_NX_DEVKIT = "^20.0.0";
2
- export declare const V18_X_NX_ANGULAR = "^20.0.0";
3
- export declare const V18_X_ANALOG_JS_CONTENT = "^3.0.0-alpha.98";
4
- export declare const V18_X_ANALOG_JS_ROUTER = "^3.0.0-alpha.98";
5
- export declare const V18_X_ANALOG_JS_VITE_PLUGIN_ANGULAR = "^3.0.0-alpha.98";
6
- export declare const V18_X_ANALOG_JS_VITEST_ANGULAR = "^3.0.0-alpha.98";
7
- export declare const V18_X_FRONT_MATTER = "^4.0.2";
8
- export declare const V18_X_MARKED = "^18.0.0";
9
- export declare const V18_X_MARKED_GFM_HEADING_ID = "^4.1.1";
10
- export declare const V18_X_MARKED_HIGHLIGHT = "^2.2.1";
11
- export declare const V18_X_MARKED_MANGLE = "^1.1.10";
12
- export declare const V18_X_MERMAID = "^10.2.4";
13
- export declare const V18_X_PRISMJS = "^1.29.0";
14
- export declare const V18_X_TAILWINDCSS = "^4.2.2";
15
- export declare const V18_X_TAILWINDCSS_POSTCSS = "^4.2.2";
16
- export declare const V18_X_TAILWINDCSS_VITE = "^4.2.2";
17
- export declare const V18_X_POSTCSS = "^8.5.6";
18
- export declare const V18_X_ANALOG_JS_PLATFORM = "^3.0.0-alpha.98";
19
- export declare const V18_X_ANALOG_JS_VITE_PLUGIN_NITRO = "^3.0.0-alpha.98";
20
- export declare const V18_X_H3 = "^1.13.0";
21
- export declare const V18_X_ANGULAR_DEVKIT_BUILD_ANGULAR = "^20.0.0";
22
- export declare const V18_X_NX_VITE = "^21.0.0";
23
- export declare const V18_X_NX_LINTER = "^21.0.0";
24
- export declare const V18_X_JSDOM = "^22.1.0";
25
- export declare const V18_X_VITE = "^8.0.0";
26
- export declare const V18_X_VITE_TSCONFIG_PATHS = "^4.2.0";
27
- export declare const V18_X_VITEST = "^5.0.0";
28
- export declare const V18_X_ZOD = "^3.21.4";
@@ -1,12 +0,0 @@
1
- //#region packages/nx-plugin/src/generators/app/versions/nx_18_X/versions.ts
2
- var V18_X_TAILWINDCSS = "^4.2.2";
3
- var V18_X_TAILWINDCSS_POSTCSS = "^4.2.2";
4
- var V18_X_TAILWINDCSS_VITE = "^4.2.2";
5
- var V18_X_POSTCSS = "^8.5.6";
6
- //#endregion
7
- exports.V18_X_POSTCSS = V18_X_POSTCSS;
8
- exports.V18_X_TAILWINDCSS = V18_X_TAILWINDCSS;
9
- exports.V18_X_TAILWINDCSS_POSTCSS = V18_X_TAILWINDCSS_POSTCSS;
10
- exports.V18_X_TAILWINDCSS_VITE = V18_X_TAILWINDCSS_VITE;
11
-
12
- //# sourceMappingURL=versions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"versions.js","names":[],"sources":["../../../../../../../../../../nx-plugin/src/generators/app/versions/nx_18_X/versions.ts"],"sourcesContent":["// V18_X\n// dependencies\nexport const V18_X_NX_DEVKIT = '^20.0.0';\nexport const V18_X_NX_ANGULAR = '^20.0.0';\nexport const V18_X_ANALOG_JS_CONTENT = '^3.0.0-alpha.98';\nexport const V18_X_ANALOG_JS_ROUTER = '^3.0.0-alpha.98';\nexport const V18_X_ANALOG_JS_VITE_PLUGIN_ANGULAR = '^3.0.0-alpha.98';\nexport const V18_X_ANALOG_JS_VITEST_ANGULAR = '^3.0.0-alpha.98';\nexport const V18_X_FRONT_MATTER = '^4.0.2';\nexport const V18_X_MARKED = '^18.0.0';\nexport const V18_X_MARKED_GFM_HEADING_ID = '^4.1.1';\nexport const V18_X_MARKED_HIGHLIGHT = '^2.2.1';\nexport const V18_X_MARKED_MANGLE = '^1.1.10';\nexport const V18_X_MERMAID = '^10.2.4';\nexport const V18_X_PRISMJS = '^1.29.0';\nexport const V18_X_TAILWINDCSS = '^4.2.2';\nexport const V18_X_TAILWINDCSS_POSTCSS = '^4.2.2';\nexport const V18_X_TAILWINDCSS_VITE = '^4.2.2';\nexport const V18_X_POSTCSS = '^8.5.6';\n\n// devDependencies\nexport const V18_X_ANALOG_JS_PLATFORM = '^3.0.0-alpha.98';\nexport const V18_X_ANALOG_JS_VITE_PLUGIN_NITRO = '^3.0.0-alpha.98';\nexport const V18_X_H3 = '^1.13.0';\nexport const V18_X_ANGULAR_DEVKIT_BUILD_ANGULAR = '^20.0.0';\nexport const V18_X_NX_VITE = '^21.0.0';\nexport const V18_X_NX_LINTER = '^21.0.0';\nexport const V18_X_JSDOM = '^22.1.0';\nexport const V18_X_VITE = '^8.0.0';\nexport const V18_X_VITE_TSCONFIG_PATHS = '^4.2.0';\nexport const V18_X_VITEST = '^5.0.0';\nexport const V18_X_ZOD = '^3.21.4';\n"],"mappings":";AAeA,IAAa,oBAAoB;AACjC,IAAa,4BAA4B;AACzC,IAAa,yBAAyB;AACtC,IAAa,gBAAgB"}
@@ -1,15 +0,0 @@
1
- export declare const V19_X_ANALOG_JS_ROUTER = "^3.0.0-alpha.98";
2
- export declare const V19_X_ANALOG_JS_CONTENT = "^3.0.0-alpha.98";
3
- export declare const V19_X_MARKED = "^18.0.0";
4
- export declare const V19_X_MARKED_GFM_HEADING_ID = "^4.1.1";
5
- export declare const V19_X_MARKED_HIGHLIGHT = "^2.2.1";
6
- export declare const V19_X_MARKED_MANGLE = "^1.1.10";
7
- export declare const V19_X_PRISMJS = "^1.29.0";
8
- export declare const V19_X_ANALOG_JS_PLATFORM = "^3.0.0-alpha.98";
9
- export declare const V19_X_ANALOG_JS_VITE_PLUGIN_ANGULAR = "^3.0.0-alpha.98";
10
- export declare const V19_X_ANALOG_JS_VITEST_ANGULAR = "^3.0.0-alpha.98";
11
- export declare const V19_X_JSDOM = "^22.0.0";
12
- export declare const V19_X_VITE_TSCONFIG_PATHS = "^4.2.0";
13
- export declare const NX_X_LATEST_VITE = "^8.0.0";
14
- export declare const NX_X_LATEST_VITEST = "^5.0.0";
15
- export declare const NX_X_LATEST_NX = "^23.2.0";
@@ -1,34 +0,0 @@
1
- //#region packages/nx-plugin/src/utils/versions/ng_19_X/versions.ts
2
- var V19_X_ANALOG_JS_ROUTER = "^3.0.0-alpha.98";
3
- var V19_X_ANALOG_JS_CONTENT = "^3.0.0-alpha.98";
4
- var V19_X_MARKED = "^18.0.0";
5
- var V19_X_MARKED_GFM_HEADING_ID = "^4.1.1";
6
- var V19_X_MARKED_HIGHLIGHT = "^2.2.1";
7
- var V19_X_MARKED_MANGLE = "^1.1.10";
8
- var V19_X_PRISMJS = "^1.29.0";
9
- var V19_X_ANALOG_JS_PLATFORM = "^3.0.0-alpha.98";
10
- var V19_X_ANALOG_JS_VITE_PLUGIN_ANGULAR = "^3.0.0-alpha.98";
11
- var V19_X_ANALOG_JS_VITEST_ANGULAR = "^3.0.0-alpha.98";
12
- var V19_X_JSDOM = "^22.0.0";
13
- var V19_X_VITE_TSCONFIG_PATHS = "^4.2.0";
14
- var NX_X_LATEST_VITE = "^8.0.0";
15
- var NX_X_LATEST_VITEST = "^5.0.0";
16
- var NX_X_LATEST_NX = "^23.2.0";
17
- //#endregion
18
- exports.NX_X_LATEST_NX = NX_X_LATEST_NX;
19
- exports.NX_X_LATEST_VITE = NX_X_LATEST_VITE;
20
- exports.NX_X_LATEST_VITEST = NX_X_LATEST_VITEST;
21
- exports.V19_X_ANALOG_JS_CONTENT = V19_X_ANALOG_JS_CONTENT;
22
- exports.V19_X_ANALOG_JS_PLATFORM = V19_X_ANALOG_JS_PLATFORM;
23
- exports.V19_X_ANALOG_JS_ROUTER = V19_X_ANALOG_JS_ROUTER;
24
- exports.V19_X_ANALOG_JS_VITEST_ANGULAR = V19_X_ANALOG_JS_VITEST_ANGULAR;
25
- exports.V19_X_ANALOG_JS_VITE_PLUGIN_ANGULAR = V19_X_ANALOG_JS_VITE_PLUGIN_ANGULAR;
26
- exports.V19_X_JSDOM = V19_X_JSDOM;
27
- exports.V19_X_MARKED = V19_X_MARKED;
28
- exports.V19_X_MARKED_GFM_HEADING_ID = V19_X_MARKED_GFM_HEADING_ID;
29
- exports.V19_X_MARKED_HIGHLIGHT = V19_X_MARKED_HIGHLIGHT;
30
- exports.V19_X_MARKED_MANGLE = V19_X_MARKED_MANGLE;
31
- exports.V19_X_PRISMJS = V19_X_PRISMJS;
32
- exports.V19_X_VITE_TSCONFIG_PATHS = V19_X_VITE_TSCONFIG_PATHS;
33
-
34
- //# sourceMappingURL=versions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"versions.js","names":[],"sources":["../../../../../../../../../nx-plugin/src/utils/versions/ng_19_X/versions.ts"],"sourcesContent":["// V19_X\nexport const V19_X_ANALOG_JS_ROUTER = '^3.0.0-alpha.98';\nexport const V19_X_ANALOG_JS_CONTENT = '^3.0.0-alpha.98';\nexport const V19_X_MARKED = '^18.0.0';\nexport const V19_X_MARKED_GFM_HEADING_ID = '^4.1.1';\nexport const V19_X_MARKED_HIGHLIGHT = '^2.2.1';\nexport const V19_X_MARKED_MANGLE = '^1.1.10';\nexport const V19_X_PRISMJS = '^1.29.0';\n\n// devDependencies\nexport const V19_X_ANALOG_JS_PLATFORM = '^3.0.0-alpha.98';\nexport const V19_X_ANALOG_JS_VITE_PLUGIN_ANGULAR = '^3.0.0-alpha.98';\nexport const V19_X_ANALOG_JS_VITEST_ANGULAR = '^3.0.0-alpha.98';\nexport const V19_X_JSDOM = '^22.0.0';\nexport const V19_X_VITE_TSCONFIG_PATHS = '^4.2.0';\nexport const NX_X_LATEST_VITE = '^8.0.0';\nexport const NX_X_LATEST_VITEST = '^5.0.0';\nexport const NX_X_LATEST_NX = '^23.2.0';\n"],"mappings":";AACA,IAAa,yBAAyB;AACtC,IAAa,0BAA0B;AACvC,IAAa,eAAe;AAC5B,IAAa,8BAA8B;AAC3C,IAAa,yBAAyB;AACtC,IAAa,sBAAsB;AACnC,IAAa,gBAAgB;AAG7B,IAAa,2BAA2B;AACxC,IAAa,sCAAsC;AACnD,IAAa,iCAAiC;AAC9C,IAAa,cAAc;AAC3B,IAAa,4BAA4B;AACzC,IAAa,mBAAmB;AAChC,IAAa,qBAAqB;AAClC,IAAa,iBAAiB"}