@windrun-huaiin/dev-scripts 14.1.1 → 14.1.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"diaomao-update.d.ts","sourceRoot":"","sources":["../../src/commands/diaomao-update.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AA0O7D,wBAAsB,aAAa,CACjC,MAAM,EAAE,gBAAgB,EACxB,GAAG,GAAE,MAA6D,GACjE,OAAO,CAAC,MAAM,CAAC,CA6LjB"}
1
+ {"version":3,"file":"diaomao-update.d.ts","sourceRoot":"","sources":["../../src/commands/diaomao-update.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AA4T7D,wBAAsB,aAAa,CACjC,MAAM,EAAE,gBAAgB,EACxB,GAAG,GAAE,MAA6D,GACjE,OAAO,CAAC,MAAM,CAAC,CA+MjB"}
@@ -3,8 +3,10 @@
3
3
  var fs = require('fs');
4
4
  var path = require('path');
5
5
  var https = require('https');
6
+ var child_process = require('child_process');
6
7
  var yaml = require('yaml');
7
8
  var semver = require('semver');
9
+ var pc = require('picocolors');
8
10
 
9
11
  const DEPENDENCY_SECTIONS = [
10
12
  'dependencies',
@@ -12,6 +14,14 @@ const DEPENDENCY_SECTIONS = [
12
14
  'peerDependencies',
13
15
  'optionalDependencies'
14
16
  ];
17
+ const UNKNOWN_VERSION = 'UNKNOWN';
18
+ const NPM_TARGET_PACKAGES = [
19
+ '@windrun-huaiin/base-ui',
20
+ '@windrun-huaiin/lib',
21
+ '@windrun-huaiin/third-ui',
22
+ '@windrun-huaiin/backend-core',
23
+ '@windrun-huaiin/dev-scripts'
24
+ ];
15
25
  function fetchText(url) {
16
26
  return new Promise((resolve, reject) => {
17
27
  const request = https.get(url, (response) => {
@@ -158,18 +168,68 @@ function renderTable(rows, headers) {
158
168
  ].join('\n');
159
169
  }
160
170
  function printSkipDetails(skipRows, compactLog) {
161
- const newerCount = skipRows.filter((row) => row.reason === 'skipped-newer').length;
162
- if (compactLog) {
163
- if (newerCount > 0) {
164
- console.log(`Skipped ${newerCount} package(s) because local versions are newer than the source.`);
171
+ const newerRows = skipRows.filter((row) => row.reason === 'skipped-newer');
172
+ console.log('');
173
+ if (newerRows.length === 0) {
174
+ console.log(`${pc.yellow('[diaomao-update]')} ${pc.bold('skipped-newer')}: 0`);
175
+ }
176
+ else {
177
+ console.log(`${pc.yellow('[diaomao-update]')} ${pc.bold('skipped-newer')}: ${pc.red(String(newerRows.length))}`);
178
+ for (const row of newerRows) {
179
+ console.log(` ${pc.cyan(row.packageName)} (${pc.dim(row.targetVersion)} ${pc.yellow('→')} ${pc.green(row.currentVersion)})`);
165
180
  }
181
+ }
182
+ if (compactLog) {
166
183
  return;
167
184
  }
168
185
  if (skipRows.length === 0) {
169
186
  return;
170
187
  }
171
188
  console.log('\nSkipped:');
172
- console.log(renderTable(skipRows, ['Package', 'Before', 'After', 'Reason']));
189
+ console.log(renderTable(skipRows, ['Package', 'Current', 'Reference', 'Reason']));
190
+ }
191
+ function resolveTargetVersions(remoteCatalog, allowedPackages, compactLog) {
192
+ const resolvedTargets = {};
193
+ const npmPackagesToResolve = NPM_TARGET_PACKAGES.filter((packageName) => allowedPackages.includes(packageName));
194
+ for (const [packageName, version] of Object.entries(remoteCatalog)) {
195
+ resolvedTargets[packageName] = {
196
+ version,
197
+ source: 'catalog'
198
+ };
199
+ }
200
+ for (const packageName of npmPackagesToResolve) {
201
+ const command = `npm view ${packageName} version`;
202
+ if (!compactLog) {
203
+ console.log(`[diaomao-update] resolving via npm: ${command}`);
204
+ }
205
+ try {
206
+ const version = child_process.execSync(command, {
207
+ encoding: 'utf8',
208
+ stdio: ['ignore', 'pipe', 'pipe']
209
+ }).trim() || UNKNOWN_VERSION;
210
+ resolvedTargets[packageName] = {
211
+ version,
212
+ source: 'npm'
213
+ };
214
+ if (!compactLog) {
215
+ console.log(`[diaomao-update] resolved ${packageName}: ${version}`);
216
+ }
217
+ }
218
+ catch (error) {
219
+ resolvedTargets[packageName] = {
220
+ version: UNKNOWN_VERSION,
221
+ source: 'npm'
222
+ };
223
+ if (!compactLog) {
224
+ const stderr = error instanceof Error && 'stderr' in error && typeof error.stderr === 'string'
225
+ ? error.stderr.trim()
226
+ : String(error);
227
+ console.log(`[diaomao-update] resolved ${packageName}: ${UNKNOWN_VERSION}`);
228
+ console.log(`[diaomao-update] npm query failed for ${packageName}: ${stderr || 'unknown error'}`);
229
+ }
230
+ }
231
+ }
232
+ return resolvedTargets;
173
233
  }
174
234
  async function diaomaoUpdate(config, cwd = typeof process !== 'undefined' ? process.cwd() : '.') {
175
235
  const updateConfig = config.diaomaoUpdate || {};
@@ -193,12 +253,14 @@ async function diaomaoUpdate(config, cwd = typeof process !== 'undefined' ? proc
193
253
  console.log(`Reading update source: ${sourceUrl}`);
194
254
  const remoteWorkspaceContent = await fetchText(sourceUrl);
195
255
  const remoteCatalog = extractCatalog(remoteWorkspaceContent);
256
+ const resolvedTargets = resolveTargetVersions(remoteCatalog, allowedPackages, compactLog);
196
257
  const updatedRows = [];
197
258
  const skipRows = [];
198
259
  let packageJsonChanged = false;
199
260
  let workspaceChanged = false;
200
261
  for (const packageName of allowedPackages) {
201
- const targetVersion = remoteCatalog[packageName];
262
+ const resolvedTarget = resolvedTargets[packageName];
263
+ const targetVersion = resolvedTarget?.version;
202
264
  if (!targetVersion) {
203
265
  continue;
204
266
  }
@@ -265,6 +327,9 @@ async function diaomaoUpdate(config, cwd = typeof process !== 'undefined' ? proc
265
327
  currentVersion: localCatalogVersion,
266
328
  targetVersion
267
329
  });
330
+ if (!compactLog) {
331
+ console.log(`[diaomao-update] updated ${packageName} from ${localCatalogVersion} to ${targetVersion} (source: ${resolvedTarget.source})`);
332
+ }
268
333
  continue;
269
334
  }
270
335
  const decision = compareVersionSpecs(currentSpecifier, targetVersion);
@@ -302,6 +367,9 @@ async function diaomaoUpdate(config, cwd = typeof process !== 'undefined' ? proc
302
367
  currentVersion: currentSpecifier,
303
368
  targetVersion
304
369
  });
370
+ if (!compactLog) {
371
+ console.log(`[diaomao-update] updated ${packageName} from ${currentSpecifier} to ${targetVersion} (source: ${resolvedTarget.source})`);
372
+ }
305
373
  }
306
374
  if (!matched) {
307
375
  skipRows.push({
@@ -330,6 +398,13 @@ async function diaomaoUpdate(config, cwd = typeof process !== 'undefined' ? proc
330
398
  console.log('');
331
399
  console.log(`Updated ${updatedRows.length} package version(s).`);
332
400
  printSkipDetails(skipRows, compactLog);
401
+ if (updatedRows.length > 0) {
402
+ console.log('\n执行 pnpm install中...');
403
+ child_process.execSync('pnpm install', {
404
+ cwd,
405
+ stdio: 'inherit'
406
+ });
407
+ }
333
408
  return 0;
334
409
  }
335
410
 
@@ -1,8 +1,10 @@
1
1
  import fs from 'fs';
2
2
  import path from 'path';
3
3
  import https from 'https';
4
+ import { execSync } from 'child_process';
4
5
  import { parse, stringify } from 'yaml';
5
6
  import semver from 'semver';
7
+ import pc from 'picocolors';
6
8
 
7
9
  const DEPENDENCY_SECTIONS = [
8
10
  'dependencies',
@@ -10,6 +12,14 @@ const DEPENDENCY_SECTIONS = [
10
12
  'peerDependencies',
11
13
  'optionalDependencies'
12
14
  ];
15
+ const UNKNOWN_VERSION = 'UNKNOWN';
16
+ const NPM_TARGET_PACKAGES = [
17
+ '@windrun-huaiin/base-ui',
18
+ '@windrun-huaiin/lib',
19
+ '@windrun-huaiin/third-ui',
20
+ '@windrun-huaiin/backend-core',
21
+ '@windrun-huaiin/dev-scripts'
22
+ ];
13
23
  function fetchText(url) {
14
24
  return new Promise((resolve, reject) => {
15
25
  const request = https.get(url, (response) => {
@@ -156,18 +166,68 @@ function renderTable(rows, headers) {
156
166
  ].join('\n');
157
167
  }
158
168
  function printSkipDetails(skipRows, compactLog) {
159
- const newerCount = skipRows.filter((row) => row.reason === 'skipped-newer').length;
160
- if (compactLog) {
161
- if (newerCount > 0) {
162
- console.log(`Skipped ${newerCount} package(s) because local versions are newer than the source.`);
169
+ const newerRows = skipRows.filter((row) => row.reason === 'skipped-newer');
170
+ console.log('');
171
+ if (newerRows.length === 0) {
172
+ console.log(`${pc.yellow('[diaomao-update]')} ${pc.bold('skipped-newer')}: 0`);
173
+ }
174
+ else {
175
+ console.log(`${pc.yellow('[diaomao-update]')} ${pc.bold('skipped-newer')}: ${pc.red(String(newerRows.length))}`);
176
+ for (const row of newerRows) {
177
+ console.log(` ${pc.cyan(row.packageName)} (${pc.dim(row.targetVersion)} ${pc.yellow('→')} ${pc.green(row.currentVersion)})`);
163
178
  }
179
+ }
180
+ if (compactLog) {
164
181
  return;
165
182
  }
166
183
  if (skipRows.length === 0) {
167
184
  return;
168
185
  }
169
186
  console.log('\nSkipped:');
170
- console.log(renderTable(skipRows, ['Package', 'Before', 'After', 'Reason']));
187
+ console.log(renderTable(skipRows, ['Package', 'Current', 'Reference', 'Reason']));
188
+ }
189
+ function resolveTargetVersions(remoteCatalog, allowedPackages, compactLog) {
190
+ const resolvedTargets = {};
191
+ const npmPackagesToResolve = NPM_TARGET_PACKAGES.filter((packageName) => allowedPackages.includes(packageName));
192
+ for (const [packageName, version] of Object.entries(remoteCatalog)) {
193
+ resolvedTargets[packageName] = {
194
+ version,
195
+ source: 'catalog'
196
+ };
197
+ }
198
+ for (const packageName of npmPackagesToResolve) {
199
+ const command = `npm view ${packageName} version`;
200
+ if (!compactLog) {
201
+ console.log(`[diaomao-update] resolving via npm: ${command}`);
202
+ }
203
+ try {
204
+ const version = execSync(command, {
205
+ encoding: 'utf8',
206
+ stdio: ['ignore', 'pipe', 'pipe']
207
+ }).trim() || UNKNOWN_VERSION;
208
+ resolvedTargets[packageName] = {
209
+ version,
210
+ source: 'npm'
211
+ };
212
+ if (!compactLog) {
213
+ console.log(`[diaomao-update] resolved ${packageName}: ${version}`);
214
+ }
215
+ }
216
+ catch (error) {
217
+ resolvedTargets[packageName] = {
218
+ version: UNKNOWN_VERSION,
219
+ source: 'npm'
220
+ };
221
+ if (!compactLog) {
222
+ const stderr = error instanceof Error && 'stderr' in error && typeof error.stderr === 'string'
223
+ ? error.stderr.trim()
224
+ : String(error);
225
+ console.log(`[diaomao-update] resolved ${packageName}: ${UNKNOWN_VERSION}`);
226
+ console.log(`[diaomao-update] npm query failed for ${packageName}: ${stderr || 'unknown error'}`);
227
+ }
228
+ }
229
+ }
230
+ return resolvedTargets;
171
231
  }
172
232
  async function diaomaoUpdate(config, cwd = typeof process !== 'undefined' ? process.cwd() : '.') {
173
233
  const updateConfig = config.diaomaoUpdate || {};
@@ -191,12 +251,14 @@ async function diaomaoUpdate(config, cwd = typeof process !== 'undefined' ? proc
191
251
  console.log(`Reading update source: ${sourceUrl}`);
192
252
  const remoteWorkspaceContent = await fetchText(sourceUrl);
193
253
  const remoteCatalog = extractCatalog(remoteWorkspaceContent);
254
+ const resolvedTargets = resolveTargetVersions(remoteCatalog, allowedPackages, compactLog);
194
255
  const updatedRows = [];
195
256
  const skipRows = [];
196
257
  let packageJsonChanged = false;
197
258
  let workspaceChanged = false;
198
259
  for (const packageName of allowedPackages) {
199
- const targetVersion = remoteCatalog[packageName];
260
+ const resolvedTarget = resolvedTargets[packageName];
261
+ const targetVersion = resolvedTarget?.version;
200
262
  if (!targetVersion) {
201
263
  continue;
202
264
  }
@@ -263,6 +325,9 @@ async function diaomaoUpdate(config, cwd = typeof process !== 'undefined' ? proc
263
325
  currentVersion: localCatalogVersion,
264
326
  targetVersion
265
327
  });
328
+ if (!compactLog) {
329
+ console.log(`[diaomao-update] updated ${packageName} from ${localCatalogVersion} to ${targetVersion} (source: ${resolvedTarget.source})`);
330
+ }
266
331
  continue;
267
332
  }
268
333
  const decision = compareVersionSpecs(currentSpecifier, targetVersion);
@@ -300,6 +365,9 @@ async function diaomaoUpdate(config, cwd = typeof process !== 'undefined' ? proc
300
365
  currentVersion: currentSpecifier,
301
366
  targetVersion
302
367
  });
368
+ if (!compactLog) {
369
+ console.log(`[diaomao-update] updated ${packageName} from ${currentSpecifier} to ${targetVersion} (source: ${resolvedTarget.source})`);
370
+ }
303
371
  }
304
372
  if (!matched) {
305
373
  skipRows.push({
@@ -328,6 +396,13 @@ async function diaomaoUpdate(config, cwd = typeof process !== 'undefined' ? proc
328
396
  console.log('');
329
397
  console.log(`Updated ${updatedRows.length} package version(s).`);
330
398
  printSkipDetails(skipRows, compactLog);
399
+ if (updatedRows.length > 0) {
400
+ console.log('\n执行 pnpm install中...');
401
+ execSync('pnpm install', {
402
+ cwd,
403
+ stdio: 'inherit'
404
+ });
405
+ }
331
406
  return 0;
332
407
  }
333
408
 
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAE/B,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,EAAE,CAAA;QACjB,aAAa,EAAE,MAAM,CAAA;QACrB,WAAW,EAAE,MAAM,CAAA;KACpB,CAAA;IAGD,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,EAAE,CAAA;QACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;QAClB,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB,CAAA;IAGD,IAAI,CAAC,EAAE;QACL,MAAM,EAAE,MAAM,CAAA;QACd,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;IAGD,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAA;QACd,OAAO,CAAC,EAAE,OAAO,CAAA;KAClB,CAAA;IAGD,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAG3C,aAAa,CAAC,EAAE;QACd,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;QAC1B,UAAU,CAAC,EAAE,OAAO,CAAA;KACrB,CAAA;CACF;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,cAAc,EAAE,gBAqF5B,CAAA"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAE/B,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,EAAE,CAAA;QACjB,aAAa,EAAE,MAAM,CAAA;QACrB,WAAW,EAAE,MAAM,CAAA;KACpB,CAAA;IAGD,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,EAAE,CAAA;QACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;QAClB,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB,CAAA;IAGD,IAAI,CAAC,EAAE;QACL,MAAM,EAAE,MAAM,CAAA;QACd,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;IAGD,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAA;QACd,OAAO,CAAC,EAAE,OAAO,CAAA;KAClB,CAAA;IAGD,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAG3C,aAAa,CAAC,EAAE;QACd,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;QAC1B,UAAU,CAAC,EAAE,OAAO,CAAA;KACrB,CAAA;CACF;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,cAAc,EAAE,gBA8J5B,CAAA"}
@@ -23,7 +23,80 @@ const DEFAULT_CONFIG = {
23
23
  },
24
24
  diaomaoUpdate: {
25
25
  sourceUrl: 'https://raw.githubusercontent.com/caofanCPU/next-ai-build/main/pnpm-workspace.yaml',
26
- allowedPackages: [],
26
+ "allowedPackages": [
27
+ "@changesets/cli",
28
+ "@clerk/localizations",
29
+ "@clerk/nextjs",
30
+ "@clerk/shared",
31
+ "@clerk/themes",
32
+ "@fingerprintjs/fingerprintjs",
33
+ "@hookform/resolvers",
34
+ "@prisma/client",
35
+ "@radix-ui/react-alert-dialog",
36
+ "@radix-ui/react-dropdown-menu",
37
+ "@radix-ui/react-label",
38
+ "@radix-ui/react-slot",
39
+ "@tailwindcss/cli",
40
+ "@tailwindcss/postcss",
41
+ "@tailwindcss/typography",
42
+ "@types/hast",
43
+ "@types/mdx",
44
+ "@types/node",
45
+ "@types/nprogress",
46
+ "@types/react",
47
+ "@types/react-dom",
48
+ "@typescript-eslint/parser",
49
+ "@windrun-huaiin/backend-core",
50
+ "@windrun-huaiin/base-ui",
51
+ "@windrun-huaiin/dev-scripts",
52
+ "@windrun-huaiin/lib",
53
+ "@windrun-huaiin/third-ui",
54
+ "autoprefixer",
55
+ "baseline-browser-mapping",
56
+ "class-variance-authority",
57
+ "clsx",
58
+ "date-fns",
59
+ "eslint",
60
+ "eslint-config-next",
61
+ "eslint-plugin-unused-imports",
62
+ "fast-glob",
63
+ "fumadocs-core",
64
+ "fumadocs-docgen",
65
+ "fumadocs-mdx",
66
+ "fumadocs-typescript",
67
+ "fumadocs-ui",
68
+ "katex",
69
+ "lucide-react",
70
+ "mermaid",
71
+ "next",
72
+ "next-intl",
73
+ "next-themes",
74
+ "nprogress",
75
+ "postcss",
76
+ "prisma",
77
+ "react",
78
+ "react-dom",
79
+ "react-medium-image-zoom",
80
+ "rehype-katex",
81
+ "remark",
82
+ "remark-frontmatter",
83
+ "remark-gfm",
84
+ "remark-math",
85
+ "remark-mdx",
86
+ "shiki",
87
+ "stripe",
88
+ "svix",
89
+ "swiper",
90
+ "tailwind-merge",
91
+ "tailwindcss",
92
+ "tailwindcss-animate",
93
+ "ts-morph",
94
+ "ts-node",
95
+ "typescript",
96
+ "unist-util-visit",
97
+ "uuid",
98
+ "zod"
99
+ ],
27
100
  compactLog: true
28
101
  },
29
102
  architectureConfig: {
@@ -21,7 +21,80 @@ const DEFAULT_CONFIG = {
21
21
  },
22
22
  diaomaoUpdate: {
23
23
  sourceUrl: 'https://raw.githubusercontent.com/caofanCPU/next-ai-build/main/pnpm-workspace.yaml',
24
- allowedPackages: [],
24
+ "allowedPackages": [
25
+ "@changesets/cli",
26
+ "@clerk/localizations",
27
+ "@clerk/nextjs",
28
+ "@clerk/shared",
29
+ "@clerk/themes",
30
+ "@fingerprintjs/fingerprintjs",
31
+ "@hookform/resolvers",
32
+ "@prisma/client",
33
+ "@radix-ui/react-alert-dialog",
34
+ "@radix-ui/react-dropdown-menu",
35
+ "@radix-ui/react-label",
36
+ "@radix-ui/react-slot",
37
+ "@tailwindcss/cli",
38
+ "@tailwindcss/postcss",
39
+ "@tailwindcss/typography",
40
+ "@types/hast",
41
+ "@types/mdx",
42
+ "@types/node",
43
+ "@types/nprogress",
44
+ "@types/react",
45
+ "@types/react-dom",
46
+ "@typescript-eslint/parser",
47
+ "@windrun-huaiin/backend-core",
48
+ "@windrun-huaiin/base-ui",
49
+ "@windrun-huaiin/dev-scripts",
50
+ "@windrun-huaiin/lib",
51
+ "@windrun-huaiin/third-ui",
52
+ "autoprefixer",
53
+ "baseline-browser-mapping",
54
+ "class-variance-authority",
55
+ "clsx",
56
+ "date-fns",
57
+ "eslint",
58
+ "eslint-config-next",
59
+ "eslint-plugin-unused-imports",
60
+ "fast-glob",
61
+ "fumadocs-core",
62
+ "fumadocs-docgen",
63
+ "fumadocs-mdx",
64
+ "fumadocs-typescript",
65
+ "fumadocs-ui",
66
+ "katex",
67
+ "lucide-react",
68
+ "mermaid",
69
+ "next",
70
+ "next-intl",
71
+ "next-themes",
72
+ "nprogress",
73
+ "postcss",
74
+ "prisma",
75
+ "react",
76
+ "react-dom",
77
+ "react-medium-image-zoom",
78
+ "rehype-katex",
79
+ "remark",
80
+ "remark-frontmatter",
81
+ "remark-gfm",
82
+ "remark-math",
83
+ "remark-mdx",
84
+ "shiki",
85
+ "stripe",
86
+ "svix",
87
+ "swiper",
88
+ "tailwind-merge",
89
+ "tailwindcss",
90
+ "tailwindcss-animate",
91
+ "ts-morph",
92
+ "ts-node",
93
+ "typescript",
94
+ "unist-util-visit",
95
+ "uuid",
96
+ "zod"
97
+ ],
25
98
  compactLog: true
26
99
  },
27
100
  architectureConfig: {
@@ -0,0 +1,103 @@
1
+ {
2
+ "i18n": {
3
+ "locales": ["en", "zh", "ja"],
4
+ "defaultLocale": "en",
5
+ "messageRoot": "messages"
6
+ },
7
+ "scan": {
8
+ "include": ["src/**/*.{tsx,ts,jsx,js}"],
9
+ "exclude": ["src/**/*.test.ts", "src/**/*.d.ts", "node_modules/**"]
10
+ },
11
+ "blog": {
12
+ "mdxDir": "src/mdx/blog",
13
+ "outputFile": "index.mdx",
14
+ "metaFile": "meta.json",
15
+ "iocSlug": "ioc",
16
+ "prefix": "blog"
17
+ },
18
+ "output": {
19
+ "logDir": "scripts",
20
+ "verbose": false
21
+ },
22
+ "diaomaoUpdate": {
23
+ "sourceUrl": "https://raw.githubusercontent.com/caofanCPU/next-ai-build/main/pnpm-workspace.yaml",
24
+ "allowedPackages": [
25
+ "@changesets/cli",
26
+ "@clerk/localizations",
27
+ "@clerk/nextjs",
28
+ "@clerk/shared",
29
+ "@clerk/themes",
30
+ "@fingerprintjs/fingerprintjs",
31
+ "@hookform/resolvers",
32
+ "@prisma/client",
33
+ "@radix-ui/react-alert-dialog",
34
+ "@radix-ui/react-dropdown-menu",
35
+ "@radix-ui/react-label",
36
+ "@radix-ui/react-slot",
37
+ "@tailwindcss/cli",
38
+ "@tailwindcss/postcss",
39
+ "@tailwindcss/typography",
40
+ "@types/hast",
41
+ "@types/mdx",
42
+ "@types/node",
43
+ "@types/nprogress",
44
+ "@types/react",
45
+ "@types/react-dom",
46
+ "@typescript-eslint/parser",
47
+ "@windrun-huaiin/backend-core",
48
+ "@windrun-huaiin/base-ui",
49
+ "@windrun-huaiin/dev-scripts",
50
+ "@windrun-huaiin/lib",
51
+ "@windrun-huaiin/third-ui",
52
+ "autoprefixer",
53
+ "baseline-browser-mapping",
54
+ "class-variance-authority",
55
+ "clsx",
56
+ "date-fns",
57
+ "eslint",
58
+ "eslint-config-next",
59
+ "eslint-plugin-unused-imports",
60
+ "fast-glob",
61
+ "fumadocs-core",
62
+ "fumadocs-docgen",
63
+ "fumadocs-mdx",
64
+ "fumadocs-typescript",
65
+ "fumadocs-ui",
66
+ "katex",
67
+ "lucide-react",
68
+ "mermaid",
69
+ "next",
70
+ "next-intl",
71
+ "next-themes",
72
+ "nprogress",
73
+ "postcss",
74
+ "prisma",
75
+ "react",
76
+ "react-dom",
77
+ "react-medium-image-zoom",
78
+ "rehype-katex",
79
+ "remark",
80
+ "remark-frontmatter",
81
+ "remark-gfm",
82
+ "remark-math",
83
+ "remark-mdx",
84
+ "shiki",
85
+ "stripe",
86
+ "svix",
87
+ "swiper",
88
+ "tailwind-merge",
89
+ "tailwindcss",
90
+ "tailwindcss-animate",
91
+ "ts-morph",
92
+ "ts-node",
93
+ "typescript",
94
+ "unist-util-visit",
95
+ "uuid",
96
+ "zod"
97
+ ],
98
+ "compactLog": true
99
+ },
100
+ "architectureConfig": {
101
+ ".": "RootProject"
102
+ }
103
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@windrun-huaiin/dev-scripts",
3
- "version": "14.1.1",
3
+ "version": "14.1.3",
4
4
  "description": "Development scripts for multilingual projects",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -26,6 +26,7 @@
26
26
  "dist",
27
27
  "bin",
28
28
  "package.json",
29
+ "example.config.json",
29
30
  "README.md",
30
31
  "LICENSE"
31
32
  ],