create-rstack 1.0.0-beta.0 → 1.0.1
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 +11 -31
- package/dist/index.d.ts +2 -1
- package/dist/index.js +14 -8
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,48 +1,28 @@
|
|
|
1
|
-
#
|
|
1
|
+
# create-rstack
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A shared package for create-rspack, create-rsbuild, create-rspress and create-rslib.
|
|
4
|
+
|
|
5
|
+
> This package should only be used in Rstack projects.
|
|
4
6
|
|
|
5
7
|
<p>
|
|
6
|
-
<a href="https://npmjs.com/package/
|
|
7
|
-
<img src="https://img.shields.io/npm/v/
|
|
8
|
+
<a href="https://npmjs.com/package/create-rstack">
|
|
9
|
+
<img src="https://img.shields.io/npm/v/create-rstack?style=flat-square&colorA=564341&colorB=EDED91" alt="npm version" />
|
|
8
10
|
</a>
|
|
9
11
|
<img src="https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square&colorA=564341&colorB=EDED91" alt="license" />
|
|
10
12
|
</p>
|
|
11
13
|
|
|
12
|
-
##
|
|
13
|
-
|
|
14
|
-
Install:
|
|
14
|
+
## Install
|
|
15
15
|
|
|
16
16
|
```bash
|
|
17
|
-
npm add
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
Add plugin to your `rsbuild.config.ts`:
|
|
21
|
-
|
|
22
|
-
```ts
|
|
23
|
-
// rsbuild.config.ts
|
|
24
|
-
import { pluginExample } from "rsbuild-plugin-example";
|
|
25
|
-
|
|
26
|
-
export default {
|
|
27
|
-
plugins: [pluginExample()],
|
|
28
|
-
};
|
|
17
|
+
npm add create-rstack -D
|
|
29
18
|
```
|
|
30
19
|
|
|
31
|
-
##
|
|
20
|
+
## Example
|
|
32
21
|
|
|
33
|
-
|
|
22
|
+
See: [create-rsbuild](https://github.com/web-infra-dev/rsbuild/tree/main/packages/create-rsbuild).
|
|
34
23
|
|
|
35
|
-
|
|
24
|
+

|
|
36
25
|
|
|
37
|
-
- Type: `string`
|
|
38
|
-
- Default: `undefined`
|
|
39
|
-
- Example:
|
|
40
|
-
|
|
41
|
-
```js
|
|
42
|
-
pluginExample({
|
|
43
|
-
foo: "bar",
|
|
44
|
-
});
|
|
45
|
-
```
|
|
46
26
|
|
|
47
27
|
## License
|
|
48
28
|
|
package/dist/index.d.ts
CHANGED
|
@@ -9,9 +9,10 @@ export type Argv = {
|
|
|
9
9
|
tools?: string | string[];
|
|
10
10
|
};
|
|
11
11
|
export type ESLintTemplateName = 'vanilla-js' | 'vanilla-ts' | 'react-js' | 'react-ts' | 'vue-ts' | 'vue-js' | 'svelte-js' | 'svelte-ts';
|
|
12
|
-
export declare function create({ name, root, templates, getTemplateName, mapESLintTemplate, }: {
|
|
12
|
+
export declare function create({ name, root, templates, skipFiles, getTemplateName, mapESLintTemplate, }: {
|
|
13
13
|
name: string;
|
|
14
14
|
root: string;
|
|
15
|
+
skipFiles?: string[];
|
|
15
16
|
templates: string[];
|
|
16
17
|
getTemplateName: (argv: Argv) => Promise<string>;
|
|
17
18
|
mapESLintTemplate: (templateName: string) => ESLintTemplateName | null;
|
package/dist/index.js
CHANGED
|
@@ -1158,7 +1158,7 @@ async function getTools({ tools, dir, template }) {
|
|
|
1158
1158
|
function upperFirst(str) {
|
|
1159
1159
|
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
1160
1160
|
}
|
|
1161
|
-
async function create({ name, root, templates, getTemplateName, mapESLintTemplate }) {
|
|
1161
|
+
async function create({ name, root, templates, skipFiles, getTemplateName, mapESLintTemplate }) {
|
|
1162
1162
|
const argv = minimist_default()(process.argv.slice(2), {
|
|
1163
1163
|
alias: {
|
|
1164
1164
|
h: 'help',
|
|
@@ -1217,13 +1217,15 @@ async function create({ name, root, templates, getTemplateName, mapESLintTemplat
|
|
|
1217
1217
|
copyFolder({
|
|
1218
1218
|
from: commonFolder,
|
|
1219
1219
|
to: distFolder,
|
|
1220
|
-
version
|
|
1220
|
+
version,
|
|
1221
|
+
skipFiles
|
|
1221
1222
|
});
|
|
1222
1223
|
copyFolder({
|
|
1223
1224
|
from: srcFolder,
|
|
1224
1225
|
to: distFolder,
|
|
1225
1226
|
version,
|
|
1226
|
-
packageName
|
|
1227
|
+
packageName,
|
|
1228
|
+
skipFiles
|
|
1227
1229
|
});
|
|
1228
1230
|
const packageRoot = external_node_path_namespaceObject["default"].resolve(src_dirname, '..');
|
|
1229
1231
|
for (const tool of tools){
|
|
@@ -1238,6 +1240,7 @@ async function create({ name, root, templates, getTemplateName, mapESLintTemplat
|
|
|
1238
1240
|
from: subFolder,
|
|
1239
1241
|
to: distFolder,
|
|
1240
1242
|
version,
|
|
1243
|
+
skipFiles,
|
|
1241
1244
|
isMergePackageJson: true
|
|
1242
1245
|
});
|
|
1243
1246
|
} else {
|
|
@@ -1245,6 +1248,7 @@ async function create({ name, root, templates, getTemplateName, mapESLintTemplat
|
|
|
1245
1248
|
from: toolFolder,
|
|
1246
1249
|
to: distFolder,
|
|
1247
1250
|
version,
|
|
1251
|
+
skipFiles,
|
|
1248
1252
|
isMergePackageJson: true
|
|
1249
1253
|
});
|
|
1250
1254
|
}
|
|
@@ -1285,20 +1289,21 @@ function mergePackageJson(targetPackage, extraPackage) {
|
|
|
1285
1289
|
}
|
|
1286
1290
|
external_node_fs_namespaceObject["default"].writeFileSync(targetPackage, `${JSON.stringify(mergedJson, null, 2)}\n`);
|
|
1287
1291
|
}
|
|
1288
|
-
function copyFolder({ from, to, version, packageName, isMergePackageJson }) {
|
|
1292
|
+
function copyFolder({ from, to, version, packageName, isMergePackageJson, skipFiles = [] }) {
|
|
1289
1293
|
const renameFiles = {
|
|
1290
1294
|
gitignore: '.gitignore'
|
|
1291
1295
|
};
|
|
1292
1296
|
// Skip local files
|
|
1293
|
-
const
|
|
1297
|
+
const allSkipFiles = [
|
|
1294
1298
|
'node_modules',
|
|
1295
|
-
'dist'
|
|
1299
|
+
'dist',
|
|
1300
|
+
...skipFiles
|
|
1296
1301
|
];
|
|
1297
1302
|
external_node_fs_namespaceObject["default"].mkdirSync(to, {
|
|
1298
1303
|
recursive: true
|
|
1299
1304
|
});
|
|
1300
1305
|
for (const file of external_node_fs_namespaceObject["default"].readdirSync(from)){
|
|
1301
|
-
if (
|
|
1306
|
+
if (allSkipFiles.includes(file)) {
|
|
1302
1307
|
continue;
|
|
1303
1308
|
}
|
|
1304
1309
|
const srcFile = external_node_path_namespaceObject["default"].resolve(from, file);
|
|
@@ -1308,7 +1313,8 @@ function copyFolder({ from, to, version, packageName, isMergePackageJson }) {
|
|
|
1308
1313
|
copyFolder({
|
|
1309
1314
|
from: srcFile,
|
|
1310
1315
|
to: distFile,
|
|
1311
|
-
version
|
|
1316
|
+
version,
|
|
1317
|
+
skipFiles
|
|
1312
1318
|
});
|
|
1313
1319
|
} else if (file === 'package.json') {
|
|
1314
1320
|
const targetPackage = external_node_path_namespaceObject["default"].resolve(to, 'package.json');
|