@ghini/xstart 25.11.28033518 → 25.12.10042414
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/.clinerules +2 -0
- package/README.md +51 -6
- package/build.js +11 -6
- package/package.json +8 -7
- package/src/index.ts +2 -0
- package/src/start.ts +6 -0
- package/test/0.js +1 -1
- package/tsconfig.json +24 -0
- package/dev/lib/index.js +0 -1
- package/dev/lib/start.js +0 -3
- package/dev/main.d.ts +0 -3
- package/dev/main.js +0 -5
- package/dist/lib/index.js +0 -1
- package/dist/lib/start.js +0 -3
- package/dist/main.d.ts +0 -3
- package/dist/main.js +0 -5
package/.clinerules
ADDED
package/README.md
CHANGED
|
@@ -1,15 +1,60 @@
|
|
|
1
|
-
# 一个标准
|
|
1
|
+
# 一个标准 TypeScript 2025 的 npm 库脚手架
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## 🎯 特性
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
- ✅ **TypeScript 5.7+** - 使用最新的 TypeScript 配置
|
|
6
|
+
- ✅ **严格类型检查** - 启用 `strict` 模式,确保类型安全
|
|
7
|
+
- ✅ **现代 ESM** - 原生 ES Module 支持
|
|
8
|
+
- ✅ **自动类型生成** - 自动生成 `.d.ts` 类型声明文件
|
|
9
|
+
- ✅ **Source Map** - 完整的源码映射支持
|
|
10
|
+
|
|
11
|
+
## 📁 目录结构
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
src/ # TypeScript 源码
|
|
15
|
+
├── main.ts
|
|
16
|
+
└── lib/
|
|
17
|
+
├── index.ts
|
|
18
|
+
└── start.ts
|
|
19
|
+
|
|
20
|
+
dist/ # 编译产物(发布到 npm)
|
|
21
|
+
├── main.js
|
|
22
|
+
├── main.d.ts
|
|
23
|
+
└── lib/...
|
|
24
|
+
|
|
25
|
+
dev/ # 开发测试副本(与 dist 相同)
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## 🚀 使用方法
|
|
29
|
+
|
|
30
|
+
### 开发
|
|
31
|
+
```bash
|
|
32
|
+
npm run type-check # 类型检查(不生成文件)
|
|
33
|
+
npm run build # 编译 TypeScript + 打包 + 更新版本号
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### 发布
|
|
37
|
+
```bash
|
|
38
|
+
npm run pub # 构建 + 发布到 npm + 提交 git
|
|
6
39
|
```
|
|
40
|
+
|
|
41
|
+
## 🔧 TypeScript 配置亮点
|
|
42
|
+
|
|
43
|
+
- `moduleResolution: "bundler"` - 2025 最新模块解析策略
|
|
44
|
+
- `verbatimModuleSyntax: true` - 严格 ESM 语法
|
|
45
|
+
- `strict: true` - 全部严格类型检查
|
|
46
|
+
- `declaration: true` - 自动生成类型声明
|
|
47
|
+
|
|
48
|
+
## 📦 创建新库
|
|
49
|
+
|
|
50
|
+
全文件替换 `xstart` 为新库名:
|
|
51
|
+
```bash
|
|
7
52
|
Remove-Item -Recurse -Force .git
|
|
8
53
|
git init
|
|
9
54
|
git add .
|
|
10
55
|
git commit -m "Initial commit"
|
|
11
|
-
git branch -M
|
|
12
|
-
git remote add origin
|
|
13
|
-
git push -u origin
|
|
56
|
+
git branch -M xstart
|
|
57
|
+
git remote add origin git@github.com:xghini/mynpm.git
|
|
58
|
+
git push -u origin xstart
|
|
14
59
|
npm run pub
|
|
15
60
|
```
|
package/build.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
// build.js
|
|
2
2
|
import fs from 'fs';
|
|
3
3
|
import path from 'path';
|
|
4
|
+
import { execSync } from 'child_process';
|
|
5
|
+
const srcDir = './src';
|
|
4
6
|
const devDir = './dev';
|
|
5
7
|
const distDir = './dist';
|
|
6
8
|
const packageJsonPath = './package.json';
|
|
@@ -54,17 +56,20 @@ function generateVersionFromDate() {
|
|
|
54
56
|
try {
|
|
55
57
|
console.log('🚀 开始执行构建流程...');
|
|
56
58
|
|
|
57
|
-
// 步骤 1: 清理旧的 'dist' 目录
|
|
59
|
+
// 步骤 1: 清理旧的 'dist' 和 'dev' 目录
|
|
58
60
|
if (fs.existsSync(distDir)) {
|
|
59
61
|
console.log(`[1/3] 正在删除旧目录: ${distDir}`);
|
|
60
|
-
// fs.rmSync 是一个现代且高效的递归删除目录的方法
|
|
61
62
|
fs.rmSync(distDir, { recursive: true, force: true });
|
|
62
63
|
}
|
|
64
|
+
if (fs.existsSync(devDir)) {
|
|
65
|
+
console.log(`[1/3] 正在删除旧目录: ${devDir}`);
|
|
66
|
+
fs.rmSync(devDir, { recursive: true, force: true });
|
|
67
|
+
}
|
|
63
68
|
|
|
64
|
-
// 步骤 2:
|
|
65
|
-
console.log(`[2/3]
|
|
66
|
-
|
|
67
|
-
console.log('
|
|
69
|
+
// 步骤 2: 运行 TypeScript 编译
|
|
70
|
+
console.log(`[2/3] 正在编译 TypeScript...`);
|
|
71
|
+
execSync('npx tsc', { stdio: 'inherit' });
|
|
72
|
+
console.log('...TypeScript 编译完成。');
|
|
68
73
|
|
|
69
74
|
// 步骤 3: 更新 package.json 中的版本号
|
|
70
75
|
console.log(`[3/3] 正在更新 ${packageJsonPath} 中的版本号...`);
|
package/package.json
CHANGED
|
@@ -1,19 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ghini/xstart",
|
|
3
|
-
"version": "25.
|
|
3
|
+
"version": "25.12.10042414",
|
|
4
4
|
"scripts": {
|
|
5
|
+
"type-check": "tsc --noEmit",
|
|
5
6
|
"build": "node ./build.js",
|
|
6
7
|
"pub": "npm run build && npm publish && git add . && git commit -m 'update' && git push",
|
|
7
8
|
"update": "npm cache clean --force&&npm update"
|
|
8
9
|
},
|
|
9
10
|
"exports": {
|
|
10
11
|
".": {
|
|
11
|
-
"import": "./dist/
|
|
12
|
-
"types": "./dist/
|
|
13
|
-
},
|
|
14
|
-
"./dev": {
|
|
15
|
-
"import": "./dev/main.js",
|
|
16
|
-
"types": "./dev/main.d.ts"
|
|
12
|
+
"import": "./dist/index.js",
|
|
13
|
+
"types": "./dist/index.d.ts"
|
|
17
14
|
}
|
|
18
15
|
},
|
|
19
16
|
"type": "module",
|
|
@@ -21,5 +18,9 @@
|
|
|
21
18
|
"license": "MIT",
|
|
22
19
|
"publishConfig": {
|
|
23
20
|
"access": "public"
|
|
21
|
+
},
|
|
22
|
+
"devDependencies": {
|
|
23
|
+
"@types/node": "^24.10.2",
|
|
24
|
+
"typescript": "^5.9.3"
|
|
24
25
|
}
|
|
25
26
|
}
|
package/src/index.ts
ADDED
package/src/start.ts
ADDED
package/test/0.js
CHANGED
package/tsconfig.json
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2022",
|
|
4
|
+
"module": "ESNext",
|
|
5
|
+
"moduleResolution": "bundler",
|
|
6
|
+
"verbatimModuleSyntax": true,
|
|
7
|
+
"lib": ["ES2022"],
|
|
8
|
+
"types": ["node"],
|
|
9
|
+
"declaration": true,
|
|
10
|
+
"declarationMap": true,
|
|
11
|
+
"sourceMap": true,
|
|
12
|
+
"outDir": "./dist",
|
|
13
|
+
"rootDir": "./src",
|
|
14
|
+
"strict": true,
|
|
15
|
+
"esModuleInterop": true,
|
|
16
|
+
"skipLibCheck": true,
|
|
17
|
+
"forceConsistentCasingInFileNames": true,
|
|
18
|
+
"resolveJsonModule": true,
|
|
19
|
+
"isolatedModules": true,
|
|
20
|
+
"allowSyntheticDefaultImports": true
|
|
21
|
+
},
|
|
22
|
+
"include": ["src/**/*"],
|
|
23
|
+
"exclude": ["node_modules", "dist", "dev"]
|
|
24
|
+
}
|
package/dev/lib/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./start.js";
|
package/dev/lib/start.js
DELETED
package/dev/main.d.ts
DELETED
package/dev/main.js
DELETED
package/dist/lib/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./start.js";
|
package/dist/lib/start.js
DELETED
package/dist/main.d.ts
DELETED