@stacksjs/buddy 0.44.11 โ 0.44.12
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/README.md +1 -0
- package/package.json +30 -29
- package/dist/index.d.ts +0 -54
- package/dist/index.mjs +0 -644
package/README.md
CHANGED
|
@@ -91,6 +91,7 @@ _Enhanced productivity for developers. No more creating boilerplate._
|
|
|
91
91
|
- โจ **Git Workflows** _committing with ease_
|
|
92
92
|
- ๐ **Auto Imports** _your components & functions, including date, string, array, & object helpers_
|
|
93
93
|
- โฉ **Code Snippets** _say goodbye to the boilerplate_
|
|
94
|
+
- ๐ค **Spell Checker** _be notified once when there are typos_
|
|
94
95
|
- ๐ ๏ธ **Utilities** _Collections, VueUse, and more_
|
|
95
96
|
- ๐งช **Testing** _unit & e2e tests powered by Vitest & Playwright_
|
|
96
97
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stacksjs/buddy",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.44.
|
|
4
|
+
"version": "0.44.12",
|
|
5
5
|
"packageManager": "pnpm@7.18.2",
|
|
6
6
|
"description": "Meet Buddy. The Stacks runtime.",
|
|
7
7
|
"author": "Chris Breuer",
|
|
@@ -54,32 +54,32 @@
|
|
|
54
54
|
"pnpm": ">=7.18.2"
|
|
55
55
|
},
|
|
56
56
|
"peerDependencies": {
|
|
57
|
-
"@stacksjs/actions": "0.44.
|
|
58
|
-
"@stacksjs/alias": "0.44.
|
|
59
|
-
"@stacksjs/arrays": "0.44.
|
|
60
|
-
"@stacksjs/build": "0.44.
|
|
61
|
-
"@stacksjs/cli": "0.44.
|
|
62
|
-
"@stacksjs/cloud": "0.44.
|
|
63
|
-
"@stacksjs/collections": "0.44.
|
|
64
|
-
"@stacksjs/config": "0.44.
|
|
65
|
-
"@stacksjs/docs": "0.44.
|
|
66
|
-
"@stacksjs/domains": "0.44.
|
|
67
|
-
"@stacksjs/error-handling": "0.44.
|
|
68
|
-
"@stacksjs/git": "0.44.
|
|
69
|
-
"@stacksjs/lint": "0.44.
|
|
70
|
-
"@stacksjs/logging": "0.44.
|
|
71
|
-
"@stacksjs/modules": "0.44.
|
|
72
|
-
"@stacksjs/objects": "0.44.
|
|
73
|
-
"@stacksjs/path": "0.44.
|
|
74
|
-
"@stacksjs/router": "0.44.
|
|
75
|
-
"@stacksjs/security": "0.44.
|
|
76
|
-
"@stacksjs/server": "0.44.
|
|
77
|
-
"@stacksjs/storage": "0.44.
|
|
78
|
-
"@stacksjs/strings": "0.44.
|
|
79
|
-
"@stacksjs/testing": "0.44.
|
|
80
|
-
"@stacksjs/types": "0.44.
|
|
81
|
-
"@stacksjs/ui": "0.44.
|
|
82
|
-
"@stacksjs/utils": "0.44.
|
|
57
|
+
"@stacksjs/actions": "0.44.12",
|
|
58
|
+
"@stacksjs/alias": "0.44.12",
|
|
59
|
+
"@stacksjs/arrays": "0.44.12",
|
|
60
|
+
"@stacksjs/build": "0.44.12",
|
|
61
|
+
"@stacksjs/cli": "0.44.12",
|
|
62
|
+
"@stacksjs/cloud": "0.44.12",
|
|
63
|
+
"@stacksjs/collections": "0.44.12",
|
|
64
|
+
"@stacksjs/config": "0.44.12",
|
|
65
|
+
"@stacksjs/docs": "0.44.12",
|
|
66
|
+
"@stacksjs/domains": "0.44.12",
|
|
67
|
+
"@stacksjs/error-handling": "0.44.12",
|
|
68
|
+
"@stacksjs/git": "0.44.12",
|
|
69
|
+
"@stacksjs/lint": "0.44.12",
|
|
70
|
+
"@stacksjs/logging": "0.44.12",
|
|
71
|
+
"@stacksjs/modules": "0.44.12",
|
|
72
|
+
"@stacksjs/objects": "0.44.12",
|
|
73
|
+
"@stacksjs/path": "0.44.12",
|
|
74
|
+
"@stacksjs/router": "0.44.12",
|
|
75
|
+
"@stacksjs/security": "0.44.12",
|
|
76
|
+
"@stacksjs/server": "0.44.12",
|
|
77
|
+
"@stacksjs/storage": "0.44.12",
|
|
78
|
+
"@stacksjs/strings": "0.44.12",
|
|
79
|
+
"@stacksjs/testing": "0.44.12",
|
|
80
|
+
"@stacksjs/types": "0.44.12",
|
|
81
|
+
"@stacksjs/ui": "0.44.12",
|
|
82
|
+
"@stacksjs/utils": "0.44.12"
|
|
83
83
|
},
|
|
84
84
|
"devDependencies": {
|
|
85
85
|
"only-allow": "^1.1.1",
|
|
@@ -124,10 +124,11 @@
|
|
|
124
124
|
"build:docs": "npx vitepress build ../apps/docs",
|
|
125
125
|
"build:pages": "npx vite-ssg build ./pages -c ./core/build/src/pages.ts",
|
|
126
126
|
"build:core": "pnpm --filter '../core/**' --filter='!../core/config' build && pnpm --filter '../core/config' build",
|
|
127
|
-
"build:
|
|
127
|
+
"build:buddy": "npx unbuild",
|
|
128
|
+
"build:cli": "pnpm run build:buddy",
|
|
128
129
|
"build:runtime": "pnpm run build:cli",
|
|
129
130
|
"build:desktop": "wip",
|
|
130
|
-
"build:stacks": "
|
|
131
|
+
"build:stacks": "pnpm buddy build:stacks",
|
|
131
132
|
"build:all": "wip",
|
|
132
133
|
"prod": "pnpm run build",
|
|
133
134
|
"prod:components": "pnpm run build:components",
|
package/dist/index.d.ts
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { CLI } from '@stacksjs/types';
|
|
2
|
-
export * from '@stacksjs/types';
|
|
3
|
-
export * from '@stacksjs/alias';
|
|
4
|
-
export * from '@stacksjs/arrays';
|
|
5
|
-
export * from '@stacksjs/build';
|
|
6
|
-
export * from '@stacksjs/cli';
|
|
7
|
-
export * from '@stacksjs/cloud';
|
|
8
|
-
export * from '@stacksjs/collections';
|
|
9
|
-
export * from '@stacksjs/config';
|
|
10
|
-
export * from '@stacksjs/storage';
|
|
11
|
-
export * from '@stacksjs/router';
|
|
12
|
-
export * from '@stacksjs/server';
|
|
13
|
-
export * from '@stacksjs/strings';
|
|
14
|
-
export * from '@stacksjs/objects';
|
|
15
|
-
export * from '@stacksjs/path';
|
|
16
|
-
export * from '@stacksjs/ui';
|
|
17
|
-
|
|
18
|
-
declare function build(stacks: CLI): Promise<void>;
|
|
19
|
-
|
|
20
|
-
declare function clean(stacks: CLI): Promise<void>;
|
|
21
|
-
|
|
22
|
-
declare function commit(stacks: CLI): Promise<void>;
|
|
23
|
-
|
|
24
|
-
declare function create(stacks: CLI): Promise<void>;
|
|
25
|
-
|
|
26
|
-
declare function dev(stacks: CLI): Promise<void>;
|
|
27
|
-
|
|
28
|
-
declare function example(stacks: CLI): Promise<void>;
|
|
29
|
-
|
|
30
|
-
declare function fresh(stacks: CLI): Promise<void>;
|
|
31
|
-
|
|
32
|
-
declare function generate(stacks: CLI): Promise<void>;
|
|
33
|
-
|
|
34
|
-
declare function lint(stacks: CLI): Promise<void>;
|
|
35
|
-
|
|
36
|
-
declare function key(stacks: CLI): Promise<void>;
|
|
37
|
-
|
|
38
|
-
declare function make(stacks: CLI): Promise<void>;
|
|
39
|
-
|
|
40
|
-
declare function prepublish(stacks: CLI): Promise<void>;
|
|
41
|
-
|
|
42
|
-
declare function preinstall(stacks: CLI): Promise<void>;
|
|
43
|
-
|
|
44
|
-
declare function release(stacks: CLI): Promise<void>;
|
|
45
|
-
|
|
46
|
-
declare function setup(stacks: CLI): Promise<void>;
|
|
47
|
-
|
|
48
|
-
declare function test(stacks: CLI): Promise<void>;
|
|
49
|
-
|
|
50
|
-
declare function types(stacks: CLI): Promise<void>;
|
|
51
|
-
|
|
52
|
-
declare function update(stacks: CLI): Promise<void>;
|
|
53
|
-
|
|
54
|
-
export { build, clean, commit, create, dev, example, fresh, generate, key, lint, make, preinstall, prepublish, release, setup, test, types, update };
|
package/dist/index.mjs
DELETED
|
@@ -1,644 +0,0 @@
|
|
|
1
|
-
import { ExitCode, Action } from '@stacksjs/types';
|
|
2
|
-
export * from '@stacksjs/types';
|
|
3
|
-
import { prompts, intro, log, green, bold, link, runCommand, cyan, italic, outro } from '@stacksjs/cli';
|
|
4
|
-
export * from '@stacksjs/cli';
|
|
5
|
-
import { invoke } from '@stacksjs/actions/build';
|
|
6
|
-
import { invoke as invoke$1 } from '@stacksjs/actions/clean';
|
|
7
|
-
import { invoke as invoke$2 } from '@stacksjs/actions/commit';
|
|
8
|
-
import { useOnline } from '@stacksjs/utils';
|
|
9
|
-
import { isFolder } from '@stacksjs/storage';
|
|
10
|
-
export * from '@stacksjs/storage';
|
|
11
|
-
import { resolve } from '@stacksjs/path';
|
|
12
|
-
export * from '@stacksjs/path';
|
|
13
|
-
import { generate as generate$1 } from '@stacksjs/actions/key';
|
|
14
|
-
import { components, functions, pages, docs, invoke as invoke$3, desktop } from '@stacksjs/actions/dev';
|
|
15
|
-
import { componentExample, webComponentExample, invoke as invoke$4 } from '@stacksjs/actions/examples';
|
|
16
|
-
import { invoke as invoke$5 } from '@stacksjs/actions/fresh';
|
|
17
|
-
import { invoke as invoke$6, types as types$2, libEntries, vueCompat, webTypes, vsCodeCustomData, ideHelpers, componentMeta } from '@stacksjs/actions/generate';
|
|
18
|
-
import { invoke as invoke$7, lintFix } from '@stacksjs/actions/lint';
|
|
19
|
-
import { invoke as invoke$8, component, database, migration, factory, page, fx, language, notification, stack } from '@stacksjs/actions/make';
|
|
20
|
-
import { runAction } from '@stacksjs/actions';
|
|
21
|
-
import { invoke as invoke$9 } from '@stacksjs/actions/preinstall';
|
|
22
|
-
import { invoke as invoke$a, testUi, typecheck, testCoverageReport } from '@stacksjs/actions/test';
|
|
23
|
-
import { invoke as invoke$b } from '@stacksjs/actions/update';
|
|
24
|
-
export * from '@stacksjs/alias';
|
|
25
|
-
export * from '@stacksjs/arrays';
|
|
26
|
-
export * from '@stacksjs/build';
|
|
27
|
-
export * from '@stacksjs/cloud';
|
|
28
|
-
export * from '@stacksjs/collections';
|
|
29
|
-
export * from '@stacksjs/config';
|
|
30
|
-
export * from '@stacksjs/router';
|
|
31
|
-
export * from '@stacksjs/server';
|
|
32
|
-
export * from '@stacksjs/strings';
|
|
33
|
-
export * from '@stacksjs/objects';
|
|
34
|
-
export * from '@stacksjs/ui';
|
|
35
|
-
|
|
36
|
-
const descriptions$g = {
|
|
37
|
-
components: "Build your component library",
|
|
38
|
-
vueComponents: "Build your Vue component library",
|
|
39
|
-
webComponents: "Build your framework agnostic web component library",
|
|
40
|
-
elements: "An alias to the -w flag",
|
|
41
|
-
functions: "Build your function library",
|
|
42
|
-
pages: "Build your SSG pages",
|
|
43
|
-
docs: "Build your documentation site",
|
|
44
|
-
stacks: "Build Stacks framework",
|
|
45
|
-
debug: "Enable debug mode"
|
|
46
|
-
};
|
|
47
|
-
async function build(stacks) {
|
|
48
|
-
stacks.command("build", "Automagically build any of your libraries/packages for production use. Select any of the following packages").option("-c, --components", descriptions$g.components).option("-v, --vue-components", descriptions$g.vueComponents).option("-w, --web-components", descriptions$g.webComponents).option("-e, --elements", descriptions$g.elements).option("-f, --functions", descriptions$g.functions).option("-p, --pages", descriptions$g.pages).option("-d, --docs", descriptions$g.docs).option("-s, --stacks", descriptions$g.stacks, { default: false }).option("--debug", descriptions$g.debug, { default: false }).action(async (options) => {
|
|
49
|
-
if (hasNoOptions$4(options)) {
|
|
50
|
-
const answers = await prompts.multiselect({
|
|
51
|
-
type: "multiselect",
|
|
52
|
-
name: "update",
|
|
53
|
-
message: "What are you trying to build?",
|
|
54
|
-
choices: [
|
|
55
|
-
{ title: "Components", value: "components" },
|
|
56
|
-
{ title: "Vue Components", value: "vue-components" },
|
|
57
|
-
{ title: "Web Components", value: "web-components" },
|
|
58
|
-
{ title: "Functions", value: "functions" },
|
|
59
|
-
{ title: "Pages", value: "pages" },
|
|
60
|
-
{ title: "Documentation", value: "docs" }
|
|
61
|
-
]
|
|
62
|
-
});
|
|
63
|
-
options = answers.reduce((a, v) => ({ ...a, [v]: true }), {});
|
|
64
|
-
}
|
|
65
|
-
await invoke(options);
|
|
66
|
-
process.exit(ExitCode.Success);
|
|
67
|
-
});
|
|
68
|
-
stacks.command("build:components", "Automagically build component libraries for production use & npm/CDN distribution").option("-c, --components", descriptions$g.components, { default: true }).option("--debug", descriptions$g.debug, { default: false }).action(async (options) => {
|
|
69
|
-
await invoke(options);
|
|
70
|
-
});
|
|
71
|
-
stacks.command("build:functions", "Automagically build function library for npm/CDN distribution").option("-f, --functions", descriptions$g.functions, { default: true }).option("--debug", descriptions$g.debug, { default: false }).action(async (options) => {
|
|
72
|
-
await invoke(options);
|
|
73
|
-
});
|
|
74
|
-
stacks.command("build:vue-components", "Automagically build Vue component library for npm/CDN distribution").option("-v, --vue-components", descriptions$g.vueComponents, { default: true }).option("--debug", descriptions$g.debug, { default: false }).alias("build:vue").action(async (options) => {
|
|
75
|
-
await invoke(options);
|
|
76
|
-
});
|
|
77
|
-
stacks.command("build:web-components", "Automagically build Web Component library for npm/CDN distribution").option("-w, --web-components", descriptions$g.webComponents, { default: true }).option("--debug", descriptions$g.debug, { default: false }).alias("build:elements").alias("build:wc").action(async (options) => {
|
|
78
|
-
await invoke(options);
|
|
79
|
-
});
|
|
80
|
-
stacks.command("build:docs", "Automagically build your documentation site.").option("-d, --docs", descriptions$g.docs, { default: true }).option("--debug", descriptions$g.debug, { default: false }).action(async (options) => {
|
|
81
|
-
await invoke(options);
|
|
82
|
-
});
|
|
83
|
-
stacks.command("build:stacks", "Build the core Stacks framework.").option("-s, --stacks", descriptions$g.stacks, { default: true }).option("--debug", descriptions$g.debug, { default: false }).action(async (options) => {
|
|
84
|
-
await invoke(options);
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
function hasNoOptions$4(options) {
|
|
88
|
-
return !options.components && !options.vueComponents && !options.webComponents && !options.elements && !options.functions && !options.pages && !options.docs && !options.stacks;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
const descriptions$f = {
|
|
92
|
-
clean: "Removes all node_modules & lock files",
|
|
93
|
-
debug: "Enable debug mode"
|
|
94
|
-
};
|
|
95
|
-
async function clean(stacks) {
|
|
96
|
-
stacks.command("clean", descriptions$f.clean).option("--debug", descriptions$f.debug, { default: false }).action(async (options) => {
|
|
97
|
-
await invoke$1(options);
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
const descriptions$e = {
|
|
102
|
-
commit: "Commit your stashed changes",
|
|
103
|
-
debug: "Enable debug mode"
|
|
104
|
-
};
|
|
105
|
-
async function commit(stacks) {
|
|
106
|
-
stacks.command("commit", descriptions$e.commit).option("--debug", descriptions$e.debug, { default: false }).action(async (options) => {
|
|
107
|
-
await invoke$2(options);
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
const descriptions$d = {
|
|
112
|
-
command: "Create a new Stacks project",
|
|
113
|
-
ui: "Are you building a UI?",
|
|
114
|
-
components: "Are you building UI components?",
|
|
115
|
-
webComponents: "Automagically built optimized custom elements/web components?",
|
|
116
|
-
vue: "Automagically built a Vue component library?",
|
|
117
|
-
pages: "How about pages?",
|
|
118
|
-
functions: "Are you developing functions/composables?",
|
|
119
|
-
api: "Are you building an API?",
|
|
120
|
-
database: "Do you need a database?",
|
|
121
|
-
debug: "Enable debug mode"
|
|
122
|
-
};
|
|
123
|
-
async function create(stacks) {
|
|
124
|
-
stacks.command("new <name>", descriptions$d.command).option("-u, --ui", descriptions$d.ui, { default: true }).option("-c, --components", descriptions$d.components, { default: true }).option("-w, --web-components", descriptions$d.webComponents, { default: true }).option("-v, --vue", descriptions$d.vue, { default: true }).option("-p, --pages", descriptions$d.pages, { default: true }).option("-f, --functions", descriptions$d.functions, { default: true }).option("-a, --api", descriptions$d.api, { default: true }).option("-d, --database", descriptions$d.database, { default: true }).option("--debug", descriptions$d.debug, { default: false }).action(async (options) => {
|
|
125
|
-
const startTime = intro("stacks new");
|
|
126
|
-
const name = options.name;
|
|
127
|
-
const path = resolve(process.cwd(), name);
|
|
128
|
-
await isFolderCheck(path);
|
|
129
|
-
await onlineCheck();
|
|
130
|
-
const result = await download(name, path, options);
|
|
131
|
-
if (result.isErr()) {
|
|
132
|
-
log.error(result.error);
|
|
133
|
-
process.exit(ExitCode.FatalError);
|
|
134
|
-
}
|
|
135
|
-
await ensureEnv(path, options);
|
|
136
|
-
await install(path, options);
|
|
137
|
-
console.log();
|
|
138
|
-
if (startTime) {
|
|
139
|
-
const time = performance.now() - startTime;
|
|
140
|
-
log.success(green(`Done in ${time}ms`));
|
|
141
|
-
}
|
|
142
|
-
log.info(bold("Welcome to the Stacks Framework! \u269B\uFE0F"));
|
|
143
|
-
console.log(`cd ${link(path, `vscode://file/${path}:1`)} && code .`);
|
|
144
|
-
console.log();
|
|
145
|
-
log.info("To learn more, visit https://stacksjs.dev");
|
|
146
|
-
process.exit(ExitCode.Success);
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
async function isFolderCheck(path) {
|
|
150
|
-
if (await isFolder(path)) {
|
|
151
|
-
log.error(`Path ${path} already exists`);
|
|
152
|
-
process.exit(ExitCode.FatalError);
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
async function onlineCheck() {
|
|
156
|
-
const online = useOnline();
|
|
157
|
-
if (!online) {
|
|
158
|
-
log.info("It appears you are disconnected from the internet.");
|
|
159
|
-
log.info("The Stacks setup requires a brief internet connection for setup.");
|
|
160
|
-
log.info("For instance, it installs your dependencies from.");
|
|
161
|
-
process.exit(ExitCode.FatalError);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
async function download(name, path, options) {
|
|
165
|
-
log.info("Setting up your stack.");
|
|
166
|
-
const result = await runCommand(`giget stacks ${name}`, options);
|
|
167
|
-
log.success(`Successfully scaffolded your project at ${cyan(path)}`);
|
|
168
|
-
return result;
|
|
169
|
-
}
|
|
170
|
-
async function ensureEnv(path, options) {
|
|
171
|
-
log.info("Ensuring your environment is ready...");
|
|
172
|
-
await runCommand("fnm use", { ...options, cwd: path });
|
|
173
|
-
log.success("Environment is ready");
|
|
174
|
-
}
|
|
175
|
-
async function install(path, options) {
|
|
176
|
-
log.info("Installing & setting up Stacks");
|
|
177
|
-
const res1 = await runCommand("pnpm install", { ...options, cwd: path });
|
|
178
|
-
if (res1.isErr()) {
|
|
179
|
-
log.error(res1.error);
|
|
180
|
-
process.exit(ExitCode.FatalError);
|
|
181
|
-
}
|
|
182
|
-
const res2 = await runCommand("cp .env.example .env", { ...options, cwd: path });
|
|
183
|
-
if (res2.isErr()) {
|
|
184
|
-
log.error(res2.error);
|
|
185
|
-
process.exit(ExitCode.FatalError);
|
|
186
|
-
}
|
|
187
|
-
await generate$1(options);
|
|
188
|
-
const res3 = await runCommand("git init", { ...options, cwd: path });
|
|
189
|
-
if (res3.isErr()) {
|
|
190
|
-
log.error(res3.error);
|
|
191
|
-
process.exit(ExitCode.FatalError);
|
|
192
|
-
}
|
|
193
|
-
log.success("Installed & set-up \u{1F680}");
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
const descriptions$c = {
|
|
197
|
-
components: "Start the Components development server",
|
|
198
|
-
desktop: "Start the Desktop development server",
|
|
199
|
-
functions: "Start the Functions development server",
|
|
200
|
-
docs: "Start the Documentation development server",
|
|
201
|
-
pages: "Start the Pages development server",
|
|
202
|
-
debug: "Enable debug mode"
|
|
203
|
-
};
|
|
204
|
-
async function dev(stacks) {
|
|
205
|
-
stacks.command("dev", "Start the development server for any of the following").option("-c, --components", descriptions$c.components).option("-f, --functions", descriptions$c.functions).option("-d, --docs", descriptions$c.docs).option("-p, --pages", descriptions$c.pages).option("--debug", descriptions$c.debug, { default: false }).action(async (options) => {
|
|
206
|
-
if (hasNoOptions$3(options)) {
|
|
207
|
-
const answer = await prompts.select({
|
|
208
|
-
type: "select",
|
|
209
|
-
name: "development",
|
|
210
|
-
message: "Which development server are you trying to start?",
|
|
211
|
-
choices: [
|
|
212
|
-
{ title: "Components", value: "components" },
|
|
213
|
-
{ title: "Functions", value: "functions" },
|
|
214
|
-
{ title: "Pages", value: "pages" },
|
|
215
|
-
{ title: "Docs", value: "docs" }
|
|
216
|
-
]
|
|
217
|
-
});
|
|
218
|
-
if (answer !== null)
|
|
219
|
-
process.exit(ExitCode.InvalidArgument);
|
|
220
|
-
if (answer === "components")
|
|
221
|
-
await components(options);
|
|
222
|
-
else if (answer === "functions")
|
|
223
|
-
await functions(options);
|
|
224
|
-
else if (answer === "pages")
|
|
225
|
-
await pages(options);
|
|
226
|
-
else if (answer === "docs")
|
|
227
|
-
await docs(options);
|
|
228
|
-
else
|
|
229
|
-
process.exit(ExitCode.InvalidArgument);
|
|
230
|
-
}
|
|
231
|
-
await invoke$3(options);
|
|
232
|
-
process.exit(ExitCode.Success);
|
|
233
|
-
});
|
|
234
|
-
stacks.command("dev:components", descriptions$c.components).option("--debug", descriptions$c.debug, { default: false }).action(async (options) => {
|
|
235
|
-
await invoke$3(options);
|
|
236
|
-
});
|
|
237
|
-
stacks.command("dev:docs", descriptions$c.docs).option("--debug", descriptions$c.debug, { default: false }).action(async (options) => {
|
|
238
|
-
await docs(options);
|
|
239
|
-
});
|
|
240
|
-
stacks.command("dev:desktop", descriptions$c.desktop).option("--debug", descriptions$c.debug, { default: false }).action(async (options) => {
|
|
241
|
-
await desktop(options);
|
|
242
|
-
});
|
|
243
|
-
stacks.command("dev:functions", descriptions$c.functions).option("--debug", descriptions$c.debug, { default: false }).action(async (options) => {
|
|
244
|
-
await functions(options);
|
|
245
|
-
});
|
|
246
|
-
stacks.command("dev:pages", descriptions$c.pages).option("--debug", descriptions$c.debug, { default: false }).action(async (options) => {
|
|
247
|
-
await pages(options);
|
|
248
|
-
});
|
|
249
|
-
}
|
|
250
|
-
function hasNoOptions$3(options) {
|
|
251
|
-
return !options.components && !options.all && !options.docs && !options.functions && !options.pages;
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
const descriptions$b = {
|
|
255
|
-
example: "Which example do you want to see?",
|
|
256
|
-
components: "Test your libraries against your built bundle",
|
|
257
|
-
vue: "Test your Vue component library",
|
|
258
|
-
webComponents: "Test your web component library",
|
|
259
|
-
debug: "Enable debug mode"
|
|
260
|
-
};
|
|
261
|
-
async function example(stacks) {
|
|
262
|
-
stacks.command("example", descriptions$b.example).option("-c, --components", descriptions$b.components).option("-v, --vue", descriptions$b.vue).option("-w, --web-components", descriptions$b.webComponents).option("--debug", descriptions$b.debug, { default: false }).action(async (options) => {
|
|
263
|
-
const answer = await prompts.select({
|
|
264
|
-
type: "select",
|
|
265
|
-
name: "example",
|
|
266
|
-
message: "Which example are you trying to view?",
|
|
267
|
-
choices: [
|
|
268
|
-
{ title: "Components", value: "components" },
|
|
269
|
-
{ title: "Web Components", value: "web-components" }
|
|
270
|
-
]
|
|
271
|
-
});
|
|
272
|
-
if (answer !== null) {
|
|
273
|
-
log.error(`You did not provide an answer. Please try again, ${italic("or report the issue")}`);
|
|
274
|
-
process.exit();
|
|
275
|
-
}
|
|
276
|
-
if (answer === "components")
|
|
277
|
-
await componentExample(options);
|
|
278
|
-
else if (answer === "web-components")
|
|
279
|
-
await webComponentExample(options);
|
|
280
|
-
else
|
|
281
|
-
process.exit(ExitCode.InvalidArgument);
|
|
282
|
-
await invoke$4(options);
|
|
283
|
-
process.exit(ExitCode.Success);
|
|
284
|
-
});
|
|
285
|
-
stacks.command("example:vue", descriptions$b.vue).option("-v, --vue", descriptions$b.debug, { default: true }).option("--debug", descriptions$b.debug, { default: false }).alias("example:components").action(async (options) => {
|
|
286
|
-
await invoke$4(options);
|
|
287
|
-
});
|
|
288
|
-
stacks.command("example:web-components", "Test your Web Component library.").option("-w, --web-components", descriptions$b.debug, { default: true }).option("--debug", descriptions$b.debug, { default: false }).action(async (options) => {
|
|
289
|
-
await invoke$4(options);
|
|
290
|
-
});
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
const descriptions$a = {
|
|
294
|
-
fresh: "Reinstalls your npm dependencies",
|
|
295
|
-
debug: "Enable debug mode"
|
|
296
|
-
};
|
|
297
|
-
async function fresh(stacks) {
|
|
298
|
-
stacks.command("fresh", descriptions$a.fresh).option("--debug", descriptions$a.debug, { default: false }).action(async (options) => {
|
|
299
|
-
await invoke$5(options);
|
|
300
|
-
});
|
|
301
|
-
}
|
|
302
|
-
|
|
303
|
-
const descriptions$9 = {
|
|
304
|
-
command: "Automagically build any of your libraries/packages for production use. Select any of the following packages",
|
|
305
|
-
types: "Generate your TypeScript types",
|
|
306
|
-
entries: "Generate your function & component library entry points",
|
|
307
|
-
webTypes: "Generate web-types.json for IDEs",
|
|
308
|
-
customData: "Generate VS Code custom data (custom-elements.json) for IDEs",
|
|
309
|
-
ideHelpers: "Generate IDE helpers",
|
|
310
|
-
vueCompat: "Generate Vue 2 & 3 compatibility",
|
|
311
|
-
componentMeta: "Generate component meta information",
|
|
312
|
-
debug: "Enable debug mode"
|
|
313
|
-
};
|
|
314
|
-
async function generate(stacks) {
|
|
315
|
-
stacks.command("generate", descriptions$9.command).option("-t, --types", descriptions$9.types).option("-e, --entries", descriptions$9.entries).option("-w, --web-types", descriptions$9.webTypes).option("-c, --custom-data", descriptions$9.customData).option("-i, --ide-helpers", descriptions$9.ideHelpers).option("-v, --vue-compatibility", descriptions$9.vueCompat).option("-c, --component-meta", descriptions$9.componentMeta).option("--debug", descriptions$9.debug, { default: false }).action(async (options) => {
|
|
316
|
-
if (hasNoOptions$2(options)) {
|
|
317
|
-
const answers = await prompts.multiselect({
|
|
318
|
-
type: "multiselect",
|
|
319
|
-
name: "generate",
|
|
320
|
-
message: "What are you trying to generate?",
|
|
321
|
-
choices: [
|
|
322
|
-
{ title: "1.) TypeScript Types", value: "types" },
|
|
323
|
-
{ title: "2.) Library Entry Points", value: "entries" },
|
|
324
|
-
{ title: "3.) Web Types", value: "web-types" },
|
|
325
|
-
{ title: "4.) VS Code Custom Data", value: "custom-data" },
|
|
326
|
-
{ title: "5.) IDE Helpers", value: "ide-helpers" },
|
|
327
|
-
{ title: "6.) Vue 2 & 3 Compatibility", value: "vue-compatibility" },
|
|
328
|
-
{ title: "7.) Component Meta", value: "component-meta" }
|
|
329
|
-
]
|
|
330
|
-
});
|
|
331
|
-
options = answers.reduce((a, v) => ({ ...a, [v]: true }), {});
|
|
332
|
-
}
|
|
333
|
-
await invoke$6(options);
|
|
334
|
-
process.exit(ExitCode.Success);
|
|
335
|
-
});
|
|
336
|
-
stacks.command("generate:types", descriptions$9.types).option("--debug", descriptions$9.debug, { default: false }).alias("types:generate").action(async (options) => {
|
|
337
|
-
await types$2(options);
|
|
338
|
-
});
|
|
339
|
-
stacks.command("generate:entries", descriptions$9.entries).option("--debug", descriptions$9.debug, { default: false }).action(async (options) => {
|
|
340
|
-
await libEntries(options);
|
|
341
|
-
});
|
|
342
|
-
stacks.command("generate:vue-compatibility", descriptions$9.vueCompat).option("--debug", descriptions$9.debug, { default: false }).action(async (options) => {
|
|
343
|
-
await vueCompat(options);
|
|
344
|
-
});
|
|
345
|
-
stacks.command("generate:web-types", descriptions$9.webTypes).option("--debug", descriptions$9.debug, { default: false }).action(async (options) => {
|
|
346
|
-
await webTypes(options);
|
|
347
|
-
});
|
|
348
|
-
stacks.command("generate:vscode-custom-data", descriptions$9.customData).option("--debug", descriptions$9.debug, { default: false }).action(async (options) => {
|
|
349
|
-
await vsCodeCustomData(options);
|
|
350
|
-
});
|
|
351
|
-
stacks.command("generate:ide-helpers", descriptions$9.ideHelpers).option("--debug", descriptions$9.debug, { default: false }).action(async (options) => {
|
|
352
|
-
await ideHelpers(options);
|
|
353
|
-
});
|
|
354
|
-
stacks.command("generate:component-meta", descriptions$9.componentMeta).option("--debug", descriptions$9.debug, { default: false }).action(async (options) => {
|
|
355
|
-
await componentMeta(options);
|
|
356
|
-
});
|
|
357
|
-
}
|
|
358
|
-
function hasNoOptions$2(options) {
|
|
359
|
-
return !options.types && !options.entries && !options.webTypes && !options.customData && !options.ideHelpers && !options.vueCompatibility && !options.componentMeta;
|
|
360
|
-
}
|
|
361
|
-
|
|
362
|
-
const descriptions$8 = {
|
|
363
|
-
lint: "Automagically lints your codebase",
|
|
364
|
-
lintFix: "Automagically fixes lint errors",
|
|
365
|
-
debug: "Enable debug mode"
|
|
366
|
-
};
|
|
367
|
-
async function lint(stacks) {
|
|
368
|
-
stacks.command("lint", descriptions$8.lint).option("-f, --fix", descriptions$8.lintFix, { default: false }).option("--debug", descriptions$8.debug, { default: false }).action(async (options) => {
|
|
369
|
-
await invoke$7(options);
|
|
370
|
-
});
|
|
371
|
-
stacks.command("lint:fix", descriptions$8.lintFix).option("--debug", descriptions$8.debug, { default: false }).action(async (options) => {
|
|
372
|
-
await lintFix(options);
|
|
373
|
-
});
|
|
374
|
-
}
|
|
375
|
-
|
|
376
|
-
async function key(stacks) {
|
|
377
|
-
const descriptions = {
|
|
378
|
-
command: "Generate & set the application key.",
|
|
379
|
-
debug: "Enable debug mode"
|
|
380
|
-
};
|
|
381
|
-
stacks.command("key:generate", descriptions.command).option("--debug", descriptions.debug, { default: false }).action(async (options) => {
|
|
382
|
-
await generate$1(options);
|
|
383
|
-
});
|
|
384
|
-
}
|
|
385
|
-
|
|
386
|
-
const descriptions$7 = {
|
|
387
|
-
component: "Create a new component",
|
|
388
|
-
page: "Create a new page",
|
|
389
|
-
function: "Create a new function",
|
|
390
|
-
language: "Create a new language",
|
|
391
|
-
database: "Create a new database",
|
|
392
|
-
migration: "Create a new migration",
|
|
393
|
-
factory: "Create a new factory",
|
|
394
|
-
notification: "Create a new notification",
|
|
395
|
-
stack: "Create a new new stack",
|
|
396
|
-
debug: "Enable debug mode"
|
|
397
|
-
};
|
|
398
|
-
async function make(stacks) {
|
|
399
|
-
stacks.command("make", "The make command").option("-c, --component", descriptions$7.component, { default: false }).option("-p, --page", descriptions$7.page, { default: false }).option("-f, --function", descriptions$7.function, { default: false }).option("-l, --language", descriptions$7.language, { default: false }).option("-d, --database", descriptions$7.database, { default: false }).option("-m, --migration", descriptions$7.migration, { default: false }).option("-f, --factory", descriptions$7.factory, { default: false }).option("-n, --notification", descriptions$7.notification, { default: false }).option("-s, --stack", descriptions$7.stack, { default: false }).option("--debug", descriptions$7.debug, { default: false }).action(async (options) => {
|
|
400
|
-
const name = stacks.args[0];
|
|
401
|
-
if (!name) {
|
|
402
|
-
log.error("You need to specify a name. Read more about the documentation here.");
|
|
403
|
-
process.exit();
|
|
404
|
-
}
|
|
405
|
-
if (hasNoOptions$1(options)) {
|
|
406
|
-
const answers = await prompts.multiselect({
|
|
407
|
-
type: "multiselect",
|
|
408
|
-
name: "make",
|
|
409
|
-
message: "What are you trying to make?",
|
|
410
|
-
choices: [
|
|
411
|
-
{ title: "Component", value: "component" },
|
|
412
|
-
{ title: "Function", value: "function" },
|
|
413
|
-
{ title: "Page", value: "page" },
|
|
414
|
-
{ title: "Language", value: "language" },
|
|
415
|
-
{ title: "Notification", value: "notification" },
|
|
416
|
-
{ title: "Database", value: "database" },
|
|
417
|
-
{ title: "Migration", value: "migration" },
|
|
418
|
-
{ title: "Factory", value: "factory" },
|
|
419
|
-
{ title: "Stack", value: "stack" }
|
|
420
|
-
]
|
|
421
|
-
});
|
|
422
|
-
options = answers.reduce((a, v) => ({ ...a, [v]: true }), {});
|
|
423
|
-
}
|
|
424
|
-
await invoke$8(options);
|
|
425
|
-
process.exit(ExitCode.Success);
|
|
426
|
-
});
|
|
427
|
-
stacks.command("make:component", descriptions$7.component).option("--n, -name", "The name of the component").option("--debug", descriptions$7.debug, { default: false }).action(async (options) => {
|
|
428
|
-
const name = stacks.args[0] || options.name;
|
|
429
|
-
options.name = name;
|
|
430
|
-
if (!name) {
|
|
431
|
-
log.error("You need to specify a name. Read more about the documentation here.");
|
|
432
|
-
process.exit();
|
|
433
|
-
}
|
|
434
|
-
await component(options);
|
|
435
|
-
});
|
|
436
|
-
stacks.command("make:database", descriptions$7.database).option("--n, -name", "The name of the database").option("--debug", descriptions$7.debug, { default: false }).action(async (options) => {
|
|
437
|
-
const name = stacks.args[0] || options.name;
|
|
438
|
-
options.name = name;
|
|
439
|
-
if (!name) {
|
|
440
|
-
log.error("You need to specify a name. Read more about the documentation here.");
|
|
441
|
-
process.exit();
|
|
442
|
-
}
|
|
443
|
-
await database(options);
|
|
444
|
-
});
|
|
445
|
-
stacks.command("make:migration", descriptions$7.migration).option("--n, -name", "The name of the migration").option("--debug", descriptions$7.debug, { default: false }).action(async (options) => {
|
|
446
|
-
const name = stacks.args[0] || options.name;
|
|
447
|
-
options.name = name;
|
|
448
|
-
if (!name) {
|
|
449
|
-
log.error("You need to specify a name. Read more about the documentation here.");
|
|
450
|
-
process.exit();
|
|
451
|
-
}
|
|
452
|
-
await migration(options);
|
|
453
|
-
});
|
|
454
|
-
stacks.command("make:factory", descriptions$7.factory).option("--n, -name", "The name of the factory").option("--debug", descriptions$7.debug, { default: false }).action(async (options) => {
|
|
455
|
-
const name = stacks.args[0] || options.name;
|
|
456
|
-
options.name = name;
|
|
457
|
-
if (!name) {
|
|
458
|
-
log.error("You need to specify a name. Read more about the documentation here.");
|
|
459
|
-
process.exit();
|
|
460
|
-
}
|
|
461
|
-
await factory(options);
|
|
462
|
-
});
|
|
463
|
-
stacks.command("make:page", descriptions$7.page).option("--n, -name", "The name of the page").option("--debug", descriptions$7.debug, { default: false }).action(async (options) => {
|
|
464
|
-
const name = stacks.args[0] || options.name;
|
|
465
|
-
options.name = name;
|
|
466
|
-
if (!name) {
|
|
467
|
-
log.error("You need to specify a name. Read more about the documentation here.");
|
|
468
|
-
process.exit();
|
|
469
|
-
}
|
|
470
|
-
await page(options);
|
|
471
|
-
});
|
|
472
|
-
stacks.command("make:function", descriptions$7.function).option("--n, -name", "The name of the function").option("--debug", descriptions$7.debug, { default: false }).action(async (options) => {
|
|
473
|
-
await fx(options);
|
|
474
|
-
});
|
|
475
|
-
stacks.command("make:lang", descriptions$7.language).option("--n, -name", "The name of the language").option("--debug", descriptions$7.debug, { default: false }).action(async (options) => {
|
|
476
|
-
const name = stacks.args[0] || options.name;
|
|
477
|
-
options.name = name;
|
|
478
|
-
if (!name) {
|
|
479
|
-
log.error("You need to specify a name. Read more about the documentation here.");
|
|
480
|
-
process.exit();
|
|
481
|
-
}
|
|
482
|
-
await language(options);
|
|
483
|
-
});
|
|
484
|
-
stacks.command("make:notification", descriptions$7.notification).option("--n, -name", "The name of the notification").option("--debug", descriptions$7.debug, { default: false }).action(async (options) => {
|
|
485
|
-
const name = stacks.args[0] || options.name;
|
|
486
|
-
options.name = name;
|
|
487
|
-
if (!name) {
|
|
488
|
-
log.error("You need to specify a name. Read more about the documentation here.");
|
|
489
|
-
process.exit();
|
|
490
|
-
}
|
|
491
|
-
await notification(options);
|
|
492
|
-
});
|
|
493
|
-
stacks.command("make:stack", descriptions$7.stack).option("--n, -name", "The name of the stack").option("--debug", descriptions$7.debug, { default: false }).action(async (options) => {
|
|
494
|
-
const name = stacks.args[0] || options.name;
|
|
495
|
-
options.name = name;
|
|
496
|
-
if (!name) {
|
|
497
|
-
log.error("You need to specify a name. Read more about the documentation here.");
|
|
498
|
-
process.exit();
|
|
499
|
-
}
|
|
500
|
-
await stack(options);
|
|
501
|
-
});
|
|
502
|
-
}
|
|
503
|
-
function hasNoOptions$1(options) {
|
|
504
|
-
return !options.component && !options.page && !options.function && !options.language && !options.database && !options.migration && !options.factory && !options.notification && !options.stack;
|
|
505
|
-
}
|
|
506
|
-
|
|
507
|
-
const descriptions$6 = {
|
|
508
|
-
command: "Run your prepublish script",
|
|
509
|
-
debug: "Enable debug mode"
|
|
510
|
-
};
|
|
511
|
-
async function prepublish(stacks) {
|
|
512
|
-
stacks.command("prepublish", descriptions$6.command).option("--debug", descriptions$6.debug, { default: false }).action(async (options) => {
|
|
513
|
-
await runAction(Action.Prepublish, options);
|
|
514
|
-
});
|
|
515
|
-
}
|
|
516
|
-
|
|
517
|
-
const descriptions$5 = {
|
|
518
|
-
command: "Run your preinstall script",
|
|
519
|
-
debug: "Enable debug mode"
|
|
520
|
-
};
|
|
521
|
-
async function preinstall(stacks) {
|
|
522
|
-
stacks.command("preinstall", descriptions$5.command).option("--debug", descriptions$5.debug, { default: false }).action(async (options) => {
|
|
523
|
-
await invoke$9(options);
|
|
524
|
-
});
|
|
525
|
-
}
|
|
526
|
-
|
|
527
|
-
const descriptions$4 = {
|
|
528
|
-
release: "Release a new version of your libraries/packages",
|
|
529
|
-
debug: "Enable debug mode"
|
|
530
|
-
};
|
|
531
|
-
async function release(stacks) {
|
|
532
|
-
stacks.command("release", descriptions$4.release).option("--debug", descriptions$4.debug, { default: true }).action(async (options) => {
|
|
533
|
-
const perf = intro("buddy release");
|
|
534
|
-
const result = await runAction(Action.Release, options);
|
|
535
|
-
if (result.isErr()) {
|
|
536
|
-
log.error("Failed to trigger the CI/CD release workflow.", result.error);
|
|
537
|
-
process.exit();
|
|
538
|
-
}
|
|
539
|
-
outro("Triggered CI/CD release workflow", { startTime: perf, useSeconds: true });
|
|
540
|
-
});
|
|
541
|
-
}
|
|
542
|
-
|
|
543
|
-
const descriptions$3 = {
|
|
544
|
-
ensure: "This command checks whether Node is installed. pnpm is checked via `only-allow` preinstall hook",
|
|
545
|
-
setup: "This command installs Node & pnpm",
|
|
546
|
-
debug: "Enable debug mode"
|
|
547
|
-
};
|
|
548
|
-
async function setup(stacks) {
|
|
549
|
-
stacks.command("ensure", descriptions$3.ensure).option("--debug", descriptions$3.debug, { default: false }).action(async (options) => {
|
|
550
|
-
await runCommand("pnpm install", options);
|
|
551
|
-
});
|
|
552
|
-
stacks.command("setup", descriptions$3.setup).option("--debug", descriptions$3.debug, { default: false }).action(async (options) => {
|
|
553
|
-
await runCommand("pnpm env use", options);
|
|
554
|
-
});
|
|
555
|
-
}
|
|
556
|
-
|
|
557
|
-
const descriptions$2 = {
|
|
558
|
-
command: "Runs your test suite",
|
|
559
|
-
types: "Typechecks your codebase",
|
|
560
|
-
coverage: "Generates a test coverage report",
|
|
561
|
-
debug: "Enable debug mode"
|
|
562
|
-
};
|
|
563
|
-
async function test(stacks) {
|
|
564
|
-
stacks.command("test", descriptions$2.command).option("--debug", descriptions$2.debug, { default: false }).action(async (options) => {
|
|
565
|
-
await invoke$a(options);
|
|
566
|
-
});
|
|
567
|
-
stacks.command("test:ui", descriptions$2.command).option("--debug", descriptions$2.debug, { default: false }).action(async (options) => {
|
|
568
|
-
await testUi(options);
|
|
569
|
-
});
|
|
570
|
-
stacks.command("test:types", descriptions$2.types).option("--debug", descriptions$2.debug, { default: false }).action(async (options) => {
|
|
571
|
-
await typecheck(options);
|
|
572
|
-
});
|
|
573
|
-
stacks.command("test:coverage", descriptions$2.coverage).option("--debug", descriptions$2.debug, { default: false }).action(async (options) => {
|
|
574
|
-
await testCoverageReport(options);
|
|
575
|
-
});
|
|
576
|
-
}
|
|
577
|
-
|
|
578
|
-
const descriptions$1 = {
|
|
579
|
-
generate: "Generate the types of & for your library/libraries",
|
|
580
|
-
fix: "wip",
|
|
581
|
-
debug: "Enable debug mode"
|
|
582
|
-
};
|
|
583
|
-
async function types(stacks) {
|
|
584
|
-
stacks.command("types:generate", descriptions$1.generate).option("--debug", descriptions$1.debug, { default: false }).action(async () => {
|
|
585
|
-
await types$2();
|
|
586
|
-
});
|
|
587
|
-
stacks.command("types:fix", descriptions$1.fix).option("--debug", descriptions$1.debug, { default: false }).action(async () => {
|
|
588
|
-
});
|
|
589
|
-
}
|
|
590
|
-
|
|
591
|
-
const descriptions = {
|
|
592
|
-
command: "Update dependencies, framework, package manager, and/or Node",
|
|
593
|
-
framework: "Update the Stacks framework",
|
|
594
|
-
dependencies: "Update your dependencies",
|
|
595
|
-
packageManager: "Update your package manager, i.e. pnpm",
|
|
596
|
-
node: "Update Node to the version defined in ./node-version",
|
|
597
|
-
all: "Update Node, package manager, project dependencies, and framework",
|
|
598
|
-
force: "Overwrite possible local updates with remote framework updates",
|
|
599
|
-
debug: "Enable debug mode",
|
|
600
|
-
select: "What are you trying to update?"
|
|
601
|
-
};
|
|
602
|
-
async function update(stacks) {
|
|
603
|
-
stacks.command("update", descriptions.command).option("-c, --framework", descriptions.framework, { default: false }).option("-d, --dependencies", descriptions.dependencies, { default: false }).option("-p, --package-manager", descriptions.packageManager, { default: false }).option("-n, --node", descriptions.node, { default: false }).option("-a, --all", descriptions.all, { default: false }).option("-f, --force", descriptions.force, { default: false }).option("--debug", descriptions.debug, { default: false }).example("buddy update -a --debug").action(async (options) => {
|
|
604
|
-
if (hasNoOptions(options)) {
|
|
605
|
-
const answers = await prompts.multiselect({
|
|
606
|
-
type: "multiselect",
|
|
607
|
-
name: "update",
|
|
608
|
-
message: descriptions.select,
|
|
609
|
-
choices: [
|
|
610
|
-
{ title: "Dependencies", value: "dependencies" },
|
|
611
|
-
{ title: "Framework", value: "framework" },
|
|
612
|
-
{ title: "Node", value: "node" },
|
|
613
|
-
{ title: "pnpm", value: "package-manager" }
|
|
614
|
-
]
|
|
615
|
-
});
|
|
616
|
-
options = answers.reduce((a, v) => ({ ...a, [v]: true }), {});
|
|
617
|
-
}
|
|
618
|
-
await invoke$b(options);
|
|
619
|
-
});
|
|
620
|
-
stacks.command("update:framework", descriptions.framework).option("-f, --framework", descriptions.framework, { default: true }).option("--debug", descriptions.debug, { default: false }).example("buddy update:framework --debug").action(async (options) => {
|
|
621
|
-
await invoke$b(options);
|
|
622
|
-
});
|
|
623
|
-
stacks.command("update:dependencies", descriptions.dependencies).option("-d, --dependencies", descriptions.dependencies, { default: true }).option("--debug", descriptions.debug, { default: false }).alias("update:deps").example("buddy update:dependencies --debug").action(async (options) => {
|
|
624
|
-
await invoke$b(options);
|
|
625
|
-
});
|
|
626
|
-
stacks.command("update:package-manager", descriptions.packageManager).option("-p, --package-manager", descriptions.packageManager, { default: true }).option("--debug", descriptions.debug, { default: false }).alias("update:pm").example("buddy update:package-manager 7.16.1 --debug").example("buddy update:package-manager latest").action(async (options) => {
|
|
627
|
-
options.version = "latest";
|
|
628
|
-
if (stacks.args[0])
|
|
629
|
-
options.version = stacks.args[0];
|
|
630
|
-
await invoke$b(options);
|
|
631
|
-
process.exit(ExitCode.Success);
|
|
632
|
-
});
|
|
633
|
-
stacks.command("update:node", descriptions.node).option("-n, --node", descriptions.node, { default: true }).option("--debug", descriptions.debug, { default: false }).action(async (options) => {
|
|
634
|
-
await invoke$b(options);
|
|
635
|
-
});
|
|
636
|
-
stacks.command("update:all", descriptions.all).option("-a, --all", descriptions.all, { default: true }).option("--debug", descriptions.debug, { default: false }).action(async (options) => {
|
|
637
|
-
await invoke$b(options);
|
|
638
|
-
});
|
|
639
|
-
}
|
|
640
|
-
function hasNoOptions(options) {
|
|
641
|
-
return !options.framework && !options.dependencies && !options.packageManager && !options.node && !options.all;
|
|
642
|
-
}
|
|
643
|
-
|
|
644
|
-
export { build, clean, commit, create, dev, example, fresh, generate, key, lint, make, preinstall, prepublish, release, setup, test, types, update };
|