@dev-to/create-react 0.1.0 → 1.0.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/dist/index.js CHANGED
@@ -1,62 +1,123 @@
1
1
  #!/usr/bin/env node
2
2
  import fs from 'node:fs';
3
3
  import path from 'node:path';
4
- import { spawn } from 'node:child_process';
5
- import { createInterface } from 'node:readline/promises';
4
+ import { spawn, execSync } from 'node:child_process';
6
5
  import process from 'node:process';
6
+ import * as clack from '@clack/prompts';
7
+ import { red, cyan, yellow } from 'kolorist';
8
+ const PACKAGE_MANAGERS = ['pnpm', 'npm', 'yarn', 'bun'];
9
+ const REACT_TEMPLATES = [
10
+ {
11
+ name: 'react-ts',
12
+ display: 'TypeScript',
13
+ color: cyan,
14
+ },
15
+ {
16
+ name: 'react-swc-ts',
17
+ display: 'TypeScript + SWC',
18
+ color: cyan,
19
+ },
20
+ {
21
+ name: 'react',
22
+ display: 'JavaScript',
23
+ color: yellow,
24
+ },
25
+ {
26
+ name: 'react-swc',
27
+ display: 'JavaScript + SWC',
28
+ color: yellow,
29
+ },
30
+ ];
31
+ const PM_CONFIGS = {
32
+ pnpm: {
33
+ install: 'pnpm install',
34
+ dev: 'pnpm dev',
35
+ },
36
+ npm: {
37
+ install: 'npm install',
38
+ dev: 'npm run dev',
39
+ },
40
+ yarn: {
41
+ install: 'yarn',
42
+ dev: 'yarn dev',
43
+ },
44
+ bun: {
45
+ install: 'bun install',
46
+ dev: 'bun dev',
47
+ },
48
+ };
49
+ function checkCommandExists(command) {
50
+ try {
51
+ execSync(`${command} --version`, { stdio: 'ignore' });
52
+ return true;
53
+ }
54
+ catch {
55
+ return false;
56
+ }
57
+ }
7
58
  function detectPackageManager(userAgent) {
8
- if (userAgent.includes('pnpm'))
9
- return 'pnpm';
10
- if (userAgent.includes('yarn'))
11
- return 'yarn';
12
- if (userAgent.includes('bun'))
13
- return 'bun';
14
- if (userAgent.includes('npm'))
15
- return 'npm';
16
- return 'unknown';
59
+ for (const pm of PACKAGE_MANAGERS) {
60
+ if (userAgent.includes(pm))
61
+ return pm;
62
+ }
63
+ for (const pm of PACKAGE_MANAGERS) {
64
+ if (checkCommandExists(pm))
65
+ return pm;
66
+ }
67
+ return null;
17
68
  }
18
- function normalizeTargetDir(input) {
19
- const trimmed = input.trim();
20
- if (!trimmed)
21
- return '';
22
- return trimmed === '.' ? '.' : trimmed.replace(/\/+$/, '');
69
+ function formatTargetDir(targetDir) {
70
+ return targetDir?.trim().replace(/\/+$/g, '');
23
71
  }
24
- async function promptText(message, initialValue = '') {
25
- const rl = createInterface({ input: process.stdin, output: process.stdout });
26
- try {
27
- const answer = await rl.question(initialValue ? `${message} (${initialValue}): ` : `${message}: `);
28
- return normalizeTargetDir(answer || initialValue);
72
+ function isEmpty(path) {
73
+ const files = fs.readdirSync(path);
74
+ return files.length === 0 || (files.length === 1 && files[0] === '.git');
75
+ }
76
+ function toValidPackageName(projectName) {
77
+ return projectName
78
+ .trim()
79
+ .toLowerCase()
80
+ .replace(/\s+/g, '-')
81
+ .replace(/^[._]/, '')
82
+ .replace(/[^a-z\d\-~]+/g, '-');
83
+ }
84
+ function emptyDir(dir) {
85
+ if (!fs.existsSync(dir)) {
86
+ return;
29
87
  }
30
- finally {
31
- rl.close();
88
+ for (const file of fs.readdirSync(dir)) {
89
+ if (file === '.git') {
90
+ continue;
91
+ }
92
+ fs.rmSync(path.resolve(dir, file), { recursive: true, force: true });
32
93
  }
33
94
  }
34
- async function promptSelect(message, options, initialIndex = 0) {
35
- const rl = createInterface({ input: process.stdin, output: process.stdout });
36
- try {
37
- process.stdout.write(`\n${message}\n`);
38
- options.forEach((opt, idx) => {
39
- const marker = idx === initialIndex ? '*' : ' ';
40
- process.stdout.write(` ${marker} ${idx + 1}. ${opt}\n`);
41
- });
42
- const answer = await rl.question(`Select (1-${options.length}) [${initialIndex + 1}]: `);
43
- const chosen = answer.trim() ? Number(answer.trim()) - 1 : initialIndex;
44
- if (Number.isNaN(chosen) || chosen < 0 || chosen >= options.length)
45
- return options[initialIndex];
46
- return options[chosen];
95
+ function copyDir(srcDir, destDir) {
96
+ fs.mkdirSync(destDir, { recursive: true });
97
+ for (const file of fs.readdirSync(srcDir)) {
98
+ const srcFile = path.resolve(srcDir, file);
99
+ const destFile = path.resolve(destDir, file);
100
+ copy(srcFile, destFile);
47
101
  }
48
- finally {
49
- rl.close();
102
+ }
103
+ function copy(src, dest) {
104
+ const stat = fs.statSync(src);
105
+ if (stat.isDirectory()) {
106
+ copyDir(src, dest);
107
+ }
108
+ else {
109
+ fs.copyFileSync(src, dest);
50
110
  }
51
111
  }
52
112
  function run(command, args, cwd) {
53
113
  return new Promise((resolve, reject) => {
54
114
  const child = spawn(command, args, { cwd, stdio: 'inherit' });
55
115
  child.on('close', (code) => {
56
- if (code === 0)
57
- resolve();
58
- else
59
- reject(new Error(`${command} exited with code ${code}`));
116
+ if (code !== 0) {
117
+ reject(new Error(`${command} ${args.join(' ')} failed`));
118
+ return;
119
+ }
120
+ resolve();
60
121
  });
61
122
  child.on('error', reject);
62
123
  });
@@ -70,42 +131,79 @@ function findViteConfigFile(projectDir) {
70
131
  }
71
132
  return null;
72
133
  }
73
- function injectDevToReactPluginIntoViteConfig(content) {
74
- const hasImport = /['"]@dev-to\/react-plugin['"]/.test(content);
75
- const hasCall = content.includes('devToReactPlugin(') || content.includes('devToReactPlugin()');
134
+ async function cloneViteTemplate(template, targetDir) {
135
+ const templateRepo = `vitejs/vite/packages/create-vite/template-${template}`;
136
+ try {
137
+ await run('npx', ['degit', templateRepo, targetDir, '--force'], process.cwd());
138
+ }
139
+ catch (error) {
140
+ throw new Error(`Failed to clone template: ${error instanceof Error ? error.message : String(error)}`);
141
+ }
142
+ }
143
+ function injectPluginIntoViteConfig(content, pluginPackage, pluginName) {
144
+ const hasImport = new RegExp(`['"]${pluginPackage.replace(/\//g, '\\/')}['"]`).test(content);
145
+ const hasCall = content.includes(`${pluginName}(`);
76
146
  let out = content;
147
+ // 添加 import 语句
77
148
  if (!hasImport) {
78
149
  const importMatches = Array.from(out.matchAll(/^import .+$/gm));
79
150
  if (importMatches.length > 0) {
80
151
  const last = importMatches[importMatches.length - 1];
81
152
  const insertPos = (last.index ?? 0) + last[0].length;
82
- out = `${out.slice(0, insertPos)}\nimport { devToReactPlugin } from '@dev-to/react-plugin'\n${out.slice(insertPos)}`;
153
+ out = `${out.slice(0, insertPos)}\nimport { ${pluginName} } from '${pluginPackage}'\n${out.slice(insertPos)}`;
83
154
  }
84
155
  else {
85
- out = `import { devToReactPlugin } from '@dev-to/react-plugin'\n${out}`;
156
+ out = `import { ${pluginName} } from '${pluginPackage}'\n${out}`;
86
157
  }
87
158
  }
159
+ // 添加插件到 plugins 数组
88
160
  if (!hasCall) {
89
- const pluginsRegex = /plugins\s*:\s*\[([\s\S]*?)\]/m;
161
+ // 匹配 plugins: [...] 或 plugins:[...]
162
+ const pluginsRegex = /plugins\s*:\s*\[([^\]]*(?:\[[^\]]*\][^\]]*)*)\]/;
90
163
  const m = pluginsRegex.exec(out);
91
- if (m && typeof m.index === 'number') {
164
+ if (m && m.index !== undefined) {
92
165
  const full = m[0];
93
- const inner = m[1] ?? '';
166
+ const inner = m[1] || '';
167
+ // 检查是否是多行格式
94
168
  if (inner.includes('\n')) {
95
- const indentMatch = inner.match(/\n(\s*)\S/);
96
- const indent = indentMatch ? indentMatch[1] : ' ';
97
- const closingIndentMatch = inner.match(/\n(\s*)$/);
98
- const closingIndent = closingIndentMatch ? closingIndentMatch[1] : '';
99
- const trimmedInner = inner.replace(/\s*$/, '');
100
- const nextInner = `${trimmedInner}\n${indent}devToReactPlugin(),\n${closingIndent}`;
101
- const replaced = full.replace(inner, nextInner);
102
- out = out.slice(0, m.index) + replaced + out.slice(m.index + full.length);
169
+ // 多行格式:找到缩进
170
+ const lines = inner.split('\n');
171
+ const pluginLines = lines.filter(line => line.trim() && !line.trim().startsWith('//'));
172
+ let indent = ' '; // 默认 4 空格
173
+ if (pluginLines.length > 0) {
174
+ const firstPluginLine = pluginLines[0];
175
+ const match = firstPluginLine.match(/^(\s+)/);
176
+ if (match)
177
+ indent = match[1];
178
+ }
179
+ // 在最后一个插件后添加新插件
180
+ const trimmedInner = inner.trimEnd();
181
+ const hasTrailingComma = trimmedInner.trim().endsWith(',');
182
+ const newPlugin = `${indent}${pluginName}(),`;
183
+ // 找到最后一个非空白行
184
+ const lastContentIndex = trimmedInner.lastIndexOf('\n');
185
+ if (lastContentIndex === -1) {
186
+ // 单行但包含换行符的情况
187
+ out = out.replace(full, `plugins: [\n${newPlugin}\n ]`);
188
+ }
189
+ else {
190
+ const beforeLast = trimmedInner.slice(0, lastContentIndex + 1);
191
+ const lastLine = trimmedInner.slice(lastContentIndex + 1);
192
+ if (!hasTrailingComma && lastLine.trim()) {
193
+ // 最后一行没有逗号,需要添加
194
+ out = out.replace(full, `plugins: [${beforeLast}${lastLine},\n${newPlugin}\n ]`);
195
+ }
196
+ else {
197
+ // 最后一行有逗号或为空
198
+ out = out.replace(full, `plugins: [${trimmedInner}\n${newPlugin}\n ]`);
199
+ }
200
+ }
103
201
  }
104
202
  else {
203
+ // 单行格式
105
204
  const compactInner = inner.trim();
106
- const nextInner = compactInner ? `${compactInner}, devToReactPlugin()` : 'devToReactPlugin()';
107
- const replaced = full.replace(`[${inner}]`, `[${nextInner}]`);
108
- out = out.slice(0, m.index) + replaced + out.slice(m.index + full.length);
205
+ const nextInner = compactInner ? `${compactInner}, ${pluginName}()` : `${pluginName}()`;
206
+ out = out.replace(full, `plugins: [${nextInner}]`);
109
207
  }
110
208
  }
111
209
  }
@@ -121,42 +219,139 @@ function addDevDependency(projectDir, pkgName, version) {
121
219
  pkg['devDependencies'] = devDependencies;
122
220
  fs.writeFileSync(pkgPath, `${JSON.stringify(pkg, null, 2)}\n`);
123
221
  }
124
- async function main() {
222
+ async function init() {
125
223
  const userAgent = process.env.npm_config_user_agent || '';
126
- const pm = detectPackageManager(userAgent);
127
- const args = process.argv.slice(2);
128
- const firstNonFlag = args.find(a => !a.startsWith('-')) || '';
129
- const targetDirFromArg = normalizeTargetDir(firstNonFlag);
130
- const targetDir = targetDirFromArg || (await promptText('Project name', 'dev-to-react-app'));
131
- const templateChoice = await promptSelect('Select a React template', ['react', 'react-ts', 'react-swc', 'react-swc-ts'], 1);
224
+ let packageManager = detectPackageManager(userAgent);
225
+ clack.intro(cyan('create-react'));
132
226
  const cwd = process.cwd();
133
- if (pm === 'pnpm') {
134
- await run('pnpm', ['dlx', 'create-vite@latest', targetDir, '--template', templateChoice], cwd);
227
+ const argTargetDir = formatTargetDir(process.argv[2]);
228
+ let targetDir = argTargetDir || '.';
229
+ const getProjectName = () => targetDir === '.' ? path.basename(path.resolve()) : targetDir;
230
+ // 项目名称
231
+ const project = await clack.group({
232
+ projectName: () => clack.text({
233
+ message: 'Project name:',
234
+ placeholder: 'dev-to-react-app',
235
+ initialValue: argTargetDir,
236
+ defaultValue: argTargetDir || 'dev-to-react-app',
237
+ }),
238
+ shouldOverwrite: ({ results }) => {
239
+ targetDir = formatTargetDir(results.projectName) || 'dev-to-react-app';
240
+ const root = path.join(cwd, targetDir);
241
+ if (!fs.existsSync(root)) {
242
+ return Promise.resolve(false);
243
+ }
244
+ if (isEmpty(root)) {
245
+ return Promise.resolve(false);
246
+ }
247
+ return clack.confirm({
248
+ message: targetDir === '.'
249
+ ? 'Current directory is not empty. Remove existing files and continue?'
250
+ : `Target directory "${targetDir}" is not empty. Remove existing files and continue?`,
251
+ });
252
+ },
253
+ }, {
254
+ onCancel: () => {
255
+ clack.cancel('Operation cancelled.');
256
+ process.exit(0);
257
+ },
258
+ });
259
+ const { shouldOverwrite } = project;
260
+ // 覆盖目录
261
+ if (shouldOverwrite) {
262
+ emptyDir(path.join(cwd, targetDir));
263
+ }
264
+ // 包管理器选择
265
+ if (!packageManager) {
266
+ const pmChoice = await clack.select({
267
+ message: 'Select a package manager:',
268
+ options: PACKAGE_MANAGERS.map(pm => ({
269
+ value: pm,
270
+ label: pm,
271
+ })),
272
+ });
273
+ if (clack.isCancel(pmChoice)) {
274
+ clack.cancel('Operation cancelled.');
275
+ process.exit(0);
276
+ }
277
+ packageManager = pmChoice;
135
278
  }
136
- else if (pm === 'npm') {
137
- await run('npm', ['create', 'vite@latest', targetDir, '--', '--template', templateChoice], cwd);
279
+ // React 模板选择
280
+ const variant = await clack.select({
281
+ message: 'Select a variant:',
282
+ options: REACT_TEMPLATES.map(template => ({
283
+ value: template.name,
284
+ label: template.color(template.display),
285
+ })),
286
+ });
287
+ if (clack.isCancel(variant)) {
288
+ clack.cancel('Operation cancelled.');
289
+ process.exit(0);
138
290
  }
139
- else {
140
- throw new Error(`Unsupported package manager: ${pm}`);
291
+ const template = variant;
292
+ // 询问是否使用 Rolldown(实验性)
293
+ const shouldUseRolldown = await clack.confirm({
294
+ message: 'Use Rolldown for bundling? (Experimental)',
295
+ initialValue: false,
296
+ });
297
+ if (clack.isCancel(shouldUseRolldown)) {
298
+ clack.cancel('Operation cancelled.');
299
+ process.exit(0);
141
300
  }
142
- const projectDir = path.resolve(cwd, targetDir);
143
- addDevDependency(projectDir, '@dev-to/react-plugin', 'latest');
144
- const viteConfigPath = findViteConfigFile(projectDir);
301
+ const root = path.join(cwd, targetDir);
302
+ const spinner = clack.spinner();
303
+ spinner.start('Scaffolding project');
304
+ // 使用 degit 克隆模板
305
+ await cloneViteTemplate(template, root);
306
+ // 修改 package.json 名称
307
+ const pkgPath = path.join(root, 'package.json');
308
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
309
+ pkg.name = toValidPackageName(getProjectName());
310
+ fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + '\n');
311
+ spinner.message('Adding @dev-to/react-plugin');
312
+ // 添加插件依赖
313
+ const pluginPackage = '@dev-to/react-plugin';
314
+ const pluginName = 'devToReactPlugin';
315
+ addDevDependency(root, pluginPackage, 'latest');
316
+ // 注入插件到 vite.config
317
+ const viteConfigPath = findViteConfigFile(root);
145
318
  if (viteConfigPath) {
146
319
  const original = fs.readFileSync(viteConfigPath, 'utf-8');
147
- const next = injectDevToReactPluginIntoViteConfig(original);
148
- fs.writeFileSync(viteConfigPath, next);
320
+ const patched = injectPluginIntoViteConfig(original, pluginPackage, pluginName);
321
+ fs.writeFileSync(viteConfigPath, patched);
322
+ }
323
+ spinner.stop('Project created');
324
+ // 询问是否立即安装
325
+ const shouldInstall = await clack.confirm({
326
+ message: 'Install dependencies and start dev server?',
327
+ initialValue: true,
328
+ });
329
+ if (clack.isCancel(shouldInstall)) {
330
+ // 用户取消
331
+ }
332
+ if (shouldInstall) {
333
+ const installSpinner = clack.spinner();
334
+ installSpinner.start('Installing dependencies');
335
+ await run(packageManager, ['install'], root);
336
+ installSpinner.stop('Dependencies installed');
337
+ const devSpinner = clack.spinner();
338
+ devSpinner.start('Starting dev server');
339
+ // 启动 dev server
340
+ const devArgs = packageManager === 'npm' ? ['run', 'dev'] : ['dev'];
341
+ spawn(packageManager, devArgs, { cwd: root, stdio: 'inherit' });
149
342
  }
150
343
  else {
151
- process.stderr.write(`\n[create-react] Could not find vite.config.* in ${projectDir}. Please add @dev-to/react-plugin manually.\n`);
344
+ const pkgManager = packageManager || 'npm';
345
+ const cdPath = targetDir !== '.' ? `cd ${targetDir}` : null;
346
+ const installCmd = PM_CONFIGS[pkgManager].install;
347
+ const devCmd = PM_CONFIGS[pkgManager].dev;
348
+ const nextSteps = [cdPath, installCmd, devCmd].filter(Boolean).join('\n ');
349
+ clack.note(nextSteps, 'Next steps');
350
+ clack.outro('Done');
152
351
  }
153
- process.stdout.write(`\n[create-react] Done. Next:\n`);
154
- process.stdout.write(` cd ${targetDir}\n`);
155
- process.stdout.write(` pnpm install\n`);
156
- process.stdout.write(` pnpm dev\n`);
157
352
  }
158
- main().catch((err) => {
159
- process.stderr.write(`${err instanceof Error ? err.message : String(err)}\n`);
160
- process.exitCode = 1;
353
+ init().catch((e) => {
354
+ clack.log.error(red(e.message || e));
355
+ process.exit(1);
161
356
  });
162
357
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dev-to/create-react",
3
- "version": "0.1.0",
3
+ "version": "1.0.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "bin": {
@@ -17,7 +17,10 @@
17
17
  "publishConfig": {
18
18
  "access": "public"
19
19
  },
20
- "dependencies": {},
20
+ "dependencies": {
21
+ "@clack/prompts": "^0.11.0",
22
+ "kolorist": "^1.8.0"
23
+ },
21
24
  "scripts": {
22
25
  "build": "tsc -p tsconfig.json",
23
26
  "dev": "tsc -p tsconfig.json -w",