create-nuxt-base 2.2.4 → 2.2.5
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/.github/workflows/publish.yml +7 -2
- package/CHANGELOG.md +3 -2
- package/README.md +13 -13
- package/index.js +3 -3
- package/nuxt-base-template/.github/workflows/test.yml +26 -11
- package/nuxt-base-template/Dockerfile.dev +6 -3
- package/nuxt-base-template/docker-entrypoint.sh +2 -2
- package/nuxt-base-template/package.json +24 -10
- package/nuxt-base-template/pnpm-lock.yaml +13078 -0
- package/package.json +8 -2
- package/nuxt-base-template/package-lock.json +0 -18261
|
@@ -18,15 +18,20 @@ jobs:
|
|
|
18
18
|
steps:
|
|
19
19
|
- uses: actions/checkout@v4
|
|
20
20
|
|
|
21
|
+
- name: Install pnpm
|
|
22
|
+
uses: pnpm/action-setup@v4
|
|
23
|
+
with:
|
|
24
|
+
version: 9
|
|
25
|
+
|
|
21
26
|
- name: Use Node LTS ✨
|
|
22
27
|
uses: actions/setup-node@v4
|
|
23
28
|
with:
|
|
24
29
|
node-version: lts/*
|
|
25
30
|
registry-url: https://registry.npmjs.org
|
|
26
|
-
cache:
|
|
31
|
+
cache: pnpm
|
|
27
32
|
|
|
28
33
|
- name: Install dependencies 📦️
|
|
29
|
-
run:
|
|
34
|
+
run: pnpm install --frozen-lockfile
|
|
30
35
|
|
|
31
36
|
- name: Publish to npm 🚀
|
|
32
37
|
run: npm publish
|
package/CHANGELOG.md
CHANGED
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
-
### [2.2.
|
|
5
|
+
### [2.2.5](https://github.com/lenneTech/nuxt-base-starter/compare/v2.2.4...v2.2.5) (2026-02-10)
|
|
6
6
|
|
|
7
|
+
### [2.2.4](https://github.com/lenneTech/nuxt-base-starter/compare/v2.2.3...v2.2.4) (2026-02-05)
|
|
7
8
|
|
|
8
9
|
### Bug Fixes
|
|
9
10
|
|
|
10
|
-
|
|
11
|
+
- fix changelog markdown, clear npmrc overrides, and force single worker for Playwright tests ([d90fab4](https://github.com/lenneTech/nuxt-base-starter/commit/d90fab4af78dea6ec5192bad0ca4095f21bef9b8))
|
|
11
12
|
|
|
12
13
|
### [2.2.3](https://github.com/lenneTech/nuxt-base-starter/compare/v2.2.2...v2.2.3) (2026-02-05)
|
|
13
14
|
|
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@ A CLI tool to scaffold a production-ready **Nuxt 4** application with TypeScript
|
|
|
7
7
|
```bash
|
|
8
8
|
npx create-nuxt-base my-awesome-project
|
|
9
9
|
cd my-awesome-project
|
|
10
|
-
|
|
10
|
+
pnpm run dev
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
The development server starts at **http://localhost:3001**
|
|
@@ -103,17 +103,17 @@ my-project/
|
|
|
103
103
|
|
|
104
104
|
## Available Scripts
|
|
105
105
|
|
|
106
|
-
| Script
|
|
107
|
-
|
|
|
108
|
-
| `
|
|
109
|
-
| `
|
|
110
|
-
| `
|
|
111
|
-
| `
|
|
112
|
-
| `
|
|
113
|
-
| `
|
|
114
|
-
| `
|
|
115
|
-
| `
|
|
116
|
-
| `
|
|
106
|
+
| Script | Description |
|
|
107
|
+
| ------------------------- | -------------------------------------- |
|
|
108
|
+
| `pnpm run dev` | Start development server |
|
|
109
|
+
| `pnpm run build` | Build for production |
|
|
110
|
+
| `pnpm run preview` | Preview production build |
|
|
111
|
+
| `pnpm run generate-types` | Generate TypeScript types from OpenAPI |
|
|
112
|
+
| `pnpm run test` | Run Playwright E2E tests |
|
|
113
|
+
| `pnpm run lint` | Run OxLint |
|
|
114
|
+
| `pnpm run format` | Run OxFmt |
|
|
115
|
+
| `pnpm run check` | Run lint + format check |
|
|
116
|
+
| `pnpm run fix` | Auto-fix lint + format issues |
|
|
117
117
|
|
|
118
118
|
## Environment Variables
|
|
119
119
|
|
|
@@ -137,7 +137,7 @@ STORAGE_PREFIX=base-dev # Local storage prefix
|
|
|
137
137
|
## Requirements
|
|
138
138
|
|
|
139
139
|
- Node.js >= 22
|
|
140
|
-
-
|
|
140
|
+
- pnpm >= 9
|
|
141
141
|
|
|
142
142
|
## License
|
|
143
143
|
|
package/index.js
CHANGED
|
@@ -69,7 +69,7 @@ async function create() {
|
|
|
69
69
|
await waitForChildProcess(gitInit);
|
|
70
70
|
|
|
71
71
|
console.log('Installing dependencies ...');
|
|
72
|
-
const runInstall = spawn('
|
|
72
|
+
const runInstall = spawn('pnpm', ['install'], { stdio: 'inherit' });
|
|
73
73
|
await waitForSpawn(runInstall);
|
|
74
74
|
|
|
75
75
|
const removeGit = spawn('npx', ['rimraf', '.git'], { stdio: 'inherit' });
|
|
@@ -79,7 +79,7 @@ async function create() {
|
|
|
79
79
|
|
|
80
80
|
if (autoStart) {
|
|
81
81
|
console.log('Building Project ...');
|
|
82
|
-
const runBuild = spawn('
|
|
82
|
+
const runBuild = spawn('pnpm', ['run', 'build'], { stdio: 'inherit' });
|
|
83
83
|
await waitForSpawn(runBuild)
|
|
84
84
|
.then(() => console.log('✅ Project was successfully built'))
|
|
85
85
|
.catch(() => console.log('❌ Error while building the project'));
|
|
@@ -93,7 +93,7 @@ async function create() {
|
|
|
93
93
|
await waitForMS(1000);
|
|
94
94
|
console.log(`Launching ${projectName} ... 🚀`);
|
|
95
95
|
await waitForMS(1000);
|
|
96
|
-
const runDev = spawn('
|
|
96
|
+
const runDev = spawn('pnpm', ['run', 'start'], { stdio: 'inherit' });
|
|
97
97
|
await waitForSpawn(runDev);
|
|
98
98
|
}
|
|
99
99
|
}
|
|
@@ -15,20 +15,25 @@ jobs:
|
|
|
15
15
|
- name: Checkout repository
|
|
16
16
|
uses: actions/checkout@v4
|
|
17
17
|
|
|
18
|
+
- name: Install pnpm
|
|
19
|
+
uses: pnpm/action-setup@v4
|
|
20
|
+
with:
|
|
21
|
+
version: 9
|
|
22
|
+
|
|
18
23
|
- name: Setup Node.js
|
|
19
24
|
uses: actions/setup-node@v4
|
|
20
25
|
with:
|
|
21
26
|
node-version: '22'
|
|
22
|
-
cache: '
|
|
27
|
+
cache: 'pnpm'
|
|
23
28
|
|
|
24
29
|
- name: Install dependencies
|
|
25
|
-
run:
|
|
30
|
+
run: pnpm install --frozen-lockfile
|
|
26
31
|
|
|
27
32
|
- name: Run unit tests
|
|
28
|
-
run:
|
|
33
|
+
run: pnpm run test:unit
|
|
29
34
|
|
|
30
35
|
- name: Run unit tests with coverage
|
|
31
|
-
run:
|
|
36
|
+
run: pnpm run test:unit:coverage
|
|
32
37
|
|
|
33
38
|
- name: Upload coverage report
|
|
34
39
|
uses: actions/upload-artifact@v4
|
|
@@ -46,20 +51,25 @@ jobs:
|
|
|
46
51
|
- name: Checkout repository
|
|
47
52
|
uses: actions/checkout@v4
|
|
48
53
|
|
|
54
|
+
- name: Install pnpm
|
|
55
|
+
uses: pnpm/action-setup@v4
|
|
56
|
+
with:
|
|
57
|
+
version: 9
|
|
58
|
+
|
|
49
59
|
- name: Setup Node.js
|
|
50
60
|
uses: actions/setup-node@v4
|
|
51
61
|
with:
|
|
52
62
|
node-version: '22'
|
|
53
|
-
cache: '
|
|
63
|
+
cache: 'pnpm'
|
|
54
64
|
|
|
55
65
|
- name: Install dependencies
|
|
56
|
-
run:
|
|
66
|
+
run: pnpm install --frozen-lockfile
|
|
57
67
|
|
|
58
68
|
- name: Run linter
|
|
59
|
-
run:
|
|
69
|
+
run: pnpm run lint
|
|
60
70
|
|
|
61
71
|
- name: Check formatting
|
|
62
|
-
run:
|
|
72
|
+
run: pnpm run format:check
|
|
63
73
|
|
|
64
74
|
build:
|
|
65
75
|
name: Build
|
|
@@ -70,17 +80,22 @@ jobs:
|
|
|
70
80
|
- name: Checkout repository
|
|
71
81
|
uses: actions/checkout@v4
|
|
72
82
|
|
|
83
|
+
- name: Install pnpm
|
|
84
|
+
uses: pnpm/action-setup@v4
|
|
85
|
+
with:
|
|
86
|
+
version: 9
|
|
87
|
+
|
|
73
88
|
- name: Setup Node.js
|
|
74
89
|
uses: actions/setup-node@v4
|
|
75
90
|
with:
|
|
76
91
|
node-version: '22'
|
|
77
|
-
cache: '
|
|
92
|
+
cache: 'pnpm'
|
|
78
93
|
|
|
79
94
|
- name: Install dependencies
|
|
80
|
-
run:
|
|
95
|
+
run: pnpm install --frozen-lockfile
|
|
81
96
|
|
|
82
97
|
- name: Build application
|
|
83
|
-
run:
|
|
98
|
+
run: pnpm run build
|
|
84
99
|
|
|
85
100
|
- name: Upload build artifacts
|
|
86
101
|
uses: actions/upload-artifact@v4
|
|
@@ -5,12 +5,15 @@ WORKDIR /app
|
|
|
5
5
|
# Install dependencies for native modules
|
|
6
6
|
RUN apk add --no-cache python3 make g++
|
|
7
7
|
|
|
8
|
+
# Enable pnpm via corepack
|
|
9
|
+
RUN corepack enable && corepack prepare pnpm@latest --activate
|
|
10
|
+
|
|
8
11
|
# Copy package files first for better caching
|
|
9
|
-
COPY package
|
|
12
|
+
COPY package.json pnpm-lock.yaml ./
|
|
10
13
|
COPY .npmrc ./
|
|
11
14
|
|
|
12
15
|
# Install dependencies
|
|
13
|
-
RUN
|
|
16
|
+
RUN pnpm install --frozen-lockfile
|
|
14
17
|
|
|
15
18
|
# Copy entrypoint script
|
|
16
19
|
COPY docker-entrypoint.sh /docker-entrypoint.sh
|
|
@@ -20,4 +23,4 @@ RUN chmod +x /docker-entrypoint.sh
|
|
|
20
23
|
EXPOSE 3001
|
|
21
24
|
|
|
22
25
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
|
23
|
-
CMD ["
|
|
26
|
+
CMD ["pnpm", "run", "dev", "--", "--host", "0.0.0.0"]
|
|
@@ -3,11 +3,11 @@ set -e
|
|
|
3
3
|
|
|
4
4
|
# Check if node_modules exists and if package.json has changed
|
|
5
5
|
PACKAGE_HASH_FILE="/app/.package-hash"
|
|
6
|
-
CURRENT_HASH=$(md5sum /app/package.json /app/
|
|
6
|
+
CURRENT_HASH=$(md5sum /app/package.json /app/pnpm-lock.yaml 2>/dev/null | md5sum | cut -d' ' -f1)
|
|
7
7
|
|
|
8
8
|
if [ ! -d "/app/node_modules" ] || [ ! -f "$PACKAGE_HASH_FILE" ] || [ "$(cat $PACKAGE_HASH_FILE 2>/dev/null)" != "$CURRENT_HASH" ]; then
|
|
9
9
|
echo "Installing dependencies..."
|
|
10
|
-
|
|
10
|
+
pnpm install --frozen-lockfile
|
|
11
11
|
echo "$CURRENT_HASH" > "$PACKAGE_HASH_FILE"
|
|
12
12
|
echo "Dependencies installed successfully."
|
|
13
13
|
else
|
|
@@ -10,8 +10,14 @@
|
|
|
10
10
|
}
|
|
11
11
|
},
|
|
12
12
|
"scripts": {
|
|
13
|
-
"
|
|
14
|
-
"
|
|
13
|
+
"c": "pnpm run check",
|
|
14
|
+
"check": "pnpm audit && pnpm run format:check && pnpm run lint && pnpm test && pnpm run build && pnpm start",
|
|
15
|
+
"check:fix": "pnpm install && pnpm audit --fix && pnpm run format && pnpm run lint:fix && pnpm test && pnpm run build && pnpm start",
|
|
16
|
+
"check:naf": "pnpm install && pnpm run format && pnpm run lint:fix && pnpm test && pnpm run build && pnpm start",
|
|
17
|
+
"cf": "pnpm run check:fix",
|
|
18
|
+
"cnaf": "pnpm run check:naf",
|
|
19
|
+
"init": "pnpm install",
|
|
20
|
+
"reinit": "npx rimraf pnpm-lock.yaml && npx nuxt cleanup && npx rimraf node_modules && pnpm install",
|
|
15
21
|
"clean": "npx rimraf .nuxt .output",
|
|
16
22
|
"dev": "nuxt dev",
|
|
17
23
|
"build": "nuxt build",
|
|
@@ -29,24 +35,23 @@
|
|
|
29
35
|
"preview": "nuxt preview",
|
|
30
36
|
"postinstall": "nuxt prepare",
|
|
31
37
|
"prepare": "simple-git-hooks",
|
|
32
|
-
"test": "
|
|
38
|
+
"test": "pnpm run test:unit",
|
|
33
39
|
"test:unit": "vitest run",
|
|
34
40
|
"test:unit:watch": "vitest",
|
|
35
41
|
"test:unit:coverage": "vitest run --coverage",
|
|
36
42
|
"test:e2e": "playwright test",
|
|
37
|
-
"test:all": "
|
|
43
|
+
"test:all": "pnpm run test:unit && pnpm run test:e2e",
|
|
38
44
|
"lint": "oxlint app/",
|
|
39
|
-
"lint:fix": "oxlint --fix app/",
|
|
45
|
+
"lint:fix": "oxlint --fix --fix-suggestions app/",
|
|
40
46
|
"format": "oxfmt",
|
|
41
47
|
"format:check": "oxfmt --check",
|
|
42
|
-
"
|
|
43
|
-
"fix": "npm run lint:fix && npm run format"
|
|
48
|
+
"fix": "pnpm run lint:fix && pnpm run format"
|
|
44
49
|
},
|
|
45
50
|
"dependencies": {
|
|
46
51
|
"@better-auth/passkey": "1.4.10",
|
|
47
52
|
"@hey-api/client-fetch": "0.13.1",
|
|
48
53
|
"@lenne.tech/bug.lt": "latest",
|
|
49
|
-
"@lenne.tech/nuxt-extensions": "1.2.
|
|
54
|
+
"@lenne.tech/nuxt-extensions": "1.2.9",
|
|
50
55
|
"@nuxt/image": "2.0.0",
|
|
51
56
|
"@nuxt/ui": "4.3.0",
|
|
52
57
|
"@pinia/nuxt": "0.11.3",
|
|
@@ -87,7 +92,7 @@
|
|
|
87
92
|
},
|
|
88
93
|
"simple-git-hooks": {
|
|
89
94
|
"pre-commit": "npx lint-staged",
|
|
90
|
-
"pre-push": "
|
|
95
|
+
"pre-push": "pnpm run test:unit"
|
|
91
96
|
},
|
|
92
97
|
"lint-staged": {
|
|
93
98
|
"app/**/*.{ts,vue}": [
|
|
@@ -100,6 +105,15 @@
|
|
|
100
105
|
},
|
|
101
106
|
"engines": {
|
|
102
107
|
"node": ">=22",
|
|
103
|
-
"
|
|
108
|
+
"pnpm": ">=9"
|
|
109
|
+
},
|
|
110
|
+
"pnpm": {
|
|
111
|
+
"onlyBuiltDependencies": [
|
|
112
|
+
"@parcel/watcher",
|
|
113
|
+
"esbuild",
|
|
114
|
+
"sharp",
|
|
115
|
+
"simple-git-hooks",
|
|
116
|
+
"vue-demi"
|
|
117
|
+
]
|
|
104
118
|
}
|
|
105
119
|
}
|