@seayoo-web/scripts 1.0.6 → 1.1.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/node.cjs ADDED
@@ -0,0 +1,278 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const fs = require("fs");
4
+ require("colors");
5
+ const path = require("path");
6
+ const commander = require("commander");
7
+ const fs$1 = require("fs-extra");
8
+ const inquirer = require("inquirer");
9
+ const ora = require("ora");
10
+ const git = require("./git-6CgysH-T.cjs");
11
+ const commitRE = /^(?:revert: )?(?:feat|fix|docs|style|refactor|test|chore|debug|tweak|improve)(?:\(.+\))?: .{1,100}/;
12
+ function checkCommit() {
13
+ const msgPath = process.argv[2];
14
+ const msg = fs.readFileSync(msgPath, "utf-8").trim();
15
+ if (!commitRE.test(msg) && !msg.startsWith("Merge branch")) {
16
+ console.error(`ERROR!【提交的 Commit 信息格式错误,请注意使用正确的类型前缀!】`.red);
17
+ process.exit(1);
18
+ }
19
+ }
20
+ const program$1 = new commander.Command();
21
+ program$1.version("1.0.0").argument("<target>");
22
+ function runCreateScript() {
23
+ program$1.parse(process.argv);
24
+ }
25
+ async function initRepoQuestions$1() {
26
+ const projects = await git.getProjects();
27
+ const templates = await git.getTemplates();
28
+ return [
29
+ {
30
+ type: "list",
31
+ name: "project",
32
+ message: "选择项目:",
33
+ choices: projects.map((project) => ({
34
+ name: `${project.id} ${project.name}`,
35
+ short: project.id,
36
+ value: project.id
37
+ }))
38
+ },
39
+ {
40
+ type: "list",
41
+ name: "template",
42
+ message: "选择模板:",
43
+ choices: templates.map((template) => ({
44
+ name: `${template.id} ${template.desc}`,
45
+ short: template.id,
46
+ value: template.id
47
+ }))
48
+ },
49
+ {
50
+ type: "input",
51
+ name: "repoName",
52
+ message: "仓库名称:",
53
+ validate: (input) => {
54
+ if (/^[a-z0-9-]+$/.test(input)) return true;
55
+ return "仓库名称只能包含小写字母、数字和中横线";
56
+ }
57
+ },
58
+ {
59
+ type: "input",
60
+ name: "description",
61
+ message: "仓库描述:",
62
+ default: ""
63
+ }
64
+ ];
65
+ }
66
+ async function initProjectQuestions$1() {
67
+ const projects = (await git.getProjects(true)).map((project) => project.id);
68
+ return [
69
+ {
70
+ type: "input",
71
+ name: "project",
72
+ message: "项目 ID:",
73
+ validate: (input) => {
74
+ if (!/^[a-zA-Z0-9-_]+$/.test(input)) {
75
+ return "项目名称只能包含字母、数字、下划线和横线";
76
+ }
77
+ if (projects.includes(input)) {
78
+ return "项目已经存在,请检查";
79
+ }
80
+ return true;
81
+ }
82
+ },
83
+ {
84
+ type: "input",
85
+ name: "name",
86
+ message: "中文名称:",
87
+ validate: (input) => {
88
+ if (!input) {
89
+ return "中文名称不能为空";
90
+ }
91
+ return true;
92
+ }
93
+ }
94
+ ];
95
+ }
96
+ async function updatePackageFiles(targetDir, answers) {
97
+ await Promise.all([
98
+ // 初始化 package.json
99
+ updatePackageJson(targetDir, answers),
100
+ // 初始化样例文件
101
+ initSampleFiles(targetDir)
102
+ ]);
103
+ }
104
+ async function updatePackageJson(targetDir, answers) {
105
+ const pkgPath = path.join(targetDir, "package.json");
106
+ if (await fs$1.pathExists(pkgPath)) {
107
+ const pkg = await fs$1.readJson(pkgPath);
108
+ pkg.name = `@${answers.project}/${answers.repoName}`;
109
+ pkg.description = answers.description || pkg.description;
110
+ pkg.version = "1.0.0";
111
+ await fs$1.writeJson(pkgPath, pkg, { spaces: 2 });
112
+ }
113
+ }
114
+ async function initSampleFiles(targetDir) {
115
+ const items = await fs$1.readdir(targetDir);
116
+ const files = items.filter(
117
+ (item) => !fs$1.statSync(path.join(targetDir, item)).isDirectory() && item.endsWith(".sample")
118
+ );
119
+ for (const filename of files) {
120
+ const sample = path.join(targetDir, filename);
121
+ if (await fs$1.pathExists(sample)) {
122
+ await fs$1.writeFile(path.join(targetDir, filename.replace(/\.sample$/, "")), await fs$1.readFile(sample));
123
+ fs$1.unlink(sample);
124
+ }
125
+ }
126
+ }
127
+ async function startCreateJob$1(target) {
128
+ if (target === "project") {
129
+ await createProject();
130
+ } else {
131
+ await createRepo();
132
+ }
133
+ }
134
+ async function createProject() {
135
+ const questions = await initProjectQuestions$1();
136
+ const answers = await inquirer.prompt(questions);
137
+ const spinner = ora("正在创建项目...").start();
138
+ const projectDir = path.join(git.root, answers.project);
139
+ await fs$1.mkdir(projectDir);
140
+ await fs$1.writeFile(path.join(projectDir, ".name"), answers.name);
141
+ await git.addProjectToWorkspace(answers.project);
142
+ spinner.succeed("项目创建成功!".green);
143
+ }
144
+ async function createRepo() {
145
+ const questions = await initRepoQuestions$1();
146
+ const answers = await inquirer.prompt(questions);
147
+ const spinner = ora("正在创建仓库...").start();
148
+ const projectDir = path.join(git.root, answers.project);
149
+ spinner.text = "检查目录...";
150
+ if (!await fs$1.pathExists(projectDir)) {
151
+ fs$1.mkdirSync(projectDir, { recursive: true });
152
+ }
153
+ const targetDir = path.join(git.root, answers.project, answers.repoName);
154
+ if (await fs$1.pathExists(targetDir)) {
155
+ spinner.fail(`错误:目录(${`${answers.project}/${answers.repoName}`})已存在`.red);
156
+ process.exit(1);
157
+ }
158
+ spinner.text = "复制模板文件...";
159
+ await git.copyTemplate(answers.template, targetDir);
160
+ spinner.text = "更新 package.json...";
161
+ await updatePackageFiles(targetDir, answers);
162
+ spinner.succeed("仓库创建成功!".green);
163
+ console.log("\n接下来你可以:");
164
+ console.log(`cd ${answers.project}/${answers.repoName}`.cyan);
165
+ console.log("pnpm i".cyan);
166
+ console.log("pnpm dev".cyan);
167
+ }
168
+ program$1.action(startCreateJob$1);
169
+ const program = new commander.Command();
170
+ program.version("1.0.0").argument("<target>");
171
+ function runDestoryScript() {
172
+ program.parse(process.argv);
173
+ }
174
+ async function startCreateJob(target) {
175
+ if (target === "project") {
176
+ await destroyProject();
177
+ } else {
178
+ await destroyRepo();
179
+ }
180
+ }
181
+ async function initProjectQuestions() {
182
+ const projects = await git.getProjects();
183
+ return [
184
+ {
185
+ type: "list",
186
+ name: "project",
187
+ message: "删除项目:",
188
+ choices: projects.map((project) => ({
189
+ name: `${project.id} ${project.name}`,
190
+ short: project.id,
191
+ value: project.id
192
+ }))
193
+ },
194
+ {
195
+ type: "confirm",
196
+ name: "confirm",
197
+ message: function(answers) {
198
+ return `确认删除整个 ${answers.project} 项目 ?`;
199
+ }
200
+ }
201
+ ];
202
+ }
203
+ async function destroyProject() {
204
+ await git.checkGitStatusBeforeDestory();
205
+ const questions = await initProjectQuestions();
206
+ const answers = await inquirer.prompt(questions);
207
+ if (!answers.confirm) {
208
+ process.exit(0);
209
+ }
210
+ const spinner = ora("正在创建 Backup Tag...").start();
211
+ await git.createBackupTag("project", answers.project);
212
+ spinner.text = "开始清理文件...";
213
+ const projectDir = path.join(git.root, answers.project);
214
+ await fs$1.removeSync(projectDir);
215
+ spinner.text = "调整配置文件...";
216
+ await git.removeProjectFromWorkspace(answers.project);
217
+ spinner.text = "提交代码中...";
218
+ await git.submitAllDeletionChanges(`chore: destory project ${answers.project}`);
219
+ spinner.succeed("项目已经销毁!".green);
220
+ }
221
+ async function initRepoQuestions() {
222
+ const projects = await git.getProjects();
223
+ return [
224
+ {
225
+ type: "list",
226
+ name: "project",
227
+ message: "所在项目:",
228
+ choices: projects.map((project) => ({
229
+ name: `${project.id} ${project.name}`,
230
+ short: project.id,
231
+ value: project.id
232
+ }))
233
+ },
234
+ {
235
+ type: "list",
236
+ name: "page",
237
+ message: "删除页面:",
238
+ choices: async function(answers) {
239
+ const repos = await git.getRepos(answers.project);
240
+ if (repos.length === 0) {
241
+ throw new Error("工程不含有任意有效 Repo!操作中止");
242
+ }
243
+ return repos.map((repo) => ({
244
+ name: `${repo.id} ${repo.desc || ""}`,
245
+ short: repo.id,
246
+ value: repo.id
247
+ }));
248
+ }
249
+ },
250
+ {
251
+ type: "confirm",
252
+ name: "confirm",
253
+ message: async function(answers) {
254
+ return `确认删除页面 ${answers.project}/${answers.page} ?`;
255
+ }
256
+ }
257
+ ];
258
+ }
259
+ async function destroyRepo() {
260
+ await git.checkGitStatusBeforeDestory();
261
+ const questions = await initRepoQuestions();
262
+ const answers = await inquirer.prompt(questions);
263
+ if (!answers.confirm) {
264
+ process.exit(0);
265
+ }
266
+ const spinner = ora("正在创建 Backup Tag...").start();
267
+ await git.createBackupTag("page", `${answers.project}/${answers.page}`);
268
+ spinner.text = "开始清理文件...";
269
+ const pageDir = path.join(git.root, answers.project, answers.page);
270
+ await fs$1.removeSync(pageDir);
271
+ spinner.text = "提交代码中...";
272
+ await git.submitAllDeletionChanges(`chore: destory page ${answers.project}/${answers.page}`);
273
+ spinner.succeed("页面已经销毁!".green);
274
+ }
275
+ program.action(startCreateJob);
276
+ exports.checkCommit = checkCommit;
277
+ exports.runCreateScript = runCreateScript;
278
+ exports.runDestoryScript = runDestoryScript;
@@ -0,0 +1,278 @@
1
+ import { readFileSync } from "fs";
2
+ import "colors";
3
+ import path from "path";
4
+ import { Command } from "commander";
5
+ import fs from "fs-extra";
6
+ import inquirer from "inquirer";
7
+ import ora from "ora";
8
+ import { r as root, b as addProjectToWorkspace, d as copyTemplate, e as getProjects, f as getTemplates, h as checkGitStatusBeforeDestory, i as createBackupTag, j as removeProjectFromWorkspace, s as submitAllDeletionChanges, k as getRepos } from "./git-DqZLg6mx.js";
9
+ const commitRE = /^(?:revert: )?(?:feat|fix|docs|style|refactor|test|chore|debug|tweak|improve)(?:\(.+\))?: .{1,100}/;
10
+ function checkCommit() {
11
+ const msgPath = process.argv[2];
12
+ const msg = readFileSync(msgPath, "utf-8").trim();
13
+ if (!commitRE.test(msg) && !msg.startsWith("Merge branch")) {
14
+ console.error(`ERROR!【提交的 Commit 信息格式错误,请注意使用正确的类型前缀!】`.red);
15
+ process.exit(1);
16
+ }
17
+ }
18
+ const program$1 = new Command();
19
+ program$1.version("1.0.0").argument("<target>");
20
+ function runCreateScript() {
21
+ program$1.parse(process.argv);
22
+ }
23
+ async function initRepoQuestions$1() {
24
+ const projects = await getProjects();
25
+ const templates = await getTemplates();
26
+ return [
27
+ {
28
+ type: "list",
29
+ name: "project",
30
+ message: "选择项目:",
31
+ choices: projects.map((project) => ({
32
+ name: `${project.id} ${project.name}`,
33
+ short: project.id,
34
+ value: project.id
35
+ }))
36
+ },
37
+ {
38
+ type: "list",
39
+ name: "template",
40
+ message: "选择模板:",
41
+ choices: templates.map((template) => ({
42
+ name: `${template.id} ${template.desc}`,
43
+ short: template.id,
44
+ value: template.id
45
+ }))
46
+ },
47
+ {
48
+ type: "input",
49
+ name: "repoName",
50
+ message: "仓库名称:",
51
+ validate: (input) => {
52
+ if (/^[a-z0-9-]+$/.test(input)) return true;
53
+ return "仓库名称只能包含小写字母、数字和中横线";
54
+ }
55
+ },
56
+ {
57
+ type: "input",
58
+ name: "description",
59
+ message: "仓库描述:",
60
+ default: ""
61
+ }
62
+ ];
63
+ }
64
+ async function initProjectQuestions$1() {
65
+ const projects = (await getProjects(true)).map((project) => project.id);
66
+ return [
67
+ {
68
+ type: "input",
69
+ name: "project",
70
+ message: "项目 ID:",
71
+ validate: (input) => {
72
+ if (!/^[a-zA-Z0-9-_]+$/.test(input)) {
73
+ return "项目名称只能包含字母、数字、下划线和横线";
74
+ }
75
+ if (projects.includes(input)) {
76
+ return "项目已经存在,请检查";
77
+ }
78
+ return true;
79
+ }
80
+ },
81
+ {
82
+ type: "input",
83
+ name: "name",
84
+ message: "中文名称:",
85
+ validate: (input) => {
86
+ if (!input) {
87
+ return "中文名称不能为空";
88
+ }
89
+ return true;
90
+ }
91
+ }
92
+ ];
93
+ }
94
+ async function updatePackageFiles(targetDir, answers) {
95
+ await Promise.all([
96
+ // 初始化 package.json
97
+ updatePackageJson(targetDir, answers),
98
+ // 初始化样例文件
99
+ initSampleFiles(targetDir)
100
+ ]);
101
+ }
102
+ async function updatePackageJson(targetDir, answers) {
103
+ const pkgPath = path.join(targetDir, "package.json");
104
+ if (await fs.pathExists(pkgPath)) {
105
+ const pkg = await fs.readJson(pkgPath);
106
+ pkg.name = `@${answers.project}/${answers.repoName}`;
107
+ pkg.description = answers.description || pkg.description;
108
+ pkg.version = "1.0.0";
109
+ await fs.writeJson(pkgPath, pkg, { spaces: 2 });
110
+ }
111
+ }
112
+ async function initSampleFiles(targetDir) {
113
+ const items = await fs.readdir(targetDir);
114
+ const files = items.filter(
115
+ (item) => !fs.statSync(path.join(targetDir, item)).isDirectory() && item.endsWith(".sample")
116
+ );
117
+ for (const filename of files) {
118
+ const sample = path.join(targetDir, filename);
119
+ if (await fs.pathExists(sample)) {
120
+ await fs.writeFile(path.join(targetDir, filename.replace(/\.sample$/, "")), await fs.readFile(sample));
121
+ fs.unlink(sample);
122
+ }
123
+ }
124
+ }
125
+ async function startCreateJob$1(target) {
126
+ if (target === "project") {
127
+ await createProject();
128
+ } else {
129
+ await createRepo();
130
+ }
131
+ }
132
+ async function createProject() {
133
+ const questions = await initProjectQuestions$1();
134
+ const answers = await inquirer.prompt(questions);
135
+ const spinner = ora("正在创建项目...").start();
136
+ const projectDir = path.join(root, answers.project);
137
+ await fs.mkdir(projectDir);
138
+ await fs.writeFile(path.join(projectDir, ".name"), answers.name);
139
+ await addProjectToWorkspace(answers.project);
140
+ spinner.succeed("项目创建成功!".green);
141
+ }
142
+ async function createRepo() {
143
+ const questions = await initRepoQuestions$1();
144
+ const answers = await inquirer.prompt(questions);
145
+ const spinner = ora("正在创建仓库...").start();
146
+ const projectDir = path.join(root, answers.project);
147
+ spinner.text = "检查目录...";
148
+ if (!await fs.pathExists(projectDir)) {
149
+ fs.mkdirSync(projectDir, { recursive: true });
150
+ }
151
+ const targetDir = path.join(root, answers.project, answers.repoName);
152
+ if (await fs.pathExists(targetDir)) {
153
+ spinner.fail(`错误:目录(${`${answers.project}/${answers.repoName}`})已存在`.red);
154
+ process.exit(1);
155
+ }
156
+ spinner.text = "复制模板文件...";
157
+ await copyTemplate(answers.template, targetDir);
158
+ spinner.text = "更新 package.json...";
159
+ await updatePackageFiles(targetDir, answers);
160
+ spinner.succeed("仓库创建成功!".green);
161
+ console.log("\n接下来你可以:");
162
+ console.log(`cd ${answers.project}/${answers.repoName}`.cyan);
163
+ console.log("pnpm i".cyan);
164
+ console.log("pnpm dev".cyan);
165
+ }
166
+ program$1.action(startCreateJob$1);
167
+ const program = new Command();
168
+ program.version("1.0.0").argument("<target>");
169
+ function runDestoryScript() {
170
+ program.parse(process.argv);
171
+ }
172
+ async function startCreateJob(target) {
173
+ if (target === "project") {
174
+ await destroyProject();
175
+ } else {
176
+ await destroyRepo();
177
+ }
178
+ }
179
+ async function initProjectQuestions() {
180
+ const projects = await getProjects();
181
+ return [
182
+ {
183
+ type: "list",
184
+ name: "project",
185
+ message: "删除项目:",
186
+ choices: projects.map((project) => ({
187
+ name: `${project.id} ${project.name}`,
188
+ short: project.id,
189
+ value: project.id
190
+ }))
191
+ },
192
+ {
193
+ type: "confirm",
194
+ name: "confirm",
195
+ message: function(answers) {
196
+ return `确认删除整个 ${answers.project} 项目 ?`;
197
+ }
198
+ }
199
+ ];
200
+ }
201
+ async function destroyProject() {
202
+ await checkGitStatusBeforeDestory();
203
+ const questions = await initProjectQuestions();
204
+ const answers = await inquirer.prompt(questions);
205
+ if (!answers.confirm) {
206
+ process.exit(0);
207
+ }
208
+ const spinner = ora("正在创建 Backup Tag...").start();
209
+ await createBackupTag("project", answers.project);
210
+ spinner.text = "开始清理文件...";
211
+ const projectDir = path.join(root, answers.project);
212
+ await fs.removeSync(projectDir);
213
+ spinner.text = "调整配置文件...";
214
+ await removeProjectFromWorkspace(answers.project);
215
+ spinner.text = "提交代码中...";
216
+ await submitAllDeletionChanges(`chore: destory project ${answers.project}`);
217
+ spinner.succeed("项目已经销毁!".green);
218
+ }
219
+ async function initRepoQuestions() {
220
+ const projects = await getProjects();
221
+ return [
222
+ {
223
+ type: "list",
224
+ name: "project",
225
+ message: "所在项目:",
226
+ choices: projects.map((project) => ({
227
+ name: `${project.id} ${project.name}`,
228
+ short: project.id,
229
+ value: project.id
230
+ }))
231
+ },
232
+ {
233
+ type: "list",
234
+ name: "page",
235
+ message: "删除页面:",
236
+ choices: async function(answers) {
237
+ const repos = await getRepos(answers.project);
238
+ if (repos.length === 0) {
239
+ throw new Error("工程不含有任意有效 Repo!操作中止");
240
+ }
241
+ return repos.map((repo) => ({
242
+ name: `${repo.id} ${repo.desc || ""}`,
243
+ short: repo.id,
244
+ value: repo.id
245
+ }));
246
+ }
247
+ },
248
+ {
249
+ type: "confirm",
250
+ name: "confirm",
251
+ message: async function(answers) {
252
+ return `确认删除页面 ${answers.project}/${answers.page} ?`;
253
+ }
254
+ }
255
+ ];
256
+ }
257
+ async function destroyRepo() {
258
+ await checkGitStatusBeforeDestory();
259
+ const questions = await initRepoQuestions();
260
+ const answers = await inquirer.prompt(questions);
261
+ if (!answers.confirm) {
262
+ process.exit(0);
263
+ }
264
+ const spinner = ora("正在创建 Backup Tag...").start();
265
+ await createBackupTag("page", `${answers.project}/${answers.page}`);
266
+ spinner.text = "开始清理文件...";
267
+ const pageDir = path.join(root, answers.project, answers.page);
268
+ await fs.removeSync(pageDir);
269
+ spinner.text = "提交代码中...";
270
+ await submitAllDeletionChanges(`chore: destory page ${answers.project}/${answers.page}`);
271
+ spinner.succeed("页面已经销毁!".green);
272
+ }
273
+ program.action(startCreateJob);
274
+ export {
275
+ checkCommit,
276
+ runCreateScript,
277
+ runDestoryScript
278
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seayoo-web/scripts",
3
- "version": "1.0.6",
3
+ "version": "1.1.0",
4
4
  "description": "scripts for seayoo web monorepos",
5
5
  "type": "module",
6
6
  "source": "index.ts",
@@ -12,6 +12,18 @@
12
12
  "types",
13
13
  "README.md"
14
14
  ],
15
+ "exports": {
16
+ ".": {
17
+ "types": "./types/index.d.ts",
18
+ "import": "./dist/index.js",
19
+ "default": "./dist/index.js"
20
+ },
21
+ "./node": {
22
+ "types": "./types/node.d.ts",
23
+ "require": "./dist/node.cjs",
24
+ "default": "./dist/node.cjs"
25
+ }
26
+ },
15
27
  "engines": {
16
28
  "node": ">= 18"
17
29
  },
@@ -34,6 +46,10 @@
34
46
  "inquirer": "^12.4.2",
35
47
  "jiti": "^2.4.2",
36
48
  "ora": "^8.2.0",
49
+ "postcss-html": "^1.8.0",
50
+ "postcss-nesting": "^13.0.1",
51
+ "stylelint-config-recess-order": "^6.0.0",
52
+ "stylelint-config-standard": "^37.0.0",
37
53
  "vite-plugin-stylelint": "^6.0.0",
38
54
  "vite-plugin-vue-devtools": "^7.7.2",
39
55
  "@seayoo-web/finder": "^2.0.13"
@@ -42,8 +58,15 @@
42
58
  "@types/fs-extra": "^11.0.4",
43
59
  "@types/node": "^22.13.1",
44
60
  "@typescript-eslint/utils": "^8.25.0",
61
+ "eslint": "^9.19.0",
62
+ "postcss": "^8.5.3",
63
+ "stylelint": "^16.14.1",
45
64
  "@seayoo-web/tsconfig": "^1.0.2"
46
65
  },
66
+ "peerDependencies": {
67
+ "eslint": "^9.19.0",
68
+ "stylelint": "^16.14.1"
69
+ },
47
70
  "scripts": {
48
71
  "build": "vite build && tsc --emitDeclarationOnly",
49
72
  "prepublish": "pnpm build"
package/types/index.d.ts CHANGED
@@ -1,8 +1,7 @@
1
1
  export * from "./src/vite.lab";
2
2
  export * from "./src/vite.page";
3
- export * from "./src/env";
4
- export * from "./src/commit";
5
3
  export * from "./src/inject";
6
- export * from "./src/create";
7
- export * from "./src/destory";
4
+ export * from "./src/env";
8
5
  export * from "./src/eslint";
6
+ export * from "./src/stylelint";
7
+ export * from "./src/postcss";
@@ -0,0 +1,3 @@
1
+ export * from "./src/commit";
2
+ export * from "./src/create";
3
+ export * from "./src/destory";
@@ -0,0 +1,7 @@
1
+ import type { AcceptedPlugin } from "postcss";
2
+ /**
3
+ * postcss 配置,增加 nesting 插件支持
4
+ */
5
+ export declare const postcssConfig: {
6
+ plugins: AcceptedPlugin[];
7
+ };
@@ -0,0 +1,11 @@
1
+ /**
2
+ * 默认的 stylelint 配置
3
+ */
4
+ export declare const stylelintConfig: {
5
+ extends: string[];
6
+ overrides: {
7
+ files: string[];
8
+ customSyntax: string;
9
+ }[];
10
+ rules: {};
11
+ };
@@ -1,9 +1,9 @@
1
1
  interface LibBuildOption {
2
- /** 输出目录,默认为 "bin" */
2
+ /** 输出目录,默认为 "dist" */
3
3
  outDir?: string;
4
4
  /** 入口文件,默认为 "index.ts" */
5
5
  rootEntry?: string;
6
- /** 要排除的工具包 */
6
+ /** 要排除的工具包,默认排除 "@seayoo-web/request" 和 "@seayoo-web/utils" */
7
7
  external?: string[];
8
8
  }
9
9
  /**