create-rstack 1.0.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 CHANGED
@@ -17,6 +17,13 @@ A shared package for create-rspack, create-rsbuild, create-rspress and create-rs
17
17
  npm add create-rstack -D
18
18
  ```
19
19
 
20
+ ## Example
21
+
22
+ See: [create-rsbuild](https://github.com/web-infra-dev/rsbuild/tree/main/packages/create-rsbuild).
23
+
24
+ ![image](https://github.com/user-attachments/assets/2dda3501-720c-4151-bd3e-5e038dca9e68)
25
+
26
+
20
27
  ## License
21
28
 
22
29
  [MIT](./LICENSE).
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 skipFiles = [
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 (skipFiles.includes(file)) {
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');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-rstack",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Create a new Rstack project",
5
5
  "repository": {
6
6
  "type": "git",