@vited/create 0.0.5 → 0.0.6
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/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as THEMES, n as create, r as installPackages, i as resolvePackageManager } from "./src-
|
|
1
|
+
export { t as THEMES, n as create, r as installPackages, i as resolvePackageManager } from "./src-KPLQg03-.mjs";
|
|
@@ -4,15 +4,17 @@ import path from "node:path";
|
|
|
4
4
|
import process from "node:process";
|
|
5
5
|
import { URL } from "node:url";
|
|
6
6
|
import { promisify } from "node:util";
|
|
7
|
+
import { stringify } from "yaml";
|
|
7
8
|
import i18next from "i18next";
|
|
8
9
|
// src/github.ts
|
|
10
|
+
const defaultPnpmVersion = 12;
|
|
9
11
|
const execFileAsync = promisify(execFile);
|
|
10
|
-
async function getGitHubPagesSetup(projectPath,
|
|
11
|
-
const githubRepository = await findGitHubRepository(projectPath,
|
|
12
|
+
async function getGitHubPagesSetup(projectPath, packageJson, packageManager) {
|
|
13
|
+
const githubRepository = await findGitHubRepository(projectPath, getRepositoryURL(packageJson));
|
|
12
14
|
if (!githubRepository) return;
|
|
13
15
|
return {
|
|
14
16
|
base: getGitHubBaseURL(githubRepository),
|
|
15
|
-
workflow: makeGitHubPagesWorkflow(packageManager)
|
|
17
|
+
workflow: makeGitHubPagesWorkflow(packageManager, getPnpmVersion(packageJson))
|
|
16
18
|
};
|
|
17
19
|
}
|
|
18
20
|
async function writeGitHubPagesWorkflow(projectPath, content) {
|
|
@@ -24,7 +26,7 @@ async function writeGitHubPagesWorkflow(projectPath, content) {
|
|
|
24
26
|
if (!isNodeError$1(error, "EEXIST")) throw error;
|
|
25
27
|
}
|
|
26
28
|
}
|
|
27
|
-
async function findGitHubRepository(projectPath,
|
|
29
|
+
async function findGitHubRepository(projectPath, repositoryURL) {
|
|
28
30
|
let originURL;
|
|
29
31
|
try {
|
|
30
32
|
originURL = (await execFileAsync("git", [
|
|
@@ -38,7 +40,7 @@ async function findGitHubRepository(projectPath, repository) {
|
|
|
38
40
|
} catch (error) {
|
|
39
41
|
if (!isExpectedGitLookupFailure(error)) throw error;
|
|
40
42
|
}
|
|
41
|
-
return parseGitHubRepository(originURL) ?? parseGitHubRepository(
|
|
43
|
+
return parseGitHubRepository(originURL) ?? parseGitHubRepository(repositoryURL);
|
|
42
44
|
}
|
|
43
45
|
function isExpectedGitLookupFailure(error) {
|
|
44
46
|
if (isNodeError$1(error, "ENOENT")) return true;
|
|
@@ -46,7 +48,11 @@ function isExpectedGitLookupFailure(error) {
|
|
|
46
48
|
const code = error["code"];
|
|
47
49
|
return typeof code === "number" && [2, 128].includes(code);
|
|
48
50
|
}
|
|
49
|
-
function getRepositoryURL(
|
|
51
|
+
function getRepositoryURL(packageJson) {
|
|
52
|
+
if (!isRecord$1(packageJson)) return;
|
|
53
|
+
return getURLValue(packageJson["repository"]);
|
|
54
|
+
}
|
|
55
|
+
function getURLValue(repository) {
|
|
50
56
|
if (typeof repository === "string") return repository;
|
|
51
57
|
if (isRecord$1(repository) && typeof repository["url"] === "string") return repository["url"];
|
|
52
58
|
}
|
|
@@ -85,73 +91,107 @@ function makeGitHubRepository(owner, name) {
|
|
|
85
91
|
function getGitHubBaseURL(repository) {
|
|
86
92
|
return repository.name.toLowerCase() === `${repository.owner.toLowerCase()}.github.io` ? "/" : `/${repository.name}/`;
|
|
87
93
|
}
|
|
88
|
-
function
|
|
89
|
-
|
|
94
|
+
function getPnpmVersion(packageJson) {
|
|
95
|
+
if (!isRecord$1(packageJson)) return defaultPnpmVersion;
|
|
96
|
+
const packageManager = packageJson["packageManager"];
|
|
97
|
+
if (typeof packageManager === "string" && /^pnpm[@/]/.test(packageManager)) {
|
|
98
|
+
const version = parseVersion(packageManager);
|
|
99
|
+
if (version) return version;
|
|
100
|
+
}
|
|
101
|
+
const devEngines = packageJson["devEngines"];
|
|
102
|
+
if (isRecord$1(devEngines)) {
|
|
103
|
+
const devEngine = devEngines["packageManager"];
|
|
104
|
+
if (isRecord$1(devEngine) && devEngine["name"] === "pnpm") {
|
|
105
|
+
const version = parseVersion(devEngine["version"]);
|
|
106
|
+
if (version) return version;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
const engines = packageJson["engines"];
|
|
110
|
+
if (isRecord$1(engines)) {
|
|
111
|
+
const version = parseVersion(engines["pnpm"]);
|
|
112
|
+
if (version) return version;
|
|
113
|
+
}
|
|
114
|
+
return defaultPnpmVersion;
|
|
115
|
+
}
|
|
116
|
+
function parseVersion(value) {
|
|
117
|
+
if (typeof value !== "string") return;
|
|
118
|
+
return /\d+(?:\.\d+){0,2}/.exec(value)?.[0];
|
|
119
|
+
}
|
|
120
|
+
function makeGitHubPagesWorkflow(packageManager, pnpmVersion) {
|
|
121
|
+
const setupPackageManagerStepsByPackageManager = {
|
|
90
122
|
npm: [],
|
|
91
|
-
pnpm: [
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
123
|
+
pnpm: [{
|
|
124
|
+
uses: "pnpm/action-setup@v4",
|
|
125
|
+
with: { version: pnpmVersion }
|
|
126
|
+
}],
|
|
127
|
+
yarn: [{ run: "corepack enable" }],
|
|
128
|
+
bun: [{ uses: "oven-sh/setup-bun@v2" }]
|
|
129
|
+
};
|
|
130
|
+
const installStepsByPackageManager = {
|
|
131
|
+
npm: [{ run: "npm install" }],
|
|
132
|
+
pnpm: [{ run: "pnpm approve-builds @swc/core esbuild" }, { run: "pnpm install" }],
|
|
133
|
+
yarn: [{ run: "yarn install" }],
|
|
134
|
+
bun: [{ run: "bun install" }]
|
|
135
|
+
};
|
|
136
|
+
const setupPackageManagerSteps = setupPackageManagerStepsByPackageManager[packageManager];
|
|
137
|
+
const installSteps = installStepsByPackageManager[packageManager];
|
|
101
138
|
const buildCommand = {
|
|
102
139
|
npm: "npm run docs:build",
|
|
103
140
|
pnpm: "pnpm run docs:build",
|
|
104
141
|
yarn: "yarn docs:build",
|
|
105
142
|
bun: "bun run docs:build"
|
|
106
143
|
}[packageManager];
|
|
107
|
-
return
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
144
|
+
return stringify({
|
|
145
|
+
name: "Pages",
|
|
146
|
+
on: {
|
|
147
|
+
push: { branches: ["main", "master"] },
|
|
148
|
+
workflow_dispatch: {}
|
|
149
|
+
},
|
|
150
|
+
permissions: {
|
|
151
|
+
contents: "read",
|
|
152
|
+
pages: "write"
|
|
153
|
+
},
|
|
154
|
+
concurrency: {
|
|
155
|
+
group: "github-pages",
|
|
156
|
+
"cancel-in-progress": false
|
|
157
|
+
},
|
|
158
|
+
jobs: {
|
|
159
|
+
build: {
|
|
160
|
+
"runs-on": "ubuntu-latest",
|
|
161
|
+
steps: [
|
|
162
|
+
{ uses: "actions/checkout@v6" },
|
|
163
|
+
{
|
|
164
|
+
uses: "actions/setup-node@v6",
|
|
165
|
+
with: { "node-version": 22 }
|
|
166
|
+
},
|
|
167
|
+
...setupPackageManagerSteps,
|
|
168
|
+
{ uses: "actions/configure-pages@v5" },
|
|
169
|
+
...installSteps,
|
|
170
|
+
{ run: buildCommand },
|
|
171
|
+
{
|
|
172
|
+
uses: "actions/upload-pages-artifact@v4",
|
|
173
|
+
with: { path: "./docs_dist" }
|
|
174
|
+
}
|
|
175
|
+
]
|
|
176
|
+
},
|
|
177
|
+
deploy: {
|
|
178
|
+
environment: {
|
|
179
|
+
name: "github-pages",
|
|
180
|
+
url: "${{ steps.deployment.outputs.page_url }}"
|
|
181
|
+
},
|
|
182
|
+
"runs-on": "ubuntu-latest",
|
|
183
|
+
needs: "build",
|
|
184
|
+
permissions: {
|
|
185
|
+
pages: "write",
|
|
186
|
+
"id-token": "write"
|
|
187
|
+
},
|
|
188
|
+
steps: [{
|
|
189
|
+
id: "deployment",
|
|
190
|
+
uses: "actions/deploy-pages@v4"
|
|
191
|
+
}]
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
});
|
|
155
195
|
}
|
|
156
196
|
function isNodeError$1(error, code) {
|
|
157
197
|
return error instanceof Error && "code" in error && error.code === code;
|
|
@@ -308,7 +348,7 @@ async function create({ directory, theme, packageManager, install }) {
|
|
|
308
348
|
const packageJsonPath = path.join(projectPath, "package.json");
|
|
309
349
|
const packageJson = await readProjectPackageJson(packageJsonPath, projectPath);
|
|
310
350
|
addVitedConfiguration(packageJson, projectPath, theme);
|
|
311
|
-
const githubPages = await getGitHubPagesSetup(projectPath, packageJson
|
|
351
|
+
const githubPages = await getGitHubPagesSetup(projectPath, packageJson, packageManager);
|
|
312
352
|
const base = githubPages?.base;
|
|
313
353
|
await mkdir(projectPath, { recursive: true });
|
|
314
354
|
await ensureGitignoreEntry(projectPath, "docs_dist");
|
package/dist/vited-create.mjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { a as LANGUAGES, c as t, i as resolvePackageManager, n as create, o as isLanguage, s as setLanguage, t as THEMES } from "./src-
|
|
2
|
+
import { a as LANGUAGES, c as t, i as resolvePackageManager, n as create, o as isLanguage, s as setLanguage, t as THEMES } from "./src-KPLQg03-.mjs";
|
|
3
3
|
import process from "node:process";
|
|
4
4
|
import console from "node:console";
|
|
5
5
|
import { Command, Option } from "commander";
|
|
6
6
|
import { cancel, confirm, intro, isCancel, outro, select, text } from "@clack/prompts";
|
|
7
7
|
// package.json
|
|
8
|
-
var version = "0.0.
|
|
8
|
+
var version = "0.0.6";
|
|
9
9
|
// src/interactive.ts
|
|
10
10
|
async function runInteractive() {
|
|
11
11
|
if (!process.stdin.isTTY || !process.stdout.isTTY) throw new Error(t("interactive.terminalRequired"));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vited/create",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.6",
|
|
4
4
|
"description": "Create and initialize Vited documentation projects",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cli",
|
|
@@ -44,7 +44,8 @@
|
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"@clack/prompts": "^1.8.1",
|
|
46
46
|
"commander": "^11.0.0",
|
|
47
|
-
"i18next": "^26.5.11"
|
|
47
|
+
"i18next": "^26.5.11",
|
|
48
|
+
"yaml": "^2.9.1"
|
|
48
49
|
},
|
|
49
50
|
"devDependencies": {
|
|
50
51
|
"@guoyunhe/oxfmt-config": "^1.1.0",
|