create-rock 0.0.1 → 0.9.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/README.md +67 -0
- package/dist/e2e/e2e.test.d.ts +1 -0
- package/dist/e2e/e2e.test.d.ts.map +1 -0
- package/dist/e2e/e2e.test.js +98 -0
- package/dist/e2e/e2e.test.js.map +1 -0
- package/dist/src/bin.d.ts +2 -0
- package/dist/src/bin.d.ts.map +1 -0
- package/dist/src/bin.js +10 -0
- package/dist/src/bin.js.map +1 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/lib/bin.d.ts +4 -0
- package/dist/src/lib/bin.d.ts.map +1 -0
- package/dist/src/lib/bin.js +210 -0
- package/dist/src/lib/bin.js.map +1 -0
- package/dist/src/lib/steps/git-init.d.ts +3 -0
- package/dist/src/lib/steps/git-init.d.ts.map +1 -0
- package/dist/src/lib/steps/git-init.js +51 -0
- package/dist/src/lib/steps/git-init.js.map +1 -0
- package/dist/src/lib/templates.d.ts +23 -0
- package/dist/src/lib/templates.d.ts.map +1 -0
- package/dist/src/lib/templates.js +122 -0
- package/dist/src/lib/templates.js.map +1 -0
- package/dist/src/lib/utils/edit-template.d.ts +10 -0
- package/dist/src/lib/utils/edit-template.d.ts.map +1 -0
- package/dist/src/lib/utils/edit-template.js +48 -0
- package/dist/src/lib/utils/edit-template.js.map +1 -0
- package/dist/src/lib/utils/fs.d.ts +10 -0
- package/dist/src/lib/utils/fs.d.ts.map +1 -0
- package/dist/src/lib/utils/fs.js +49 -0
- package/dist/src/lib/utils/fs.js.map +1 -0
- package/dist/src/lib/utils/getPkgManager.d.ts +1 -0
- package/dist/src/lib/utils/getPkgManager.js +21 -0
- package/dist/src/lib/utils/getPkgManager.js.map +1 -0
- package/dist/src/lib/utils/initInExistingProject.d.ts +1 -0
- package/dist/src/lib/utils/initInExistingProject.js +243 -0
- package/dist/src/lib/utils/initInExistingProject.js.map +1 -0
- package/dist/src/lib/utils/isRnefProject.d.ts +1 -0
- package/dist/src/lib/utils/isRnefProject.js +2 -0
- package/dist/src/lib/utils/isRnefProject.js.map +1 -0
- package/dist/src/lib/utils/migrateRnefProject.d.ts +2 -0
- package/dist/src/lib/utils/migrateRnefProject.js +206 -0
- package/dist/src/lib/utils/migrateRnefProject.js.map +1 -0
- package/dist/src/lib/utils/package-json.d.ts +2 -0
- package/dist/src/lib/utils/package-json.d.ts.map +1 -0
- package/dist/src/lib/utils/package-json.js +65 -0
- package/dist/src/lib/utils/package-json.js.map +1 -0
- package/dist/src/lib/utils/parse-cli-options.d.ts +14 -0
- package/dist/src/lib/utils/parse-cli-options.d.ts.map +1 -0
- package/dist/src/lib/utils/parse-cli-options.js +35 -0
- package/dist/src/lib/utils/parse-cli-options.js.map +1 -0
- package/dist/src/lib/utils/parsers.d.ts +10 -0
- package/dist/src/lib/utils/parsers.d.ts.map +1 -0
- package/dist/src/lib/utils/parsers.js +22 -0
- package/dist/src/lib/utils/parsers.js.map +1 -0
- package/dist/src/lib/utils/project-name.d.ts +8 -0
- package/dist/src/lib/utils/project-name.d.ts.map +1 -0
- package/dist/src/lib/utils/project-name.js +88 -0
- package/dist/src/lib/utils/project-name.js.map +1 -0
- package/dist/src/lib/utils/prompts.d.ts +14 -0
- package/dist/src/lib/utils/prompts.d.ts.map +1 -0
- package/dist/src/lib/utils/prompts.js +141 -0
- package/dist/src/lib/utils/prompts.js.map +1 -0
- package/dist/src/lib/utils/tarball.d.ts +8 -0
- package/dist/src/lib/utils/tarball.d.ts.map +1 -0
- package/dist/src/lib/utils/tarball.js +47 -0
- package/dist/src/lib/utils/tarball.js.map +1 -0
- package/dist/src/lib/utils/version.d.ts +1 -0
- package/dist/src/lib/utils/version.d.ts.map +1 -0
- package/dist/src/lib/utils/version.js +18 -0
- package/dist/src/lib/utils/version.js.map +1 -0
- package/package.json +34 -6
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { color, intro, isInteractive, note, outro, promptConfirm, promptMultiselect, promptSelect, promptText, relativeToCwd, RockError, } from '@rock-js/tools';
|
|
2
|
+
import { vice } from 'gradient-string';
|
|
3
|
+
import { validateProjectName } from './project-name.js';
|
|
4
|
+
import { getRockVersion } from './version.js';
|
|
5
|
+
export function printHelpMessage(templates, platforms) {
|
|
6
|
+
console.log(`
|
|
7
|
+
Usage: create-rock [options]
|
|
8
|
+
|
|
9
|
+
Options:
|
|
10
|
+
|
|
11
|
+
-h, --help Display help for command
|
|
12
|
+
-v, --version Output the version number
|
|
13
|
+
-d, --dir Create project in specified directory
|
|
14
|
+
-t, --template Specify template to use
|
|
15
|
+
-p, --platform Specify platform(s) to use
|
|
16
|
+
--plugin Specify plugin(s) to use
|
|
17
|
+
--bundler Specify bundler to use
|
|
18
|
+
--remote-cache-provider Specify remote cache provider
|
|
19
|
+
--override Override files in target directory
|
|
20
|
+
--install Install Node.js dependencies
|
|
21
|
+
|
|
22
|
+
Available templates:
|
|
23
|
+
${templates.map((t) => t.name).join(', ')}
|
|
24
|
+
|
|
25
|
+
Available platforms:
|
|
26
|
+
${platforms.map((p) => p.name).join(', ')}
|
|
27
|
+
`);
|
|
28
|
+
}
|
|
29
|
+
export function printVersionMessage() {
|
|
30
|
+
console.log(`${getRockVersion()}`);
|
|
31
|
+
}
|
|
32
|
+
export function printWelcomeMessage() {
|
|
33
|
+
console.log('');
|
|
34
|
+
intro(`Welcome to ${color.bold(vice('Rock'))}!`);
|
|
35
|
+
}
|
|
36
|
+
export function printByeMessage(targetDir, pkgManager, installDeps) {
|
|
37
|
+
const relativeDir = relativeToCwd(targetDir);
|
|
38
|
+
const nextSteps = [
|
|
39
|
+
`cd ${relativeDir}`,
|
|
40
|
+
installDeps ? undefined : `${pkgManager} install`,
|
|
41
|
+
`${pkgManager} run start starts dev server`,
|
|
42
|
+
`${pkgManager} run ios builds and runs iOS app`,
|
|
43
|
+
`${pkgManager} run android builds and runs Android app`,
|
|
44
|
+
]
|
|
45
|
+
.filter(Boolean)
|
|
46
|
+
.join('\n');
|
|
47
|
+
note(nextSteps, 'Next steps');
|
|
48
|
+
outro('Success 🎉.');
|
|
49
|
+
}
|
|
50
|
+
export function promptProjectName(name) {
|
|
51
|
+
return promptText({
|
|
52
|
+
message: 'What is your app named?',
|
|
53
|
+
initialValue: name,
|
|
54
|
+
validate: validateProjectName,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
export async function promptTemplate(templates) {
|
|
58
|
+
if (templates.length === 0) {
|
|
59
|
+
throw new RockError('No templates found');
|
|
60
|
+
}
|
|
61
|
+
return promptSelect({
|
|
62
|
+
message: 'Select a template:',
|
|
63
|
+
// @ts-expect-error todo
|
|
64
|
+
options: templates.map((template) => ({
|
|
65
|
+
value: template,
|
|
66
|
+
label: template.name,
|
|
67
|
+
})),
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
export function promptPlatforms(platforms) {
|
|
71
|
+
if (platforms.length === 0) {
|
|
72
|
+
throw new RockError('No platforms found');
|
|
73
|
+
}
|
|
74
|
+
const defaultPlatforms = platforms.filter((platform) => platform.name === 'android' || platform.name === 'ios');
|
|
75
|
+
return promptMultiselect({
|
|
76
|
+
message: 'What platforms do you want to start with?',
|
|
77
|
+
initialValues: defaultPlatforms,
|
|
78
|
+
// @ts-expect-error todo
|
|
79
|
+
options: platforms.map((platform) => ({
|
|
80
|
+
value: platform,
|
|
81
|
+
label: platform.name,
|
|
82
|
+
})),
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
export function promptPlugins(plugins) {
|
|
86
|
+
if (plugins.length === 0 || !isInteractive()) {
|
|
87
|
+
return Promise.resolve(null);
|
|
88
|
+
}
|
|
89
|
+
return promptMultiselect({
|
|
90
|
+
message: 'Select plugins:',
|
|
91
|
+
// @ts-expect-error todo fixup type
|
|
92
|
+
options: plugins.map((plugin) => ({
|
|
93
|
+
value: plugin,
|
|
94
|
+
label: plugin.name,
|
|
95
|
+
})),
|
|
96
|
+
required: false,
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
export function promptBundlers(bundlers) {
|
|
100
|
+
if (bundlers.length === 0) {
|
|
101
|
+
throw new RockError('No bundlers found');
|
|
102
|
+
}
|
|
103
|
+
return promptSelect({
|
|
104
|
+
message: 'Which bundler do you want to use?',
|
|
105
|
+
initialValues: [bundlers[0]],
|
|
106
|
+
// @ts-expect-error todo fixup type
|
|
107
|
+
options: bundlers.map((bundler) => ({
|
|
108
|
+
value: bundler,
|
|
109
|
+
label: bundler.name,
|
|
110
|
+
})),
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
export function promptRemoteCacheProvider() {
|
|
114
|
+
return promptSelect({
|
|
115
|
+
message: 'Which remote cache provider do you want to use?',
|
|
116
|
+
initialValue: 'github-actions',
|
|
117
|
+
options: [
|
|
118
|
+
{
|
|
119
|
+
value: 'github-actions',
|
|
120
|
+
label: 'GitHub Actions',
|
|
121
|
+
hint: 'Enable builds on your CI',
|
|
122
|
+
},
|
|
123
|
+
{ value: null, label: 'None', hint: 'Local builds only' },
|
|
124
|
+
],
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
export function confirmOverrideFiles(targetDir) {
|
|
128
|
+
return promptConfirm({
|
|
129
|
+
message: `"${targetDir}" is not empty, please choose:`,
|
|
130
|
+
confirmLabel: 'Continue and override files',
|
|
131
|
+
cancelLabel: 'Cancel operation',
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
export function promptInstallDependencies() {
|
|
135
|
+
return promptConfirm({
|
|
136
|
+
message: 'Do you want to install dependencies?',
|
|
137
|
+
confirmLabel: 'Yes',
|
|
138
|
+
cancelLabel: 'No',
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../../src/lib/utils/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare function downloadTarballFromNpm(packageName: string, version: string | undefined, targetDir: string): Promise<string>;
|
|
2
|
+
/**
|
|
3
|
+
* Extracts a tarball to a temporary directory and returns the path to the extracted directory
|
|
4
|
+
* @param tarballPath - Path to the tarball to extract
|
|
5
|
+
* @param targetDir - Parent directory where temp directory will be created in
|
|
6
|
+
* @returns Path to the extracted directory
|
|
7
|
+
*/
|
|
8
|
+
export declare function extractTarballToTempDirectory(targetDir: string, tarballPath: string): Promise<string>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tarball.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/tarball.ts"],"names":[],"mappings":"AAOA,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,OAAO,oBAAW,EAClB,SAAS,EAAE,MAAM,mBA+BlB;AAED;;;;;GAKG;AAEH,wBAAsB,6BAA6B,CACjD,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,CAcjB"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { RockError } from '@rock-js/tools';
|
|
4
|
+
import packageJson from 'package-json';
|
|
5
|
+
import * as tar from 'tar';
|
|
6
|
+
import { getNameWithoutExtension } from './fs.js';
|
|
7
|
+
export async function downloadTarballFromNpm(packageName, version = 'latest', targetDir) {
|
|
8
|
+
try {
|
|
9
|
+
const metadata = await packageJson(packageName, { version });
|
|
10
|
+
const tarballUrl = metadata['dist']?.tarball;
|
|
11
|
+
if (!tarballUrl) {
|
|
12
|
+
throw new RockError('Tarball URL not found.');
|
|
13
|
+
}
|
|
14
|
+
const response = await fetch(tarballUrl);
|
|
15
|
+
if (!response.ok) {
|
|
16
|
+
throw new RockError(`Failed to fetch package ${packageName}: ${response.statusText}`);
|
|
17
|
+
}
|
|
18
|
+
const tarballPath = path.join(targetDir, `${packageName.replace('/', '-')}.tgz`);
|
|
19
|
+
// Write the tarball to disk
|
|
20
|
+
const arrayBuffer = await response.arrayBuffer();
|
|
21
|
+
fs.writeFileSync(tarballPath, new Uint8Array(arrayBuffer));
|
|
22
|
+
return tarballPath;
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
throw new RockError(`Error downloading package ${packageName}`, {
|
|
26
|
+
cause: error,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Extracts a tarball to a temporary directory and returns the path to the extracted directory
|
|
32
|
+
* @param tarballPath - Path to the tarball to extract
|
|
33
|
+
* @param targetDir - Parent directory where temp directory will be created in
|
|
34
|
+
* @returns Path to the extracted directory
|
|
35
|
+
*/
|
|
36
|
+
// This automatically handles both .tgz and .tar files
|
|
37
|
+
export async function extractTarballToTempDirectory(targetDir, tarballPath) {
|
|
38
|
+
const tempFolder = path.join(targetDir, `.temp-${getNameWithoutExtension(tarballPath)}-${Date.now()}`);
|
|
39
|
+
fs.mkdirSync(tempFolder, { recursive: true });
|
|
40
|
+
await tar.extract({
|
|
41
|
+
file: tarballPath,
|
|
42
|
+
cwd: tempFolder,
|
|
43
|
+
strip: 1, // Remove top-level directory
|
|
44
|
+
});
|
|
45
|
+
return tempFolder;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=tarball.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tarball.js","sourceRoot":"","sources":["../../../../src/lib/utils/tarball.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,WAAmB,EACnB,OAAO,GAAG,QAAQ,EAClB,SAAiB;IAEjB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAE7D,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,SAAS,CAAC,wBAAwB,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,SAAS,CACjB,2BAA2B,WAAW,KAAK,QAAQ,CAAC,UAAU,EAAE,CACjE,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAC3B,SAAS,EACT,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CACvC,CAAC;QACF,4BAA4B;QAC5B,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QACjD,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;QAE3D,OAAO,WAAW,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,SAAS,CAAC,6BAA6B,WAAW,EAAE,EAAE;YAC9D,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,sDAAsD;AACtD,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,SAAiB,EACjB,WAAmB;IAEnB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAC1B,SAAS,EACT,SAAS,uBAAuB,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAC9D,CAAC;IACF,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE9C,MAAM,GAAG,CAAC,OAAO,CAAC;QAChB,IAAI,EAAE,WAAW;QACjB,GAAG,EAAE,UAAU;QACf,KAAK,EAAE,CAAC,EAAE,6BAA6B;KACxC,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getRockVersion(): any;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/version.ts"],"names":[],"mappings":"AAKA,wBAAgB,cAAc,QAY7B"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as fs from 'node:fs';
|
|
2
|
+
import { dirname, join } from 'node:path';
|
|
3
|
+
import { fileURLToPath } from 'node:url';
|
|
4
|
+
import { logger } from '@rock-js/tools';
|
|
5
|
+
export function getRockVersion() {
|
|
6
|
+
try {
|
|
7
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
8
|
+
// Note: account for 'dist' folder
|
|
9
|
+
const packageJsonPath = join(__dirname, '../../../../package.json');
|
|
10
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
|
|
11
|
+
return packageJson.version;
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
logger.warn('Failed to get Rock version', error);
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../../src/lib/utils/version.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,MAAM,UAAU,cAAc;IAC5B,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAE1D,kCAAkC;QAClC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,0BAA0B,CAAC,CAAC;QACpE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1E,OAAO,WAAW,CAAC,OAAO,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,39 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-rock",
|
|
3
|
-
"version": "0.0
|
|
4
|
-
"
|
|
3
|
+
"version": "0.9.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"types": "./dist/src/index.d.ts",
|
|
6
|
+
"exports": {
|
|
7
|
+
"types": "./dist/src/index.d.ts",
|
|
8
|
+
"default": "./dist/src/index.js"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"dist"
|
|
12
|
+
],
|
|
5
13
|
"scripts": {
|
|
6
|
-
"
|
|
14
|
+
"build": "tsc -p tsconfig.lib.json",
|
|
15
|
+
"dev": "tsc -p tsconfig.lib.json --watch",
|
|
16
|
+
"publish:npm": "npm publish --access public",
|
|
17
|
+
"publish:verdaccio": "npm publish --registry http://localhost:4873 --userconfig ../../.npmrc",
|
|
18
|
+
"e2e": "CI=true vitest --config vite.e2e.config.js"
|
|
19
|
+
},
|
|
20
|
+
"bin": {
|
|
21
|
+
"create-app": "./dist/src/bin.js"
|
|
22
|
+
},
|
|
23
|
+
"dependencies": {
|
|
24
|
+
"@rock-js/tools": "^0.9.0",
|
|
25
|
+
"gradient-string": "^3.0.0",
|
|
26
|
+
"minimist": "^1.2.8",
|
|
27
|
+
"package-json": "^10.0.1",
|
|
28
|
+
"tar": "^7.4.3",
|
|
29
|
+
"tslib": "^2.3.0"
|
|
30
|
+
},
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"@types/gradient-string": "^1.1.6",
|
|
33
|
+
"@rock-js/test-helpers": "^0.9.0",
|
|
34
|
+
"@types/minimist": "^1.2.5"
|
|
7
35
|
},
|
|
8
|
-
"
|
|
9
|
-
|
|
10
|
-
|
|
36
|
+
"publishConfig": {
|
|
37
|
+
"access": "public"
|
|
38
|
+
}
|
|
11
39
|
}
|