create-esmx 3.0.0-rc.69 → 3.0.0-rc.71
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.mjs +1 -1
- package/package.json +10 -9
- package/src/cli.ts +1 -1
- package/template/shared-modules/README.md +8 -8
- package/template/shared-modules/package.json +3 -3
- package/template/shared-modules/src/entry.client.ts +18 -4
- package/template/shared-modules/src/entry.server.ts +3 -3
- package/template/vue-csr/README.md +8 -8
- package/template/vue-ssr/README.md +5 -5
- package/template/vue2-csr/README.md +9 -9
- package/template/vue2-csr/src/app.vue +1 -1
- package/template/vue2-ssr/README.md +6 -6
package/dist/cli.mjs
CHANGED
|
@@ -37,7 +37,7 @@ ${color.bold("Examples:")}
|
|
|
37
37
|
${color.bold("Available Templates:")}
|
|
38
38
|
${getAvailableTemplates().map((t) => ` ${t.folder.padEnd(25)} ${t.description}`).join("\n")}
|
|
39
39
|
|
|
40
|
-
For more information, visit: ${color.cyan("https://
|
|
40
|
+
For more information, visit: ${color.cyan("https://esmx.dev")}
|
|
41
41
|
`);
|
|
42
42
|
}
|
|
43
43
|
async function getProjectName(argName, positionalName) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-esmx",
|
|
3
|
-
"version": "3.0.0-rc.
|
|
3
|
+
"version": "3.0.0-rc.71",
|
|
4
4
|
"description": "A scaffold tool for creating Esmx projects",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"private": false,
|
|
@@ -24,15 +24,16 @@
|
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"@biomejs/biome": "1.9.4",
|
|
27
|
-
"@esmx/core": "3.0.0-rc.
|
|
28
|
-
"@esmx/rspack": "3.0.0-rc.
|
|
29
|
-
"@esmx/rspack-vue": "3.0.0-rc.
|
|
27
|
+
"@esmx/core": "3.0.0-rc.71",
|
|
28
|
+
"@esmx/rspack": "3.0.0-rc.71",
|
|
29
|
+
"@esmx/rspack-vue": "3.0.0-rc.71",
|
|
30
30
|
"@types/minimist": "^1.2.5",
|
|
31
|
-
"@types/node": "^24.
|
|
31
|
+
"@types/node": "^24.10.0",
|
|
32
32
|
"@vitest/coverage-v8": "3.2.4",
|
|
33
|
-
"typescript": "5.9.
|
|
34
|
-
"unbuild": "3.6.
|
|
35
|
-
"vitest": "3.2.4"
|
|
33
|
+
"typescript": "5.9.3",
|
|
34
|
+
"unbuild": "3.6.1",
|
|
35
|
+
"vitest": "3.2.4",
|
|
36
|
+
"vue": "^3.5.23"
|
|
36
37
|
},
|
|
37
38
|
"exports": {
|
|
38
39
|
".": {
|
|
@@ -69,5 +70,5 @@
|
|
|
69
70
|
"url": "https://github.com/esmnext/esmx/issues"
|
|
70
71
|
},
|
|
71
72
|
"homepage": "https://github.com/esmnext/esmx#readme",
|
|
72
|
-
"gitHead": "
|
|
73
|
+
"gitHead": "1616c7a1f820387d4d14bac0babd42356f6f7f33"
|
|
73
74
|
}
|
package/src/cli.ts
CHANGED
|
@@ -4,7 +4,7 @@ An Esmx project demonstrating Shared Modules solution for micro-frontend archite
|
|
|
4
4
|
|
|
5
5
|
## 📦 Tech Stack
|
|
6
6
|
|
|
7
|
-
- **Framework**: [Esmx](https://
|
|
7
|
+
- **Framework**: [Esmx](https://esmx.dev) - Next generation micro-frontend framework based on native ESM
|
|
8
8
|
- **Solution Focus**: Shared Modules for multi-framework environments
|
|
9
9
|
- **Build Tool**: Rspack
|
|
10
10
|
- **Type Checking**: TypeScript
|
|
@@ -21,13 +21,13 @@ An Esmx project demonstrating Shared Modules solution for micro-frontend archite
|
|
|
21
21
|
### Install Dependencies
|
|
22
22
|
|
|
23
23
|
```bash
|
|
24
|
-
|
|
24
|
+
{{installCommand}}
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
### Development Environment
|
|
28
28
|
|
|
29
29
|
```bash
|
|
30
|
-
|
|
30
|
+
{{devCommand}}
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
Visit http://localhost:3000 to see the development environment.
|
|
@@ -35,25 +35,25 @@ Visit http://localhost:3000 to see the development environment.
|
|
|
35
35
|
### Production Build
|
|
36
36
|
|
|
37
37
|
```bash
|
|
38
|
-
|
|
38
|
+
{{buildCommand}}
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
### Start Production Server
|
|
42
42
|
|
|
43
43
|
```bash
|
|
44
|
-
|
|
44
|
+
{{startCommand}}
|
|
45
45
|
```
|
|
46
46
|
|
|
47
47
|
### Type Generation
|
|
48
48
|
|
|
49
49
|
```bash
|
|
50
|
-
|
|
50
|
+
{{buildTypeCommand}}
|
|
51
51
|
```
|
|
52
52
|
|
|
53
53
|
### Type Checking
|
|
54
54
|
|
|
55
55
|
```bash
|
|
56
|
-
|
|
56
|
+
{{lintTypeCommand}}
|
|
57
57
|
```
|
|
58
58
|
|
|
59
59
|
## 📁 Project Structure
|
|
@@ -81,5 +81,5 @@ pnpm lint:type
|
|
|
81
81
|
|
|
82
82
|
## 📚 Additional Resources
|
|
83
83
|
|
|
84
|
-
- [Esmx Official Documentation](https://
|
|
84
|
+
- [Esmx Official Documentation](https://esmx.dev)
|
|
85
85
|
- [TypeScript Documentation](https://www.typescriptlang.org)
|
|
@@ -16,13 +16,13 @@
|
|
|
16
16
|
"@esmx/core": "{{esmxVersion}}"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
|
-
"vue": "^3.5.
|
|
19
|
+
"vue": "^3.5.23",
|
|
20
20
|
"@esmx/router": "{{esmxVersion}}",
|
|
21
21
|
"@esmx/router-vue": "{{esmxVersion}}",
|
|
22
22
|
"vue2": "npm:vue@2.7.16",
|
|
23
23
|
"tsc-alias": "^1.8.16",
|
|
24
24
|
"@esmx/rspack": "{{esmxVersion}}",
|
|
25
|
-
"@types/node": "^24.
|
|
26
|
-
"typescript": "5.
|
|
25
|
+
"@types/node": "^24.10.0",
|
|
26
|
+
"typescript": "5.9.3"
|
|
27
27
|
}
|
|
28
28
|
}
|
|
@@ -14,14 +14,28 @@ function checkVersionConsistency() {
|
|
|
14
14
|
const status = document.getElementById(`${name}-status`);
|
|
15
15
|
const card = document.getElementById(`${name}-card`);
|
|
16
16
|
|
|
17
|
-
document.getElementById(
|
|
18
|
-
|
|
17
|
+
const clientVersionEl = document.getElementById(
|
|
18
|
+
`${name}-client-version`
|
|
19
|
+
);
|
|
20
|
+
if (clientVersionEl) clientVersionEl.textContent = clientVersion;
|
|
19
21
|
|
|
20
22
|
if (!status || !card) return;
|
|
21
23
|
|
|
22
24
|
const isConsistent = clientVersion === serverVersion;
|
|
23
|
-
status.className = `status-indicator status-${
|
|
24
|
-
|
|
25
|
+
status.className = `status-indicator status-${
|
|
26
|
+
isConsistent ? 'consistent' : 'inconsistent'
|
|
27
|
+
}`;
|
|
28
|
+
const icon = status.querySelector('.icon');
|
|
29
|
+
const text = status.querySelector('span:not(.icon)');
|
|
30
|
+
if (icon) {
|
|
31
|
+
icon.className = `icon ${isConsistent ? 'success' : 'error'}`;
|
|
32
|
+
icon.textContent = isConsistent ? '✓' : '✗';
|
|
33
|
+
}
|
|
34
|
+
if (text) {
|
|
35
|
+
text.textContent = `Module versions ${
|
|
36
|
+
isConsistent ? 'consistent' : 'inconsistent'
|
|
37
|
+
}`;
|
|
38
|
+
}
|
|
25
39
|
|
|
26
40
|
if (isConsistent) {
|
|
27
41
|
card.classList.add('consistency-animation');
|
|
@@ -11,7 +11,7 @@ export default async (rc: RenderContext) => {
|
|
|
11
11
|
<meta charset="UTF-8">
|
|
12
12
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
13
13
|
<meta name="description" content="Esmx Shared Modules - A comprehensive micro-frontend solution for sharing modules across multiple framework versions, built on native ESM technology with zero runtime overhead">
|
|
14
|
-
<meta name="keywords" content="Esmx,Shared Modules,Module Sharing,Micro-frontend,ESM Modules,JavaScript Modules,TypeScript,Rspack,Multi-framework,
|
|
14
|
+
<meta name="keywords" content="Esmx,Shared Modules,Module Sharing,Micro-frontend,ESM Modules,JavaScript Modules,TypeScript,Rspack,Multi-framework,Vue 2, Vue 3, Code Reuse, Frontend Architecture">
|
|
15
15
|
<meta name="generator" content="Esmx Framework">
|
|
16
16
|
<link rel="icon" href="https://esmx.dev/logo.svg" type="image/svg+xml">
|
|
17
17
|
${rc.preload()}
|
|
@@ -281,11 +281,11 @@ export default async (rc: RenderContext) => {
|
|
|
281
281
|
<h2>Shared Modules Features</h2>
|
|
282
282
|
<ul>
|
|
283
283
|
<li>📦 Shared module system across different framework versions</li>
|
|
284
|
-
<li>⚡ Zero runtime overhead, based on native ESM +
|
|
284
|
+
<li>⚡ Zero runtime overhead, based on native ESM + Import Maps</li>
|
|
285
285
|
<li>🚀 High-performance build and module sharing, powered by Rspack</li>
|
|
286
286
|
<li>🔄 Complete SSR support with shared module consistency</li>
|
|
287
287
|
<li>📝 Standard ESM syntax, no framework-specific APIs required</li>
|
|
288
|
-
<li>🔧 Multi-framework module sharing:
|
|
288
|
+
<li>🔧 Multi-framework module sharing: Vue 2, Vue 3, React, Preact, etc.</li>
|
|
289
289
|
</ul>
|
|
290
290
|
</div>
|
|
291
291
|
</div>
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# {{projectName}}
|
|
2
2
|
|
|
3
|
-
An Esmx project with Vue and Client-Side Rendering.
|
|
3
|
+
An Esmx project with Vue 3 and Client-Side Rendering.
|
|
4
4
|
|
|
5
5
|
## 📦 Tech Stack
|
|
6
6
|
|
|
7
|
-
- **Framework**: [Esmx](https://
|
|
8
|
-
- **UI Framework**: Vue
|
|
7
|
+
- **Framework**: [Esmx](https://esmx.dev) - Next generation micro-frontend framework based on native ESM
|
|
8
|
+
- **UI Framework**: Vue 3
|
|
9
9
|
- **Build Tool**: Rspack
|
|
10
10
|
- **Type Checking**: TypeScript
|
|
11
11
|
- **Rendering Mode**: Client-Side Rendering (CSR)
|
|
@@ -61,7 +61,7 @@ Visit http://localhost:3000 to see the development environment.
|
|
|
61
61
|
│ ├── create-app.ts # Vue instance creation
|
|
62
62
|
│ ├── entry.client.ts # Client-side entry
|
|
63
63
|
│ ├── entry.node.ts # Node.js environment entry point
|
|
64
|
-
│ └── entry.server.ts #
|
|
64
|
+
│ └── entry.server.ts # CSR HTML shell (no SSR)
|
|
65
65
|
├── package.json
|
|
66
66
|
├── tsconfig.json
|
|
67
67
|
└── README.md
|
|
@@ -70,11 +70,11 @@ Visit http://localhost:3000 to see the development environment.
|
|
|
70
70
|
## 🔧 Configuration Details
|
|
71
71
|
|
|
72
72
|
- `entry.client.ts` - Responsible for client-side interaction and dynamic updates
|
|
73
|
-
- `entry.node.ts` - Handles
|
|
74
|
-
- `entry.server.ts` -
|
|
73
|
+
- `entry.node.ts` - Handles development environment setup and tooling
|
|
74
|
+
- `entry.server.ts` - Generates the HTML shell for CSR (no SSR)
|
|
75
75
|
|
|
76
76
|
## 📚 Additional Resources
|
|
77
77
|
|
|
78
|
-
- [Esmx Official Documentation](https://
|
|
78
|
+
- [Esmx Official Documentation](https://esmx.dev)
|
|
79
79
|
- [Vue Documentation](https://vuejs.org)
|
|
80
|
-
- [TypeScript Documentation](https://www.typescriptlang.org)
|
|
80
|
+
- [TypeScript Documentation](https://www.typescriptlang.org)
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# {{projectName}}
|
|
2
2
|
|
|
3
|
-
An Esmx project with Vue and Server-Side Rendering.
|
|
3
|
+
An Esmx project with Vue 3 and Server-Side Rendering.
|
|
4
4
|
|
|
5
5
|
## 📦 Tech Stack
|
|
6
6
|
|
|
7
|
-
- **Framework**: [Esmx](https://
|
|
8
|
-
- **UI Framework**: Vue
|
|
7
|
+
- **Framework**: [Esmx](https://esmx.dev) - Next generation micro-frontend framework based on native ESM
|
|
8
|
+
- **UI Framework**: Vue 3
|
|
9
9
|
- **Build Tool**: Rspack
|
|
10
10
|
- **Type Checking**: TypeScript
|
|
11
11
|
- **Rendering Mode**: Server-Side Rendering (SSR)
|
|
@@ -75,6 +75,6 @@ Visit http://localhost:3000 to see the development environment.
|
|
|
75
75
|
|
|
76
76
|
## 📚 Additional Resources
|
|
77
77
|
|
|
78
|
-
- [Esmx Official Documentation](https://
|
|
78
|
+
- [Esmx Official Documentation](https://esmx.dev)
|
|
79
79
|
- [Vue Documentation](https://vuejs.org)
|
|
80
|
-
- [TypeScript Documentation](https://www.typescriptlang.org)
|
|
80
|
+
- [TypeScript Documentation](https://www.typescriptlang.org)
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# {{projectName}}
|
|
2
2
|
|
|
3
|
-
An Esmx project with
|
|
3
|
+
An Esmx project with Vue 2 and Client-Side Rendering.
|
|
4
4
|
|
|
5
5
|
## 📦 Tech Stack
|
|
6
6
|
|
|
7
|
-
- **Framework**: [Esmx](https://
|
|
8
|
-
- **UI Framework**:
|
|
7
|
+
- **Framework**: [Esmx](https://esmx.dev) - Next generation micro-frontend framework based on native ESM
|
|
8
|
+
- **UI Framework**: Vue 2 with Composition API
|
|
9
9
|
- **Build Tool**: Rspack
|
|
10
10
|
- **Type Checking**: TypeScript
|
|
11
11
|
- **Rendering Mode**: Client-Side Rendering (CSR)
|
|
@@ -61,7 +61,7 @@ Visit http://localhost:3000 to see the development environment.
|
|
|
61
61
|
│ ├── create-app.ts # Vue instance creation
|
|
62
62
|
│ ├── entry.client.ts # Client-side entry
|
|
63
63
|
│ ├── entry.node.ts # Node.js environment entry point
|
|
64
|
-
│ └── entry.server.ts #
|
|
64
|
+
│ └── entry.server.ts # CSR HTML shell (no SSR)
|
|
65
65
|
├── package.json
|
|
66
66
|
├── tsconfig.json
|
|
67
67
|
└── README.md
|
|
@@ -70,11 +70,11 @@ Visit http://localhost:3000 to see the development environment.
|
|
|
70
70
|
## 🔧 Configuration Details
|
|
71
71
|
|
|
72
72
|
- `entry.client.ts` - Responsible for client-side interaction and dynamic updates
|
|
73
|
-
- `entry.node.ts` - Handles
|
|
74
|
-
- `entry.server.ts` -
|
|
73
|
+
- `entry.node.ts` - Handles development environment setup and tooling
|
|
74
|
+
- `entry.server.ts` - Generates the HTML shell for CSR (no SSR)
|
|
75
75
|
|
|
76
76
|
## 📚 Additional Resources
|
|
77
77
|
|
|
78
|
-
- [Esmx Official Documentation](https://
|
|
79
|
-
- [
|
|
80
|
-
- [TypeScript Documentation](https://www.typescriptlang.org)
|
|
78
|
+
- [Esmx Official Documentation](https://esmx.dev)
|
|
79
|
+
- [Vue 2 Documentation](https://v2.vuejs.org)
|
|
80
|
+
- [TypeScript Documentation](https://www.typescriptlang.org)
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# {{projectName}}
|
|
2
2
|
|
|
3
|
-
An Esmx project with
|
|
3
|
+
An Esmx project with Vue 2 and Server-Side Rendering.
|
|
4
4
|
|
|
5
5
|
## 📦 Tech Stack
|
|
6
6
|
|
|
7
|
-
- **Framework**: [Esmx](https://
|
|
8
|
-
- **UI Framework**:
|
|
7
|
+
- **Framework**: [Esmx](https://esmx.dev) - Next generation micro-frontend framework based on native ESM
|
|
8
|
+
- **UI Framework**: Vue 2 with Composition API
|
|
9
9
|
- **Build Tool**: Rspack
|
|
10
10
|
- **Type Checking**: TypeScript
|
|
11
11
|
- **Rendering Mode**: Server-Side Rendering (SSR)
|
|
@@ -75,6 +75,6 @@ Visit http://localhost:3000 to see the development environment.
|
|
|
75
75
|
|
|
76
76
|
## 📚 Additional Resources
|
|
77
77
|
|
|
78
|
-
- [Esmx Official Documentation](https://
|
|
79
|
-
- [
|
|
80
|
-
- [TypeScript Documentation](https://www.typescriptlang.org)
|
|
78
|
+
- [Esmx Official Documentation](https://esmx.dev)
|
|
79
|
+
- [Vue 2 Documentation](https://v2.vuejs.org)
|
|
80
|
+
- [TypeScript Documentation](https://www.typescriptlang.org)
|