vite-plus 0.1.19-alpha.3 → 0.1.20-alpha.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.
- package/AGENTS.md +6 -79
- package/bin/oxfmt +4 -2
- package/dist/bin.js +1 -2
- package/dist/create/bin.js +5 -5
- package/dist/migration/bin.js +1 -1
- package/dist/versions.js +4 -4
- package/dist/{workspace-CbqYKgbm.js → workspace-oCv-zJ1i.js} +60 -8
- package/docs/_data/team.js +122 -0
- package/docs/index.md +12 -0
- package/docs/package.json +26 -0
- package/docs/pnpm-lock.yaml +3330 -0
- package/docs/pnpm-workspace.yaml +6 -0
- package/docs/public/checkmark.svg +1 -0
- package/docs/public/cta-background.jpg +0 -0
- package/docs/public/favicon.svg +1 -0
- package/docs/public/icon.svg +1 -0
- package/docs/public/logo.svg +1 -0
- package/docs/public/og.jpg +0 -0
- package/docs/team.md +35 -0
- package/package.json +17 -17
- package/dist/mcp/bin.d.ts +0 -1
- package/dist/mcp/bin.js +0 -377
- package/skills/vite-plus/SKILL.md +0 -58
- /package/{skills/vite-plus/docs → docs}/config/build.md +0 -0
- /package/{skills/vite-plus/docs → docs}/config/fmt.md +0 -0
- /package/{skills/vite-plus/docs → docs}/config/index.md +0 -0
- /package/{skills/vite-plus/docs → docs}/config/lint.md +0 -0
- /package/{skills/vite-plus/docs → docs}/config/pack.md +0 -0
- /package/{skills/vite-plus/docs → docs}/config/run.md +0 -0
- /package/{skills/vite-plus/docs → docs}/config/staged.md +0 -0
- /package/{skills/vite-plus/docs → docs}/config/test.md +0 -0
- /package/{skills/vite-plus/docs → docs}/guide/build.md +0 -0
- /package/{skills/vite-plus/docs → docs}/guide/cache.md +0 -0
- /package/{skills/vite-plus/docs → docs}/guide/check.md +0 -0
- /package/{skills/vite-plus/docs → docs}/guide/ci.md +0 -0
- /package/{skills/vite-plus/docs → docs}/guide/commit-hooks.md +0 -0
- /package/{skills/vite-plus/docs → docs}/guide/create.md +0 -0
- /package/{skills/vite-plus/docs → docs}/guide/dev.md +0 -0
- /package/{skills/vite-plus/docs → docs}/guide/env.md +0 -0
- /package/{skills/vite-plus/docs → docs}/guide/fmt.md +0 -0
- /package/{skills/vite-plus/docs → docs}/guide/ide-integration.md +0 -0
- /package/{skills/vite-plus/docs → docs}/guide/implode.md +0 -0
- /package/{skills/vite-plus/docs → docs}/guide/index.md +0 -0
- /package/{skills/vite-plus/docs → docs}/guide/install.md +0 -0
- /package/{skills/vite-plus/docs → docs}/guide/lint.md +0 -0
- /package/{skills/vite-plus/docs → docs}/guide/migrate.md +0 -0
- /package/{skills/vite-plus/docs → docs}/guide/pack.md +0 -0
- /package/{skills/vite-plus/docs → docs}/guide/run.md +0 -0
- /package/{skills/vite-plus/docs → docs}/guide/test.md +0 -0
- /package/{skills/vite-plus/docs → docs}/guide/troubleshooting.md +0 -0
- /package/{skills/vite-plus/docs → docs}/guide/upgrade.md +0 -0
- /package/{skills/vite-plus/docs → docs}/guide/vpx.md +0 -0
- /package/{skills/vite-plus/docs → docs}/guide/why.md +0 -0
package/AGENTS.md
CHANGED
|
@@ -2,87 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
# Using Vite+, the Unified Toolchain for the Web
|
|
4
4
|
|
|
5
|
-
This project is using Vite+, a unified toolchain built on top of Vite, Rolldown, Vitest, tsdown, Oxlint, Oxfmt, and Vite Task. Vite+ wraps runtime management, package management, and frontend tooling in a single global CLI called `vp`. Vite+ is distinct from Vite,
|
|
5
|
+
This project is using Vite+, a unified toolchain built on top of Vite, Rolldown, Vitest, tsdown, Oxlint, Oxfmt, and Vite Task. Vite+ wraps runtime management, package management, and frontend tooling in a single global CLI called `vp`. Vite+ is distinct from Vite, and it invokes Vite through `vp dev` and `vp build`. Run `vp help` to print a list of commands and `vp <command> --help` for information about a specific command.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Docs are local at `node_modules/vite-plus/docs` or online at https://viteplus.dev/guide/.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
### Start
|
|
12
|
-
|
|
13
|
-
- create - Create a new project from a template
|
|
14
|
-
- migrate - Migrate an existing project to Vite+
|
|
15
|
-
- config - Configure hooks and agent integration
|
|
16
|
-
- staged - Run linters on staged files
|
|
17
|
-
- install (`i`) - Install dependencies
|
|
18
|
-
- env - Manage Node.js versions
|
|
19
|
-
|
|
20
|
-
### Develop
|
|
21
|
-
|
|
22
|
-
- dev - Run the development server
|
|
23
|
-
- check - Run format, lint, and TypeScript type checks
|
|
24
|
-
- lint - Lint code
|
|
25
|
-
- fmt - Format code
|
|
26
|
-
- test - Run tests
|
|
27
|
-
|
|
28
|
-
### Execute
|
|
29
|
-
|
|
30
|
-
- run - Run monorepo tasks
|
|
31
|
-
- exec - Execute a command from local `node_modules/.bin`
|
|
32
|
-
- dlx - Execute a package binary without installing it as a dependency
|
|
33
|
-
- cache - Manage the task cache
|
|
34
|
-
|
|
35
|
-
### Build
|
|
36
|
-
|
|
37
|
-
- build - Build for production
|
|
38
|
-
- pack - Build libraries
|
|
39
|
-
- preview - Preview production build
|
|
40
|
-
|
|
41
|
-
### Manage Dependencies
|
|
42
|
-
|
|
43
|
-
Vite+ automatically detects and wraps the underlying package manager such as pnpm, npm, or Yarn through the `packageManager` field in `package.json` or package manager-specific lockfiles.
|
|
44
|
-
|
|
45
|
-
- add - Add packages to dependencies
|
|
46
|
-
- remove (`rm`, `un`, `uninstall`) - Remove packages from dependencies
|
|
47
|
-
- update (`up`) - Update packages to latest versions
|
|
48
|
-
- dedupe - Deduplicate dependencies
|
|
49
|
-
- outdated - Check for outdated packages
|
|
50
|
-
- list (`ls`) - List installed packages
|
|
51
|
-
- why (`explain`) - Show why a package is installed
|
|
52
|
-
- info (`view`, `show`) - View package information from the registry
|
|
53
|
-
- link (`ln`) / unlink - Manage local package links
|
|
54
|
-
- pm - Forward a command to the package manager
|
|
55
|
-
|
|
56
|
-
### Maintain
|
|
57
|
-
|
|
58
|
-
- upgrade - Update `vp` itself to the latest version
|
|
59
|
-
|
|
60
|
-
These commands map to their corresponding tools. For example, `vp dev --port 3000` runs Vite's dev server and works the same as Vite. `vp test` runs JavaScript tests through the bundled Vitest. The version of all tools can be checked using `vp --version`. This is useful when researching documentation, features, and bugs.
|
|
61
|
-
|
|
62
|
-
## Common Pitfalls
|
|
63
|
-
|
|
64
|
-
- **Using the package manager directly:** Do not use pnpm, npm, or Yarn directly. Vite+ can handle all package manager operations.
|
|
65
|
-
- **Always use Vite commands to run tools:** Don't attempt to run `vp vitest` or `vp oxlint`. They do not exist. Use `vp test` and `vp lint` instead.
|
|
66
|
-
- **Running scripts:** Vite+ built-in commands (`vp dev`, `vp build`, `vp test`, etc.) always run the Vite+ built-in tool, not any `package.json` script of the same name. To run a custom script that shares a name with a built-in command, use `vp run <script>`. For example, if you have a custom `dev` script that runs multiple services concurrently, run it with `vp run dev`, not `vp dev` (which always starts Vite's dev server).
|
|
67
|
-
- **Do not install Vitest, Oxlint, Oxfmt, or tsdown directly:** Vite+ wraps these tools. They must not be installed directly. You cannot upgrade these tools by installing their latest versions. Always use Vite+ commands.
|
|
68
|
-
- **Use Vite+ wrappers for one-off binaries:** Use `vp dlx` instead of package-manager-specific `dlx`/`npx` commands.
|
|
69
|
-
- **Import JavaScript modules from `vite-plus`:** Instead of importing from `vite` or `vitest`, all modules should be imported from the project's `vite-plus` dependency. For example, `import { defineConfig } from 'vite-plus';` or `import { expect, test, vi } from 'vite-plus/test';`. You must not install `vitest` to import test utilities.
|
|
70
|
-
- **Type-Aware Linting:** There is no need to install `oxlint-tsgolint`, `vp lint --type-aware` works out of the box.
|
|
71
|
-
|
|
72
|
-
## CI Integration
|
|
73
|
-
|
|
74
|
-
For GitHub Actions, consider using [`voidzero-dev/setup-vp`](https://github.com/voidzero-dev/setup-vp) to replace separate `actions/setup-node`, package-manager setup, cache, and install steps with a single action.
|
|
75
|
-
|
|
76
|
-
```yaml
|
|
77
|
-
- uses: voidzero-dev/setup-vp@v1
|
|
78
|
-
with:
|
|
79
|
-
cache: true
|
|
80
|
-
- run: vp check
|
|
81
|
-
- run: vp test
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
## Review Checklist for Agents
|
|
9
|
+
## Review Checklist
|
|
85
10
|
|
|
86
11
|
- [ ] Run `vp install` after pulling remote changes and before getting started.
|
|
87
|
-
- [ ] Run `vp check` and `vp test` to
|
|
12
|
+
- [ ] Run `vp check` and `vp test` to format, lint, type check and test changes.
|
|
13
|
+
- [ ] Check if there are `vite.config.ts` tasks or `package.json` scripts necessary for validation, run via `vp run <script>`.
|
|
14
|
+
|
|
88
15
|
<!--VITE PLUS END-->
|
package/bin/oxfmt
CHANGED
|
@@ -4,8 +4,10 @@
|
|
|
4
4
|
// This enables IDE extensions (e.g., oxc-vscode) to discover and start the LSP server.
|
|
5
5
|
// Binary resolution follows the same approach as `src/resolve-fmt.ts`.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
const isLSP = process.argv.includes('--lsp');
|
|
8
|
+
const isStdin = process.argv.some((arg) => arg.startsWith('--stdin-filepath'));
|
|
9
|
+
if (!isLSP && !isStdin) {
|
|
10
|
+
console.error('This oxfmt wrapper is for IDE extension use only (lsp or stdin mode).');
|
|
9
11
|
console.error('To format your code, run: vp fmt');
|
|
10
12
|
process.exit(1);
|
|
11
13
|
}
|
package/dist/bin.js
CHANGED
|
@@ -387,7 +387,7 @@ async function vite() {
|
|
|
387
387
|
/**
|
|
388
388
|
* Unified entry point for both the local CLI (via bin/vp) and the global CLI (via Rust vp binary).
|
|
389
389
|
*
|
|
390
|
-
* Global commands (create, migrate, config,
|
|
390
|
+
* Global commands (create, migrate, config, staged, --version) are handled by tsdown-bundled modules.
|
|
391
391
|
* All other commands are delegated to the Rust core through NAPI bindings, which
|
|
392
392
|
* uses JavaScript tool resolver functions to locate tool binaries.
|
|
393
393
|
*
|
|
@@ -414,7 +414,6 @@ process.env.VP_COMMAND = command ?? "";
|
|
|
414
414
|
if (command === "create") await import("./create/bin.js");
|
|
415
415
|
else if (command === "migrate") await import("./migration/bin.js");
|
|
416
416
|
else if (command === "config") await import("./config/bin.js");
|
|
417
|
-
else if (command === "mcp") await import("./mcp/bin.js");
|
|
418
417
|
else if (command === "--version" || command === "-V") await import("./version.js");
|
|
419
418
|
else if (command === "staged") await import("./staged/bin.js");
|
|
420
419
|
else try {
|
package/dist/create/bin.js
CHANGED
|
@@ -4,7 +4,7 @@ import { a as success, i as muted, r as log, t as accent } from "../terminal-P9a
|
|
|
4
4
|
import { A as promptGitHooks, B as cancel, C as rewriteMonorepoProject, F as displayRelative, H as intro, I as templatesDir, J as text, K as select, L as DependencyType, M as runViteInstall, N as selectPackageManager, O as defaultInteractive, R as PackageManager, S as rewriteMonorepo, U as log$1, V as confirm, W as multiselect, X as q, Y as require_picocolors, a as writeAgentInstructions, g as installGitHooks, j as runViteFmt, k as downloadPackageManager$1, m as hasFrameworkShim, n as detectExistingAgentTargetPaths, o as addFrameworkShim, q as spinner, r as selectAgentTargetPaths, u as detectFramework, w as rewriteStandaloneProject } from "../agent-iabUQh_f.js";
|
|
5
5
|
import { t as lib_default } from "../lib-BamM40b7.js";
|
|
6
6
|
import { c as readJsonFile, o as editJsonFile, t as checkNpmPackageExists } from "../package-D_LD1iiI.js";
|
|
7
|
-
import { a as
|
|
7
|
+
import { a as detectExistingEditors, c as writeEditorConfigs, n as updatePackageJsonWithDeps, r as updateWorkspaceConfig, s as selectEditors, t as detectWorkspace$1 } from "../workspace-oCv-zJ1i.js";
|
|
8
8
|
import { t as renderCliDoc } from "../help-BtkjXtRM.js";
|
|
9
9
|
import path from "node:path";
|
|
10
10
|
import { runCommand, vitePlusHeader } from "../../binding/index.js";
|
|
@@ -3960,7 +3960,7 @@ Use \`vp create --list\` to list all available templates, or run \`vp create --h
|
|
|
3960
3960
|
let selectedTemplateName = templateName;
|
|
3961
3961
|
let selectedTemplateArgs = [...templateArgs];
|
|
3962
3962
|
let selectedAgentTargetPaths;
|
|
3963
|
-
let
|
|
3963
|
+
let selectedEditors;
|
|
3964
3964
|
let selectedParentDir;
|
|
3965
3965
|
let remoteTargetDir;
|
|
3966
3966
|
let shouldSetupHooks = false;
|
|
@@ -4078,7 +4078,7 @@ Use \`vp create --list\` to list all available templates, or run \`vp create --h
|
|
|
4078
4078
|
agent: options.agent,
|
|
4079
4079
|
onCancel: () => cancelAndExit()
|
|
4080
4080
|
});
|
|
4081
|
-
|
|
4081
|
+
selectedEditors = (options.editor || !options.interactive ? void 0 : detectExistingEditors(workspaceInfoOptional.rootDir)) ?? await selectEditors({
|
|
4082
4082
|
interactive: options.interactive,
|
|
4083
4083
|
editor: options.editor,
|
|
4084
4084
|
onCancel: () => cancelAndExit()
|
|
@@ -4158,7 +4158,7 @@ Use \`vp create --list\` to list all available templates, or run \`vp create --h
|
|
|
4158
4158
|
pauseCreateProgress();
|
|
4159
4159
|
await writeEditorConfigs({
|
|
4160
4160
|
projectRoot: fullPath,
|
|
4161
|
-
editorId:
|
|
4161
|
+
editorId: selectedEditors,
|
|
4162
4162
|
interactive: options.interactive,
|
|
4163
4163
|
silent: compactOutput,
|
|
4164
4164
|
extraVsCodeSettings: { "npm.scriptRunner": "vp" }
|
|
@@ -4230,7 +4230,7 @@ Use \`vp create --list\` to list all available templates, or run \`vp create --h
|
|
|
4230
4230
|
pauseCreateProgress();
|
|
4231
4231
|
await writeEditorConfigs({
|
|
4232
4232
|
projectRoot: fullPath,
|
|
4233
|
-
editorId:
|
|
4233
|
+
editorId: selectedEditors,
|
|
4234
4234
|
interactive: options.interactive,
|
|
4235
4235
|
silent: compactOutput,
|
|
4236
4236
|
extraVsCodeSettings: { "npm.scriptRunner": "vp" }
|
package/dist/migration/bin.js
CHANGED
|
@@ -5,7 +5,7 @@ import { A as promptGitHooks, D as cancelAndExit, F as displayRelative, G as out
|
|
|
5
5
|
import { t as lib_default } from "../lib-BamM40b7.js";
|
|
6
6
|
import { a as readNearestPackageJson, i as hasVitePlusDependency } from "../package-D_LD1iiI.js";
|
|
7
7
|
import { r as createMigrationReport } from "../report-DbrfjWiP.js";
|
|
8
|
-
import {
|
|
8
|
+
import { c as writeEditorConfigs, i as detectEditorConflicts, o as selectEditor, t as detectWorkspace$1 } from "../workspace-oCv-zJ1i.js";
|
|
9
9
|
import { t as renderCliDoc } from "../help-BtkjXtRM.js";
|
|
10
10
|
import path from "node:path";
|
|
11
11
|
import { vitePlusHeader } from "../../binding/index.js";
|
package/dist/versions.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export const versions = {
|
|
2
|
-
"vite": "8.0.
|
|
2
|
+
"vite": "8.0.9",
|
|
3
3
|
"rolldown": "1.0.0-rc.16",
|
|
4
4
|
"tsdown": "0.21.9",
|
|
5
|
-
"vitest": "4.1.
|
|
6
|
-
"oxlint": "1.
|
|
7
|
-
"oxfmt": "0.
|
|
5
|
+
"vitest": "4.1.5",
|
|
6
|
+
"oxlint": "1.61.0",
|
|
7
|
+
"oxfmt": "0.46.0",
|
|
8
8
|
"oxlint-tsgolint": "0.21.1"
|
|
9
9
|
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { E as readYamlFile, K as select, R as PackageManager, T as editYamlFile, U as log, X as q } from "./agent-iabUQh_f.js";
|
|
1
|
+
import { E as readYamlFile, K as select, R as PackageManager, T as editYamlFile, U as log, W as multiselect, X as q } from "./agent-iabUQh_f.js";
|
|
2
2
|
import { t as require_dist } from "./dist-Dkzst9fl.js";
|
|
3
3
|
import { c as readJsonFile, l as writeJsonFile, o as editJsonFile, r as getScopeFromPackageName } from "./package-D_LD1iiI.js";
|
|
4
4
|
import path, { posix, win32 } from "node:path";
|
|
5
5
|
import { detectWorkspace } from "../binding/index.js";
|
|
6
6
|
import * as actualFS from "node:fs";
|
|
7
7
|
import fs from "node:fs";
|
|
8
|
-
import { lstatSync, readdir, readdirSync
|
|
8
|
+
import { lstatSync, readdir, readdirSync, readlinkSync, realpathSync as realpathSync$1 } from "fs";
|
|
9
9
|
import { styleText } from "node:util";
|
|
10
10
|
import { fileURLToPath } from "node:url";
|
|
11
11
|
import fsPromises, { lstat, readdir as readdir$1, readlink, realpath } from "node:fs/promises";
|
|
@@ -160,11 +160,40 @@ async function selectEditor({ interactive, editor, onCancel }) {
|
|
|
160
160
|
}
|
|
161
161
|
if (editor) return resolveEditorId(editor);
|
|
162
162
|
}
|
|
163
|
-
function
|
|
163
|
+
async function selectEditors({ interactive, editor, onCancel }) {
|
|
164
|
+
if (editor === false) return;
|
|
165
|
+
if (interactive && !editor) {
|
|
166
|
+
const selectedEditors = await multiselect({
|
|
167
|
+
message: "Which editors are you using?\n " + styleText("gray", "Writes editor config files to enable recommended extensions and Oxlint/Oxfmt integrations."),
|
|
168
|
+
options: EDITORS.map((option) => ({
|
|
169
|
+
label: option.label,
|
|
170
|
+
value: option.id,
|
|
171
|
+
hint: option.targetDir
|
|
172
|
+
})),
|
|
173
|
+
initialValues: ["vscode"],
|
|
174
|
+
required: false
|
|
175
|
+
});
|
|
176
|
+
if (q(selectedEditors)) {
|
|
177
|
+
onCancel();
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
return selectedEditors.length === 0 ? void 0 : resolveEditorIds(selectedEditors);
|
|
181
|
+
}
|
|
182
|
+
if (editor) {
|
|
183
|
+
const editorId = resolveEditorId(editor);
|
|
184
|
+
return editorId ? [editorId] : void 0;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
function detectExistingEditors(projectRoot) {
|
|
188
|
+
const editors = [];
|
|
164
189
|
for (const option of EDITORS) for (const fileName of Object.keys(option.files)) {
|
|
165
190
|
const filePath = path.join(projectRoot, option.targetDir, fileName);
|
|
166
|
-
if (fs.existsSync(filePath))
|
|
191
|
+
if (fs.existsSync(filePath)) {
|
|
192
|
+
editors.push(option.id);
|
|
193
|
+
break;
|
|
194
|
+
}
|
|
167
195
|
}
|
|
196
|
+
return editors.length === 0 ? void 0 : editors;
|
|
168
197
|
}
|
|
169
198
|
/**
|
|
170
199
|
* Detect editor config files that would conflict (already exist).
|
|
@@ -185,7 +214,18 @@ function detectEditorConflicts({ projectRoot, editorId }) {
|
|
|
185
214
|
return conflicts;
|
|
186
215
|
}
|
|
187
216
|
async function writeEditorConfigs({ projectRoot, editorId, interactive, conflictDecisions, silent = false, extraVsCodeSettings }) {
|
|
188
|
-
|
|
217
|
+
const editorIds = normalizeEditorSelection(editorId);
|
|
218
|
+
if (editorIds.length === 0) return;
|
|
219
|
+
for (const currentEditorId of editorIds) await writeEditorConfig({
|
|
220
|
+
projectRoot,
|
|
221
|
+
editorId: currentEditorId,
|
|
222
|
+
interactive,
|
|
223
|
+
conflictDecisions,
|
|
224
|
+
silent,
|
|
225
|
+
extraVsCodeSettings
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
async function writeEditorConfig({ projectRoot, editorId, interactive, conflictDecisions, silent, extraVsCodeSettings }) {
|
|
189
229
|
const editorConfig = EDITORS.find((e) => e.id === editorId);
|
|
190
230
|
if (!editorConfig) return;
|
|
191
231
|
const targetDir = path.join(projectRoot, editorConfig.targetDir);
|
|
@@ -199,7 +239,7 @@ async function writeEditorConfigs({ projectRoot, editorId, interactive, conflict
|
|
|
199
239
|
if (fs.existsSync(filePath)) {
|
|
200
240
|
const displayPath = `${editorConfig.targetDir}/${fileName}`;
|
|
201
241
|
let conflictAction;
|
|
202
|
-
const preResolved = conflictDecisions?.get(fileName);
|
|
242
|
+
const preResolved = conflictDecisions?.get(displayPath) ?? conflictDecisions?.get(fileName);
|
|
203
243
|
if (preResolved) conflictAction = preResolved;
|
|
204
244
|
else if (interactive) {
|
|
205
245
|
const action = await select({
|
|
@@ -225,6 +265,10 @@ async function writeEditorConfigs({ projectRoot, editorId, interactive, conflict
|
|
|
225
265
|
if (!silent) log.success(`Wrote editor config to ${editorConfig.targetDir}/${fileName}`);
|
|
226
266
|
}
|
|
227
267
|
}
|
|
268
|
+
function normalizeEditorSelection(editorId) {
|
|
269
|
+
if (!editorId) return [];
|
|
270
|
+
return [...new Set(Array.isArray(editorId) ? editorId : [editorId])];
|
|
271
|
+
}
|
|
228
272
|
function mergeAndWriteEditorConfig(filePath, incoming, fileName, displayPath, silent = false) {
|
|
229
273
|
writeJsonFile(filePath, mergeEditorConfigs(readJsonFile(filePath, true), incoming, fileName));
|
|
230
274
|
if (!silent) log.success(`Merged editor config into ${displayPath}`);
|
|
@@ -250,6 +294,14 @@ function resolveEditorId(editor) {
|
|
|
250
294
|
const normalized = editor.trim().toLowerCase();
|
|
251
295
|
return EDITORS.find((option) => option.id === normalized || option.label.toLowerCase() === normalized)?.id;
|
|
252
296
|
}
|
|
297
|
+
function resolveEditorIds(editors) {
|
|
298
|
+
const editorIds = editors.flatMap((editor) => {
|
|
299
|
+
const editorId = resolveEditorId(editor);
|
|
300
|
+
return editorId ? [editorId] : [];
|
|
301
|
+
});
|
|
302
|
+
const uniqueEditorIds = [...new Set(editorIds)];
|
|
303
|
+
return uniqueEditorIds.length === 0 ? void 0 : uniqueEditorIds;
|
|
304
|
+
}
|
|
253
305
|
//#endregion
|
|
254
306
|
//#region ../../node_modules/.pnpm/balanced-match@4.0.4/node_modules/balanced-match/dist/esm/index.js
|
|
255
307
|
const balanced = (a, b, str) => {
|
|
@@ -3161,7 +3213,7 @@ while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) && this[BUFFER].length);
|
|
|
3161
3213
|
const defaultFS = {
|
|
3162
3214
|
lstatSync,
|
|
3163
3215
|
readdir,
|
|
3164
|
-
readdirSync
|
|
3216
|
+
readdirSync,
|
|
3165
3217
|
readlinkSync,
|
|
3166
3218
|
realpathSync: realpathSync$1.native,
|
|
3167
3219
|
promises: {
|
|
@@ -5769,4 +5821,4 @@ function updateWorkspaceConfig(projectPath, workspaceInfo) {
|
|
|
5769
5821
|
});
|
|
5770
5822
|
}
|
|
5771
5823
|
//#endregion
|
|
5772
|
-
export {
|
|
5824
|
+
export { detectExistingEditors as a, writeEditorConfigs as c, detectEditorConflicts as i, updatePackageJsonWithDeps as n, selectEditor as o, updateWorkspaceConfig as r, selectEditors as s, detectWorkspace$1 as t };
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/** @type {import('@voidzero-dev/vitepress-theme').TeamMember[]} */
|
|
2
|
+
export const core = [
|
|
3
|
+
{
|
|
4
|
+
avatar: 'https://github.com/fengmk2.png',
|
|
5
|
+
name: 'MK',
|
|
6
|
+
links: [{ icon: 'github', link: 'https://github.com/fengmk2' },
|
|
7
|
+
{ icon: 'x', link: 'https://x.com/fengmk2' },
|
|
8
|
+
],
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
avatar: 'https://github.com/branchseer.png',
|
|
12
|
+
name: 'Wang Chi',
|
|
13
|
+
links: [
|
|
14
|
+
{ icon: 'github', link: 'https://github.com/branchseer' },
|
|
15
|
+
{ icon: 'x', link: 'https://x.com/branchseer' }
|
|
16
|
+
],
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
avatar: 'https://github.com/Brooooooklyn.png',
|
|
20
|
+
name: 'Long Yinan',
|
|
21
|
+
links: [
|
|
22
|
+
{ icon: 'github', link: 'https://github.com/Brooooooklyn' },
|
|
23
|
+
{ icon: 'x', link: 'https://x.com/Brooooook_lyn' },
|
|
24
|
+
],
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
avatar: 'https://github.com/cpojer.png',
|
|
28
|
+
name: 'Christoph Nakazawa',
|
|
29
|
+
links: [
|
|
30
|
+
{ icon: 'github', link: 'https://github.com/cpojer' },
|
|
31
|
+
{ icon: 'x', link: 'https://x.com/cpojer' },
|
|
32
|
+
{ icon: 'bluesky', link: 'https://bsky.app/profile/christoph.nkzw.tech' },
|
|
33
|
+
],
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
avatar: 'https://github.com/TheAlexLichter.png',
|
|
37
|
+
name: 'Alexander Lichter',
|
|
38
|
+
links: [
|
|
39
|
+
{ icon: 'github', link: 'https://github.com/TheAlexLichter' },
|
|
40
|
+
{ icon: 'x', link: 'https://x.com/TheAlexLichter' },
|
|
41
|
+
{ icon: 'bluesky', link: 'https://bsky.app/profile/thealexlichter.com' },
|
|
42
|
+
],
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
avatar: 'https://github.com/camc314.png',
|
|
46
|
+
name: 'Cameron Clark',
|
|
47
|
+
links: [
|
|
48
|
+
{ icon: 'github', link: 'https://github.com/camc314' },
|
|
49
|
+
{ icon: 'x', link: 'https://x.com/cameron_C2' },
|
|
50
|
+
],
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
avatar: 'https://github.com/leaysgur.png',
|
|
54
|
+
name: 'Yuji Sugiura',
|
|
55
|
+
links: [
|
|
56
|
+
{ icon: 'github', link: 'https://github.com/leaysgur' },
|
|
57
|
+
{ icon: 'x', link: 'https://x.com/leaysgur' },
|
|
58
|
+
],
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
avatar: 'https://github.com/mdong1909.png',
|
|
62
|
+
name: 'Michael Dong',
|
|
63
|
+
links: [
|
|
64
|
+
{ icon: 'github', link: 'https://github.com/mdong1909' },
|
|
65
|
+
{ icon: 'x', link: 'https://x.com/mdong1909' },
|
|
66
|
+
{ icon: 'linkedin', link: 'https://www.linkedin.com/in/michael-d-612b5b50/' },
|
|
67
|
+
],
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
avatar: 'https://github.com/kazupon.png',
|
|
71
|
+
name: 'kazupon',
|
|
72
|
+
links: [
|
|
73
|
+
{ icon: 'github', link: 'https://github.com/kazupon' },
|
|
74
|
+
{ icon: 'x', link: 'https://x.com/kazu_pon' },
|
|
75
|
+
{ icon: 'bluesky', link: 'https://bsky.app/profile/kazupon.dev' },
|
|
76
|
+
],
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
avatar: 'https://github.com/ubugeeei.png',
|
|
80
|
+
name: 'ubugeeei',
|
|
81
|
+
links: [
|
|
82
|
+
{ icon: 'github', link: 'https://github.com/ubugeeei' },
|
|
83
|
+
{ icon: 'x', link: 'https://x.com/ubugeeei' },
|
|
84
|
+
],
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
avatar: 'https://github.com/nekomoyi.png',
|
|
88
|
+
name: 'nekomoyi',
|
|
89
|
+
links: [
|
|
90
|
+
{ icon: 'github', link: 'https://github.com/nekomoyi' },
|
|
91
|
+
],
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
avatar: 'https://github.com/HaasStefan.png',
|
|
95
|
+
name: 'Stefan Haas',
|
|
96
|
+
links: [
|
|
97
|
+
{ icon: 'github', link: 'https://github.com/HaasStefan' },
|
|
98
|
+
{ icon: 'x', link: 'https://x.com/StefanvHaas' },
|
|
99
|
+
{ icon: 'linkedin', link: 'https://www.linkedin.com/in/stefan-haas-angular' },
|
|
100
|
+
],
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
avatar: 'https://github.com/naokihaba.png',
|
|
104
|
+
name: 'naokihaba',
|
|
105
|
+
links: [
|
|
106
|
+
{ icon: 'github', link: 'https://github.com/naokihaba' },
|
|
107
|
+
{ icon: 'x', link: 'https://x.com/naokihaba' },
|
|
108
|
+
{ icon: 'bluesky', link: 'https://bsky.app/profile/naokihaba.com' },
|
|
109
|
+
],
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
avatar: 'https://github.com/jong-kyung.png',
|
|
113
|
+
name: 'JongKyung Lee',
|
|
114
|
+
links: [
|
|
115
|
+
{ icon: 'github', link: 'https://github.com/jong-kyung' },
|
|
116
|
+
{ icon: 'linkedin', link: 'https://www.linkedin.com/in/jong-kyung' },
|
|
117
|
+
],
|
|
118
|
+
},
|
|
119
|
+
]
|
|
120
|
+
|
|
121
|
+
/** @type {import('@voidzero-dev/vitepress-theme').TeamMember[]} */
|
|
122
|
+
export const emeriti = []
|
package/docs/index.md
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "vite-plus-docs",
|
|
3
|
+
"private": true,
|
|
4
|
+
"type": "module",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"dev": "vitepress dev",
|
|
7
|
+
"build": "cp ../packages/cli/install.sh ../packages/cli/install.ps1 public/ && vitepress build",
|
|
8
|
+
"preview": "vitepress preview"
|
|
9
|
+
},
|
|
10
|
+
"dependencies": {
|
|
11
|
+
"@iconify/vue": "^5.0.0",
|
|
12
|
+
"mermaid": "^11.13.0",
|
|
13
|
+
"reka-ui": "^2.7.0",
|
|
14
|
+
"typewriter-effect": "^2.22.0",
|
|
15
|
+
"vitepress-plugin-mermaid": "^2.0.17",
|
|
16
|
+
"vue": "^3.5.27",
|
|
17
|
+
"vue3-carousel": "^0.16.0"
|
|
18
|
+
},
|
|
19
|
+
"devDependencies": {
|
|
20
|
+
"@voidzero-dev/vitepress-theme": "4.8.3",
|
|
21
|
+
"oxc-minify": "^0.120.0",
|
|
22
|
+
"tailwindcss": "^4.1.18",
|
|
23
|
+
"vitepress": "2.0.0-alpha.15"
|
|
24
|
+
},
|
|
25
|
+
"packageManager": "pnpm@10.33.0"
|
|
26
|
+
}
|