create-outsystems-astro 0.5.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/README.md +50 -11
  2. package/bin/cli.js +71 -5
  3. package/package.json +1 -1
  4. package/template/.prettierignore +2 -0
  5. package/template/.prettierrc +4 -0
  6. package/template/AGENTS.md +145 -22
  7. package/template/astro.config.mjs +15 -2
  8. package/template/bun.lock +529 -716
  9. package/template/deno.json +14 -7
  10. package/template/deno.lock +1100 -688
  11. package/template/eslint.config.mjs +43 -0
  12. package/template/output.ts +14 -2
  13. package/template/package-lock.json +3404 -3080
  14. package/template/package.json +59 -85
  15. package/template/patches/{@angular+build+21.2.0.patch → @angular+build+21.2.1.patch} +1 -10
  16. package/template/patches-deno/playwright+1.58.2.patch +26 -0
  17. package/template/playwright.config.ts +1 -1
  18. package/template/pnpm-lock.yaml +2041 -1584
  19. package/template/pnpm-workspace.yaml +6 -0
  20. package/template/src/framework/angular/{Counter.component.ts → Demo.component.ts} +12 -5
  21. package/template/src/framework/angular/Store.component.ts +24 -0
  22. package/template/src/framework/preact/Demo.tsx +86 -0
  23. package/template/src/framework/preact/Store.tsx +31 -0
  24. package/template/src/framework/react/{Counter.tsx → Demo.tsx} +23 -17
  25. package/template/src/framework/react/Store.tsx +31 -0
  26. package/template/src/framework/svelte/Demo.svelte +74 -0
  27. package/template/src/framework/svelte/Store.svelte +22 -0
  28. package/template/src/framework/vue/{Counter.vue → Demo.vue} +7 -9
  29. package/template/src/framework/vue/Store.vue +28 -0
  30. package/template/src/images/angular.png +0 -0
  31. package/template/src/images/preact.png +0 -0
  32. package/template/src/images/react.png +0 -0
  33. package/template/src/images/svelte.png +0 -0
  34. package/template/src/images/vue.png +0 -0
  35. package/template/src/pages/angular/angular-demo.astro +42 -0
  36. package/template/src/pages/multi/store.astro +22 -0
  37. package/template/src/pages/preact/preact-demo.astro +66 -0
  38. package/template/src/pages/react/react-demo.astro +66 -0
  39. package/template/src/pages/svelte/svelte-demo.astro +63 -0
  40. package/template/src/pages/vue/vue-demo.astro +61 -0
  41. package/template/src/stores/framework.ts +10 -0
  42. package/template/src/styles/index.css +4 -0
  43. package/template/svelte.config.js +5 -0
  44. package/template/test/e2e/angular/angular-counter.spec.ts +7 -1
  45. package/template/test/e2e/preact/preact-counter.spec.ts +42 -0
  46. package/template/test/e2e/react/react-counter.spec.ts +2 -2
  47. package/template/test/e2e/svelte/svelte-counter.spec.ts +42 -0
  48. package/template/test/e2e/vue/vue-counter.spec.ts +2 -2
  49. package/template/test/integration/angular/{Counter.component.spec.ts → Demo.component.spec.ts} +6 -6
  50. package/template/test/integration/preact/Demo.test.tsx +84 -0
  51. package/template/test/integration/react/{Counter.test.tsx → Demo.test.tsx} +10 -9
  52. package/template/test/integration/svelte/Demo.test.ts +81 -0
  53. package/template/test/integration/svelte/Demo.wrapper.svelte +27 -0
  54. package/template/test/integration/vue/{Counter.test.ts → Demo.test.ts} +9 -9
  55. package/template/tsconfig.json +0 -1
  56. package/template/vitest.config.ts +29 -2
  57. package/template/yarn.lock +2311 -2251
  58. package/template/src/pages/angular/angular-counter.astro +0 -31
  59. package/template/src/pages/react/react-counter.astro +0 -58
  60. package/template/src/pages/vue/vue-counter.astro +0 -62
  61. /package/template/patches/{@analogjs+astro-angular+2.3.0.patch → @analogjs+astro-angular+2.3.1.patch} +0 -0
@@ -18,6 +18,7 @@
18
18
  "output:bun": "astro build && bun run ./output.ts",
19
19
  "output:deno": "astro build && deno run -A ./output.ts",
20
20
  "postinstall": "patch-package",
21
+ "postinstall:deno": "patch-package && patch-package --patch-dir patches-deno",
21
22
  "preview": "astro preview",
22
23
  "test": "vitest",
23
24
  "test:e2e": "playwright test",
@@ -29,119 +30,92 @@
29
30
  "typecheck": "tsc"
30
31
  },
31
32
  "dependencies": {
32
- "@analogjs/astro-angular": "^2.3.0",
33
- "@angular/animations": "^21.1.6",
34
- "@angular/build": "^21.1.5",
35
- "@angular/common": "^21.1.6",
36
- "@angular/compiler": "^21.1.6",
37
- "@angular/compiler-cli": "^21.1.6",
38
- "@angular/core": "^21.1.6",
39
- "@angular/language-service": "^21.1.6",
40
- "@angular/platform-browser": "^21.1.6",
41
- "@angular/platform-server": "^21.1.6",
33
+ "@analogjs/astro-angular": "^2.3.1",
34
+ "@angular/animations": "^21.2.1",
35
+ "@angular/build": "^21.2.1",
36
+ "@angular/common": "^21.2.1",
37
+ "@angular/compiler": "^21.2.1",
38
+ "@angular/compiler-cli": "^21.2.1",
39
+ "@angular/core": "^21.2.1",
40
+ "@angular/language-service": "^21.2.1",
41
+ "@angular/platform-browser": "^21.2.1",
42
+ "@angular/platform-server": "^21.2.1",
43
+ "@astrojs/preact": "^4.1.3",
42
44
  "@astrojs/react": "^4.4.2",
45
+ "@astrojs/svelte": "^7.2.5",
43
46
  "@astrojs/vue": "^5.1.4",
47
+ "@nanostores/preact": "^1.0.0",
44
48
  "@nanostores/react": "^1.0.0",
45
- "@nanostores/vue": "^1.0.1",
46
- "astro": "^5.17.1",
47
- "improved-yarn-audit": "^3.0.4",
48
- "nanostores": "^1.1.0",
49
+ "@nanostores/vue": "^1.1.0",
50
+ "astro": "^5.18.0",
51
+ "nanostores": "^1.1.1",
52
+ "preact": "^10.28.4",
49
53
  "react": "^19.2.4",
50
54
  "react-dom": "^19.2.4",
51
55
  "rxjs": "^7.8.2",
52
- "vue": "^3.5.27",
53
- "zod": "^3.25.76"
56
+ "svelte": "^5.53.7",
57
+ "vue": "^3.5.29"
54
58
  },
55
59
  "devDependencies": {
56
- "@analogjs/vite-plugin-angular": "^2.3.0",
57
- "@analogjs/vitest-angular": "^2.2.3",
58
- "@angular-devkit/architect": "^0.2101.5",
59
- "@angular/cli": "^21.1.5",
60
- "@angular/router": "^21.1.6",
61
- "@eslint/compat": "^2.0.2",
62
- "@eslint/js": "^9.39.2",
60
+ "@analogjs/vite-plugin-angular": "^2.3.1",
61
+ "@analogjs/vitest-angular": "^2.3.1",
62
+ "@angular-devkit/architect": "^0.2102.1",
63
+ "@angular-devkit/schematics": "^21.2.1",
64
+ "@angular/cli": "^21.2.1",
65
+ "@angular/router": "^21.2.1",
66
+ "@babel/core": "^7.29.0",
67
+ "@eslint/compat": "^2.0.3",
68
+ "@eslint/eslintrc": "^3.3.5",
69
+ "@eslint/js": "^9.39.4",
63
70
  "@eslint/markdown": "^7.5.1",
64
- "@playwright/test": "^1.57.0",
65
- "@testing-library/angular": "^19.0.0",
71
+ "@playwright/test": "1.58.2",
72
+ "@preact/preset-vite": "^2.10.3",
73
+ "@sveltejs/vite-plugin-svelte": "^6.2.4",
74
+ "@testing-library/angular": "^19.1.0",
66
75
  "@testing-library/dom": "^10.4.1",
67
76
  "@testing-library/jest-dom": "^6.9.1",
77
+ "@testing-library/preact": "^3.2.4",
68
78
  "@testing-library/react": "^16.3.2",
79
+ "@testing-library/svelte": "^5.3.1",
69
80
  "@testing-library/user-event": "^14.6.1",
70
81
  "@testing-library/vue": "^8.1.0",
71
82
  "@types/js-beautify": "^1.14.3",
72
- "@types/node": "^25.1.0",
73
- "@types/react": "^19.2.10",
83
+ "@types/node": "^25.3.5",
84
+ "@types/react": "^19.2.14",
74
85
  "@types/react-dom": "^19.2.3",
75
- "@vitejs/plugin-react": "^5.1.2",
76
- "@vitejs/plugin-vue": "^6.0.3",
77
- "angular-eslint": "^21.2.0",
86
+ "@vitejs/plugin-react": "^5.1.4",
87
+ "@vitejs/plugin-vue": "^6.0.4",
88
+ "angular-eslint": "^21.3.0",
78
89
  "better-npm-audit": "^3.11.0",
79
- "dotenv": "^17.2.3",
80
- "eslint": "^9.39.2",
90
+ "dotenv": "^17.3.1",
91
+ "eslint": "^9.39.4",
92
+ "eslint-config-preact": "^2.0.0",
81
93
  "eslint-config-prettier": "^10.1.8",
82
- "eslint-plugin-astro": "^1.5.0",
94
+ "eslint-plugin-astro": "^1.6.0",
83
95
  "eslint-plugin-import": "^2.32.0",
84
- "eslint-plugin-jest": "^29.12.1",
96
+ "eslint-plugin-jest": "^29.15.0",
85
97
  "eslint-plugin-jest-dom": "^5.5.0",
86
- "eslint-plugin-perfectionist": "^5.4.0",
87
- "eslint-plugin-playwright": "^2.5.1",
98
+ "eslint-plugin-perfectionist": "^5.6.0",
99
+ "eslint-plugin-playwright": "^2.9.0",
88
100
  "eslint-plugin-react": "^7.37.5",
89
101
  "eslint-plugin-react-hooks": "^7.0.1",
90
- "eslint-plugin-testing-library": "^7.15.4",
91
- "eslint-plugin-vue": "^10.7.0",
92
- "globals": "^17.3.0",
93
- "happy-dom": "^20.4.0",
94
- "hono": "^4.12.1",
102
+ "eslint-plugin-svelte": "^3.15.0",
103
+ "eslint-plugin-testing-library": "^7.16.0",
104
+ "eslint-plugin-vue": "^10.8.0",
105
+ "globals": "^17.4.0",
106
+ "happy-dom": "^20.8.3",
107
+ "improved-yarn-audit": "^3.0.4",
95
108
  "js-beautify": "^1.15.4",
96
109
  "patch-package": "^8.0.1",
97
110
  "prettier": "^3.8.1",
111
+ "prettier-plugin-svelte": "^3.5.1",
112
+ "svelte-eslint-parser": "^1.6.0",
98
113
  "ts-node": "^10.9.2",
99
114
  "tslib": "^2.8.1",
100
115
  "typescript": "^5.9.3",
101
- "typescript-eslint": "^8.54.0",
102
- "vite": "^6.4.1||^7.3.1",
116
+ "typescript-eslint": "^8.56.1",
117
+ "vite": "^6.4.1",
103
118
  "vitest": "^4.0.18",
104
- "vue-eslint-parser": "^10.2.0"
105
- },
106
- "overrides": {
107
- "@isaacs/brace-expansion": "^5.0.1",
108
- "@modelcontextprotocol/sdk": "^1.26.0",
109
- "ajv@6": "6.14.0",
110
- "ajv@8": "8.18.0",
111
- "devalue": "5.6.3",
112
- "minimatch@3": "^3.1.5",
113
- "minimatch@9": "^9.0.7",
114
- "minimatch@10": "^10.2.1",
115
- "qs": "^6.14.2",
116
- "rollup": "^4.59.0",
117
- "tar": "^7.5.8"
118
- },
119
- "resolutions": {
120
- "@isaacs/brace-expansion": "^5.0.1",
121
- "@modelcontextprotocol/sdk": "^1.26.0",
122
- "devalue": "5.6.3",
123
- "qs": "^6.14.2",
124
- "rollup": "^4.59.0",
125
- "tar": "^7.5.8"
126
- },
127
- "pnpm": {
128
- "auditConfig": {
129
- "ignoreCves": [
130
- "CVE-2026-26996"
131
- ]
132
- },
133
- "overrides": {
134
- "@isaacs/brace-expansion": "^5.0.1",
135
- "@modelcontextprotocol/sdk": "^1.26.0",
136
- "ajv@6": "6.14.0",
137
- "ajv@8": "8.18.0",
138
- "devalue": "5.6.3",
139
- "minimatch@3": "^3.1.4",
140
- "minimatch@9": "^9.0.7",
141
- "minimatch@10": "^10.2.1",
142
- "qs": "^6.14.2",
143
- "rollup": "^4.59.0",
144
- "tar": "^7.5.8"
145
- }
119
+ "vue-eslint-parser": "^10.4.0"
146
120
  }
147
121
  }
@@ -1,5 +1,5 @@
1
1
  diff --git a/node_modules/@angular/build/src/tools/esbuild/javascript-transformer-worker.js b/node_modules/@angular/build/src/tools/esbuild/javascript-transformer-worker.js
2
- index 2c055e6..8816704 100755
2
+ index 2c055e6..079cb93 100755
3
3
  --- a/node_modules/@angular/build/src/tools/esbuild/javascript-transformer-worker.js
4
4
  +++ b/node_modules/@angular/build/src/tools/esbuild/javascript-transformer-worker.js
5
5
  @@ -122,30 +122,21 @@ async function requiresLinking(path, source) {
@@ -44,12 +44,3 @@ index 2c055e6..8816704 100755
44
44
  },
45
45
  fileSystem: {
46
46
  resolve: node_path_1.default.resolve,
47
- @@ -153,8 +144,6 @@ async function createLinkerPlugin(options) {
48
- dirname: node_path_1.default.dirname,
49
- relative: node_path_1.default.relative,
50
- readFile: node_fs_1.default.readFileSync,
51
- - // Node.JS types don't overlap the Compiler types.
52
- - // eslint-disable-next-line @typescript-eslint/no-explicit-any
53
- },
54
- });
55
- return linkerPlugin;
@@ -0,0 +1,26 @@
1
+ diff --git a/node_modules/playwright/lib/transform/esmLoader.js b/node_modules/playwright/lib/transform/esmLoader.js
2
+ index 46147e9..07e894a 100644
3
+ --- a/node_modules/playwright/lib/transform/esmLoader.js
4
+ +++ b/node_modules/playwright/lib/transform/esmLoader.js
5
+ @@ -27,7 +27,7 @@ var import_compilationCache = require("./compilationCache");
6
+ var import_portTransport = require("./portTransport");
7
+ var import_transform = require("./transform");
8
+ var import_util = require("../util");
9
+ -const esmPreflightExtension = ".esm.preflight";
10
+ +const esmPreflightExtension = "";
11
+ async function resolve(originalSpecifier, context, defaultResolve) {
12
+ let specifier = originalSpecifier.replace(esmPreflightExtension, "");
13
+ if (context.parentURL && context.parentURL.startsWith("file://")) {
14
+ diff --git a/node_modules/playwright/lib/transform/transform.js b/node_modules/playwright/lib/transform/transform.js
15
+ index 715bcce..a15c762 100644
16
+ --- a/node_modules/playwright/lib/transform/transform.js
17
+ +++ b/node_modules/playwright/lib/transform/transform.js
18
+ @@ -219,7 +219,7 @@ async function requireOrImport(file) {
19
+ if (isModule) {
20
+ const fileName = import_url.default.pathToFileURL(file);
21
+ const esmImport = () => eval(`import(${JSON.stringify(fileName)})`);
22
+ - await eval(`import(${JSON.stringify(fileName + ".esm.preflight")})`).finally(nextTask);
23
+ + await eval(`import(${JSON.stringify(fileName)})`).finally(nextTask);
24
+ return await esmImport().finally(nextTask);
25
+ }
26
+ const result = require(file);
@@ -86,7 +86,7 @@ export default defineConfig({
86
86
  webServer: {
87
87
  command: `${packageManager} run build && ${packageManager} run preview`,
88
88
  reuseExistingServer: !process.env.CI,
89
- url: "http://localhost:4321/react/react-counter",
89
+ url: "http://localhost:4321/",
90
90
  },
91
91
 
92
92
  /* Opt out of parallel tests on CI. */