digi-prettier 1.0.3 → 1.0.4

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.
Files changed (3) hide show
  1. package/README.md +2 -24
  2. package/package.json +1 -1
  3. package/setup.js +3 -125
package/README.md CHANGED
@@ -8,7 +8,6 @@ Digi 团队的共享 Prettier 配置包,提供统一的代码格式化规范
8
8
  - 📝 完整的 EditorConfig 支持
9
9
  - 🔧 Git Hooks 集成
10
10
  - 🚀 一键设置脚本
11
- - 💻 VSCode 完美集成
12
11
 
13
12
  ## 安装
14
13
 
@@ -95,7 +94,7 @@ npx digi-prettier
95
94
  可选参数:
96
95
 
97
96
  ```bash
98
- npx digi-prettier --no-install --no-vscode
97
+ npx digi-prettier --no-install
99
98
  ```
100
99
 
101
100
  这会:
@@ -103,7 +102,6 @@ npx digi-prettier --no-install --no-vscode
103
102
  - 检测 Node.js 版本
104
103
  - 安装合适的 Prettier 版本
105
104
  - 配置 package.json
106
- - 设置 VSCode 配置
107
105
  - 复制必要的配置文件
108
106
 
109
107
  ## 一键设置
@@ -118,7 +116,6 @@ npx digi-prettier
118
116
 
119
117
  - 复制 `.prettierignore`、`.editorconfig`、`.lintstagedrc.json` 文件
120
118
  - 更新 `package.json` 添加格式化脚本
121
- - 创建 VSCode 设置文件
122
119
 
123
120
  ## 配置详情
124
121
 
@@ -133,7 +130,7 @@ npx digi-prettier
133
130
  "singleQuote": true,
134
131
  "quoteProps": "as-needed",
135
132
  "jsxSingleQuote": true,
136
- "trailingComma": "none",
133
+ "trailingComma": "es5",
137
134
  "bracketSpacing": true,
138
135
  "bracketSameLine": false,
139
136
  "arrowParens": "avoid",
@@ -197,19 +194,6 @@ npx husky install
197
194
  npx husky add .husky/pre-commit "npx lint-staged"
198
195
  ```
199
196
 
200
- ## VSCode 集成
201
-
202
- 自动设置脚本会创建 `.vscode/settings.json`,包含:
203
-
204
- - 保存时自动格式化
205
- - 设置 Prettier 为默认格式化工具
206
- - 统一的编辑器设置
207
-
208
- ### 推荐的 VSCode 扩展
209
-
210
- - [Prettier - Code formatter](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)
211
- - [EditorConfig for VS Code](https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig)
212
-
213
197
  ## 项目结构
214
198
 
215
199
  ```
@@ -218,8 +202,6 @@ your-project/
218
202
  ├── .prettierignore # 忽略文件
219
203
  ├── .editorconfig # 编辑器配置
220
204
  ├── .lintstagedrc.json # Git hooks 配置
221
- ├── .vscode/
222
- │ └── settings.json # VSCode 设置
223
205
  └── package.json
224
206
  ```
225
207
 
@@ -234,10 +216,6 @@ your-project/
234
216
  npm run format:check
235
217
  ```
236
218
 
237
- 2. 安装推荐的 VSCode 扩展
238
-
239
- 3. 确保编辑器设置正确
240
-
241
219
  ### 代码提交流程
242
220
 
243
221
  1. 开发完成后运行格式化检查:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "digi-prettier",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "description": "Shared Prettier configuration for Digi projects",
5
5
  "main": "index.js",
6
6
  "exports": {
package/setup.js CHANGED
@@ -6,7 +6,6 @@ const { execSync } = require('child_process');
6
6
 
7
7
  const args = process.argv.slice(2);
8
8
  const noInstall = args.includes('--no-install');
9
- const noVscode = args.includes('--no-vscode');
10
9
 
11
10
  console.log('🎨 设置 Prettier 配置...\n');
12
11
 
@@ -122,7 +121,9 @@ function updatePackageJson() {
122
121
  // 添加配置包依赖
123
122
  let configPackageVersion = '^1.0.0';
124
123
  try {
125
- const configPackageJson = JSON.parse(fs.readFileSync(path.join(__dirname, 'package.json'), 'utf8'));
124
+ const configPackageJson = JSON.parse(
125
+ fs.readFileSync(path.join(__dirname, 'package.json'), 'utf8')
126
+ );
126
127
  if (configPackageJson && configPackageJson.version) {
127
128
  configPackageVersion = `^${configPackageJson.version}`;
128
129
  }
@@ -140,117 +141,6 @@ function updatePackageJson() {
140
141
  console.log('✅ package.json 已更新');
141
142
  }
142
143
 
143
- // 创建或更新 VSCode 配置
144
- function setupVSCodeSettings() {
145
- const vscodeDir = path.join(projectRoot, '.vscode');
146
- const settingsPath = path.join(vscodeDir, 'settings.json');
147
-
148
- console.log('⚙️ 配置 VSCode 设置...');
149
-
150
- // 确保 .vscode 目录存在
151
- if (!fs.existsSync(vscodeDir)) {
152
- fs.mkdirSync(vscodeDir, { recursive: true });
153
- console.log('✅ 创建 .vscode 目录');
154
- }
155
-
156
- let settings = {};
157
-
158
- if (fs.existsSync(settingsPath)) {
159
- try {
160
- settings = JSON.parse(fs.readFileSync(settingsPath, 'utf8'));
161
- } catch (error) {
162
- console.log('⚠️ 无法解析现有的 settings.json,将创建新的');
163
- settings = {};
164
- }
165
- }
166
-
167
- // 添加增强的编辑器配置
168
- const enhancedSettings = {
169
- // 编辑器基础设置
170
- 'editor.cursorSmoothCaretAnimation': 'on',
171
- 'editor.defaultFormatter': 'esbenp.prettier-vscode',
172
- 'editor.formatOnSave': true,
173
- 'editor.formatOnPaste': true,
174
- 'editor.formatOnType': false,
175
- 'editor.tabSize': 2,
176
- 'editor.insertSpaces': true,
177
- 'editor.codeActionsOnSave': {
178
- 'source.fixAll': 'explicit',
179
- },
180
-
181
- // 文件设置
182
- 'files.eol': '\n',
183
- 'files.insertFinalNewline': true,
184
- 'files.trimTrailingWhitespace': true,
185
-
186
- // 资源管理器文件嵌套
187
- 'explorer.fileNesting.enabled': true,
188
- 'explorer.fileNesting.patterns': {
189
- 'tsconfig.json': 'tsconfig.*.json, env.d.ts',
190
- 'vite.config.*': 'jsconfig*, vitest.config.*, cypress.config.*, playwright.config.*',
191
- 'package.json': 'package-lock.json, pnpm*, .yarnrc*, yarn*, .eslint*, eslint*, .prettier*, prettier*, .editorconfig',
192
- },
193
-
194
- // Prettier 设置
195
- 'prettier.requireConfig': true,
196
- 'prettier.useEditorConfig': true,
197
-
198
- // 各种文件类型的格式化器配置
199
- '[javascript]': {
200
- 'editor.defaultFormatter': 'esbenp.prettier-vscode',
201
- },
202
- '[typescript]': {
203
- 'editor.defaultFormatter': 'esbenp.prettier-vscode',
204
- },
205
- '[vue]': {
206
- 'editor.defaultFormatter': 'esbenp.prettier-vscode',
207
- },
208
- '[json]': {
209
- 'editor.defaultFormatter': 'esbenp.prettier-vscode',
210
- },
211
- '[jsonc]': {
212
- 'editor.defaultFormatter': 'esbenp.prettier-vscode',
213
- },
214
- '[html]': {
215
- 'editor.defaultFormatter': 'esbenp.prettier-vscode',
216
- },
217
- '[css]': {
218
- 'editor.defaultFormatter': 'esbenp.prettier-vscode',
219
- },
220
- '[scss]': {
221
- 'editor.defaultFormatter': 'esbenp.prettier-vscode',
222
- },
223
- '[less]': {
224
- 'editor.defaultFormatter': 'esbenp.prettier-vscode',
225
- },
226
- '[markdown]': {
227
- 'editor.defaultFormatter': 'esbenp.prettier-vscode',
228
- },
229
- '[yaml]': {
230
- 'editor.defaultFormatter': 'esbenp.prettier-vscode',
231
- },
232
- '[yml]': {
233
- 'editor.defaultFormatter': 'esbenp.prettier-vscode',
234
- },
235
- '[dotenv]': {
236
- 'editor.defaultFormatter': 'foxundermoon.shell-format',
237
- },
238
- '[properties]': {
239
- 'editor.defaultFormatter': 'foxundermoon.shell-format',
240
- },
241
- '[ignore]': {
242
- 'editor.defaultFormatter': 'foxundermoon.shell-format',
243
- },
244
- };
245
-
246
- // 合并设置
247
- Object.assign(settings, enhancedSettings);
248
-
249
- // 写入设置文件
250
- fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + '\n');
251
- console.log('✅ VSCode 设置已更新');
252
- }
253
-
254
144
  // 安装依赖
255
145
  function installDependencies() {
256
146
  console.log('📥 安装依赖...');
@@ -304,18 +194,12 @@ function showCompletionMessage() {
304
194
  console.log(' ✅ .editorconfig');
305
195
  console.log(' ✅ .lintstagedrc.json');
306
196
  console.log(' ✅ package.json');
307
- if (!noVscode) {
308
- console.log(' ✅ .vscode/settings.json');
309
- } else {
310
- console.log(' ⏭️ .vscode/settings.json (已跳过)');
311
- }
312
197
 
313
198
  console.log('\n🚀 可用命令:');
314
199
  console.log(' npm run format - 格式化所有文件');
315
200
  console.log(' npm run format:check - 检查格式化状态');
316
201
 
317
202
  console.log('\n💡 提示:');
318
- console.log(' - 安装 VSCode 的 Prettier 扩展以获得最佳体验');
319
203
  console.log(' - 如需提交前自动检查/格式化,可结合 husky + lint-staged');
320
204
  if (noInstall) {
321
205
  console.log(' - 你选择跳过依赖安装,请自行运行 pnpm install / npm install / yarn install');
@@ -341,11 +225,6 @@ async function main() {
341
225
  updatePackageJson();
342
226
  console.log('');
343
227
 
344
- if (!noVscode) {
345
- setupVSCodeSettings();
346
- console.log('');
347
- }
348
-
349
228
  if (!noInstall) {
350
229
  installDependencies();
351
230
  console.log('');
@@ -366,7 +245,6 @@ if (require.main === module) {
366
245
  module.exports = {
367
246
  copyConfigFiles,
368
247
  updatePackageJson,
369
- setupVSCodeSettings,
370
248
  installDependencies,
371
249
  getNodeVersion,
372
250
  getRecommendedPrettierVersion,