@es-pkg/publish 1.0.8 → 1.0.10

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/cjs/index.js +130 -149
  2. package/esm/index.js +195 -212
  3. package/package.json +1 -1
package/cjs/index.js CHANGED
@@ -1,79 +1,60 @@
1
1
  'use strict';
2
2
 
3
- var __create = Object.create;
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf;
8
- var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __export = (target, all) => {
10
- for (var name in all)
11
- __defProp(target, name, { get: all[name], enumerable: true });
12
- };
13
- var __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from === "object" || typeof from === "function") {
15
- for (let key of __getOwnPropNames(from))
16
- if (!__hasOwnProp.call(to, key) && key !== except)
17
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
- }
19
- return to;
20
- };
21
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
- // If the importer is in node compatibility mode or this is not an ESM
23
- // file that has been converted to a CommonJS file using a Babel-
24
- // compatible transform (i.e. "__esModule" has not been set), then set
25
- // "default" to the CommonJS "module.exports" for node compatibility.
26
- !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
- mod
28
- ));
29
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
- var src_exports = {};
31
- __export(src_exports, {
32
- default: () => src_default
33
- });
34
- module.exports = __toCommonJS(src_exports);
35
- var import_gulp = __toESM(require("@es-pkg/gulp"));
36
- var import_chalk = __toESM(require("chalk"));
37
- var import_gulp_logger = __toESM(require("@es-pkg/gulp-logger"));
38
- var import_fs = __toESM(require("fs"));
39
- var import_path = __toESM(require("path"));
40
- var import_utils = require("@es-pkg/utils");
41
- var import_config = require("@es-pkg/config");
42
- var import_prompts = __toESM(require("prompts"));
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var gulp = require('@es-pkg/gulp');
6
+ var chalk = require('chalk');
7
+ var logger = require('@es-pkg/gulp-logger');
8
+ var fs = require('fs');
9
+ var path = require('path');
10
+ var utils = require('@es-pkg/utils');
11
+ var config = require('@es-pkg/config');
12
+ var prompts = require('prompts');
13
+
14
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
15
+
16
+ var gulp__default = /*#__PURE__*/_interopDefault(gulp);
17
+ var chalk__default = /*#__PURE__*/_interopDefault(chalk);
18
+ var logger__default = /*#__PURE__*/_interopDefault(logger);
19
+ var fs__default = /*#__PURE__*/_interopDefault(fs);
20
+ var path__default = /*#__PURE__*/_interopDefault(path);
21
+ var prompts__default = /*#__PURE__*/_interopDefault(prompts);
22
+
43
23
  const scoped = /^@[a-zA-Z0-9-]+\/.+$/;
44
- const REGISTRY = import_config.config.publishRegistry;
45
- const json = import_config.pkg;
46
- const publishDir = import_path.default.join(import_config.config.publishDir, "./__npm__");
47
- import_gulp.default.task("clean", async () => {
48
- (0, import_utils.log)(`\u6E05\u9664${publishDir}\u5F00\u59CB`);
24
+ const REGISTRY = config.config.publishRegistry;
25
+ const json = config.pkg;
26
+ const publishDir = path__default.default.join(config.config.publishDir, "./__npm__");
27
+ gulp__default.default.task("clean", async () => {
28
+ utils.log(`\u6E05\u9664${publishDir}\u5F00\u59CB`);
49
29
  try {
50
- await (0, import_utils.remove)(publishDir);
51
- (0, import_utils.log)(`\u6E05\u9664${publishDir}\u5B8C\u6210`);
30
+ await utils.remove(publishDir);
31
+ utils.log(`\u6E05\u9664${publishDir}\u5B8C\u6210`);
52
32
  } catch (e) {
53
- (0, import_utils.log)(`\u6E05\u9664${publishDir}\u5931\u8D25\uFF1A`, e);
33
+ utils.log(`\u6E05\u9664${publishDir}\u5931\u8D25\uFF1A`, e);
54
34
  }
55
35
  });
56
- import_gulp.default.task("del-cjs-iife-es", async () => {
57
- if (import_config.config.iife) {
58
- (0, import_utils.log)(`\u5220\u9664 ${import_path.default.join(`${publishDir}`, import_config.config.iife)} \u5F00\u59CB`);
59
- await (0, import_utils.remove)(`${import_path.default.join(`${publishDir}`, import_config.config.iife)}`);
60
- (0, import_utils.log)(`\u5220\u9664 ${import_path.default.join(`${publishDir}`, import_config.config.iife)} \u7ED3\u675F`);
61
- }
62
- (0, import_utils.log)(`\u5220\u9664 ${import_path.default.join(`${publishDir}`, import_config.config.cjs)} \u5F00\u59CB`);
63
- await (0, import_utils.remove)(`${import_path.default.join(`${publishDir}`, import_config.config.cjs)}`);
64
- (0, import_utils.log)(`\u5220\u9664 ${import_path.default.join(`${publishDir}`, import_config.config.cjs)} \u7ED3\u675F`);
65
- (0, import_utils.log)(`\u5220\u9664 ${import_path.default.join(`${publishDir}`, import_config.config.es)} \u5F00\u59CB`);
66
- await (0, import_utils.remove)(`${import_path.default.join(`${publishDir}`, import_config.config.es)}`);
67
- (0, import_utils.log)(`\u5220\u9664 ${import_path.default.join(`${publishDir}`, import_config.config.es)} \u7ED3\u675F`);
36
+ gulp__default.default.task("del-cjs-iife-es", async () => {
37
+ if (config.config.iife) {
38
+ utils.log(`\u5220\u9664 ${path__default.default.join(`${publishDir}`, config.config.iife)} \u5F00\u59CB`);
39
+ await utils.remove(`${path__default.default.join(`${publishDir}`, config.config.iife)}`);
40
+ utils.log(`\u5220\u9664 ${path__default.default.join(`${publishDir}`, config.config.iife)} \u7ED3\u675F`);
41
+ }
42
+ utils.log(`\u5220\u9664 ${path__default.default.join(`${publishDir}`, config.config.cjs)} \u5F00\u59CB`);
43
+ await utils.remove(`${path__default.default.join(`${publishDir}`, config.config.cjs)}`);
44
+ utils.log(`\u5220\u9664 ${path__default.default.join(`${publishDir}`, config.config.cjs)} \u7ED3\u675F`);
45
+ utils.log(`\u5220\u9664 ${path__default.default.join(`${publishDir}`, config.config.es)} \u5F00\u59CB`);
46
+ await utils.remove(`${path__default.default.join(`${publishDir}`, config.config.es)}`);
47
+ utils.log(`\u5220\u9664 ${path__default.default.join(`${publishDir}`, config.config.es)} \u7ED3\u675F`);
68
48
  });
69
- import_gulp.default.task("copy-info", (0, import_gulp.series)(async () => {
70
- (0, import_utils.log)(`\u751F\u6210 package \u5F00\u59CB`);
49
+ gulp__default.default.task("copy-info", gulp.series(async () => {
50
+ var _a;
51
+ utils.log(`\u751F\u6210 package \u5F00\u59CB`);
71
52
  let errored = false;
72
53
  let version = "";
73
54
  try {
74
- const { stdout } = await (0, import_utils.run)(`npm`, ["view", import_config.pkg.name, "version"], {
55
+ const { stdout } = await utils.run(`npm`, ["view", config.pkg.name, "version"], {
75
56
  stdio: void 0,
76
- cwd: import_path.default.join(process.cwd(), import_config.config.publishDir)
57
+ cwd: path__default.default.join(process.cwd(), config.config.publishDir)
77
58
  });
78
59
  if (stdout) {
79
60
  version = stdout;
@@ -84,20 +65,20 @@ import_gulp.default.task("copy-info", (0, import_gulp.series)(async () => {
84
65
  controller.abort();
85
66
  }, 3e3);
86
67
  const start = Date.now();
87
- const url = `https://img.shields.io/npm/v/${import_config.pkg.name}`;
88
- const response = await (0, import_utils.fetch)(url, {
68
+ const url = `https://img.shields.io/npm/v/${config.pkg.name}`;
69
+ const response = await utils.fetch(url, {
89
70
  signal: controller.signal
90
71
  }).finally(async () => {
91
- import_utils.log.warn(`\u8FDC\u7A0B\u83B7\u53D6\u7248\u672C\u82B1\u8D39\u65F6\u95F4:${Date.now() - start}`);
72
+ utils.log.warn(`\u8FDC\u7A0B\u83B7\u53D6\u7248\u672C\u82B1\u8D39\u65F6\u95F4:${Date.now() - start}`);
92
73
  });
93
74
  const htmlString = await response.text();
94
75
  const regex = /<title>npm: v([\d.]+)<\/title>/;
95
- version = htmlString.match(regex)?.[1];
76
+ version = (_a = htmlString.match(regex)) == null ? void 0 : _a[1];
96
77
  clearTimeout(timer);
97
78
  }
98
- (0, import_utils.log)(`\u8FDC\u7A0B\u83B7\u53D6\u7248\u672C\u4FE1\u606F tag:`, version);
79
+ utils.log(`\u8FDC\u7A0B\u83B7\u53D6\u7248\u672C\u4FE1\u606F tag:`, version);
99
80
  if (version) {
100
- json.version = (0, import_utils.compare)(import_config.pkg.version, version) <= 0 ? (0, import_utils.autoUpgrade)(version) : import_config.pkg.version;
81
+ json.version = utils.compare(config.pkg.version, version) <= 0 ? utils.autoUpgrade(version) : config.pkg.version;
101
82
  } else {
102
83
  errored = true;
103
84
  }
@@ -105,11 +86,11 @@ import_gulp.default.task("copy-info", (0, import_gulp.series)(async () => {
105
86
  errored = true;
106
87
  }
107
88
  if (errored) {
108
- const { version: version2 } = await (0, import_prompts.default)({
89
+ const { version: version2 } = await prompts__default.default({
109
90
  type: "text",
110
91
  name: "version",
111
92
  message: "\u8FDC\u7A0B\u83B7\u53D6\u7248\u672C\u5931\u8D25\uFF01\u8BF7\u8F93\u5165\u7248\u672C\u53F7",
112
- initial: import_config.pkg.version
93
+ initial: config.pkg.version
113
94
  });
114
95
  json.version = version2;
115
96
  }
@@ -121,133 +102,133 @@ import_gulp.default.task("copy-info", (0, import_gulp.series)(async () => {
121
102
  registry: REGISTRY
122
103
  };
123
104
  }
124
- const es = import_path.default.basename(import_config.config.es);
125
- const cjs = import_path.default.basename(import_config.config.cjs);
126
- const iife = import_config.config.iife ? import_path.default.basename(import_config.config.iife) : "";
127
- const CJSExists = import_fs.default.existsSync(import_path.default.join(`${import_config.config.publishDir}`, cjs));
128
- const ESExists = import_fs.default.existsSync(import_path.default.join(`${import_config.config.publishDir}`, es));
129
- const IIFEExists = iife ? import_fs.default.existsSync(import_path.default.join(`${import_config.config.publishDir}`, iife)) : false;
130
- const mainExists = !!json.main && import_fs.default.existsSync(import_path.default.join((0, import_config.resolveApp)(""), json.main));
131
- const browserExists = !!json.browser && import_fs.default.existsSync(import_path.default.join((0, import_config.resolveApp)(""), json.main));
132
- const moduleExists = !!json.module && import_fs.default.existsSync(import_path.default.join((0, import_config.resolveApp)(""), json.main));
133
- const _es = (0, import_config.getEntrypoint)(import_config.config.es);
134
- const _cjs = (0, import_config.getEntrypoint)(import_config.config.cjs);
135
- if (!mainExists) {
136
- if (ESExists) {
137
- json.main = _es || _cjs;
138
- }
139
- if (CJSExists) {
140
- json.main = _cjs || _es;
141
- }
142
- }
143
- if (!moduleExists && CJSExists) {
144
- json.module = _es || _cjs;
145
- }
146
- if (!browserExists && IIFEExists) {
147
- json.browser = (0, import_config.getEntrypoint)(import_config.config.iife);
105
+ const publishDir2 = config.resolveApp(config.config.publishDir);
106
+ const es = path__default.default.basename(config.config.es);
107
+ const cjs = path__default.default.basename(config.config.cjs);
108
+ const iife = config.config.iife ? path__default.default.basename(config.config.iife) : "";
109
+ const has = {
110
+ es: fs__default.default.existsSync(path__default.default.join(publishDir2, es)),
111
+ cjs: fs__default.default.existsSync(path__default.default.join(publishDir2, cjs)),
112
+ iife: iife && fs__default.default.existsSync(path__default.default.join(publishDir2, iife))
113
+ };
114
+ const entry = (base, sub = config.config.entry) => config.getPublishedEntry(base, sub);
115
+ if (has.es || has.cjs) {
116
+ json.main = entry(config.config.cjs) || entry(config.config.es);
117
+ }
118
+ if (has.es) {
119
+ json.module = entry(config.config.es);
120
+ }
121
+ if (has.iife) {
122
+ json.browser = entry(config.config.iife, "es");
148
123
  }
149
124
  if (!json.types) {
150
- const type = (0, import_config.getEntrypoint)(import_config.config.es, import_config.config.typings) || _es || _cjs;
151
- const { dir, name, ext } = import_path.default.parse(type);
152
- json.types = [".ts", ".tsx"].includes(ext) ? type : `${dir}/${name}.d.ts`;
153
- }
154
- json.files = Array.from(/* @__PURE__ */ new Set([ESExists && es, CJSExists && cjs, IIFEExists && iife])).filter(Boolean);
155
- json.dependencies = Object.fromEntries(Object.entries(json.dependencies).map(([key, value]) => {
156
- if (value.startsWith("file://") || value.startsWith("workspace:")) {
157
- return [key, "latest"];
125
+ const typeEntry = entry(config.config.es, config.config.typings) || (has.es ? entry(config.config.es) : has.cjs ? entry(config.config.cjs) : "");
126
+ if (typeEntry) {
127
+ const { dir, name, ext } = path__default.default.parse(typeEntry);
128
+ json.types = [".ts", ".tsx"].includes(ext) ? typeEntry : `${dir}/${name}.d.ts`;
158
129
  }
159
- return [key, value];
160
- }));
130
+ }
131
+ json.files = Array.from(/* @__PURE__ */ new Set([has.es && es, has.cjs && cjs, has.iife && iife])).filter(Boolean);
132
+ if (json.dependencies) {
133
+ json.dependencies = Object.fromEntries(Object.entries(json.dependencies).map(([key, value]) => {
134
+ if (value.startsWith("file://") || value.startsWith("workspace:")) {
135
+ return [key, "latest"];
136
+ }
137
+ return [key, value];
138
+ }));
139
+ }
161
140
  let jsonStr = JSON.stringify(json, null, " ");
162
- const ex = import_fs.default.existsSync(`${import_config.config.publishDir}/`);
141
+ const ex = fs__default.default.existsSync(`${config.config.publishDir}/`);
163
142
  if (!ex) {
164
- import_fs.default.mkdirSync(`${import_config.config.publishDir}/`, { recursive: true });
165
- }
166
- import_fs.default.writeFileSync(`${import_config.config.publishDir}/package.json`, jsonStr);
167
- (0, import_utils.log)(`\u751F\u6210 package\u5B8C\u6210`, import_chalk.default.green(json.version));
168
- (0, import_utils.log)(`\u751F\u6210 .npmrc \u5F00\u59CB`);
169
- import_fs.default.writeFileSync(`${import_config.config.publishDir}/.npmrc`, `registry=${REGISTRY}`);
170
- (0, import_utils.log)(`\u751F\u6210 .npmrc \u5B8C\u6210`);
171
- (0, import_utils.log)(`\u62F7\u8D1D README \u5F00\u59CB`);
143
+ fs__default.default.mkdirSync(`${config.config.publishDir}/`, { recursive: true });
144
+ }
145
+ fs__default.default.writeFileSync(`${config.config.publishDir}/package.json`, jsonStr);
146
+ utils.log(`\u751F\u6210 package\u5B8C\u6210`, chalk__default.default.green(json.version));
147
+ utils.log(`\u751F\u6210 .npmrc \u5F00\u59CB`);
148
+ fs__default.default.writeFileSync(`${config.config.publishDir}/.npmrc`, `registry=${REGISTRY}`);
149
+ utils.log(`\u751F\u6210 .npmrc \u5B8C\u6210`);
150
+ utils.log(`\u62F7\u8D1D README \u5F00\u59CB`);
172
151
  }, () => {
173
- return import_gulp.default.src([`./README.md`]).pipe((0, import_gulp_logger.default)({
152
+ return gulp__default.default.src([`./README.md`]).pipe(logger__default.default({
174
153
  before: "copy README...",
175
154
  after: "copy README complete!",
176
155
  showChange: false
177
- })).pipe(import_gulp.default.dest(`${import_config.config.publishDir}/`));
156
+ })).pipe(gulp__default.default.dest(`${config.config.publishDir}/`));
178
157
  }));
179
- import_gulp.default.task("copy-iife", (c) => {
180
- if (!import_config.config.iife) {
158
+ gulp__default.default.task("copy-iife", (c) => {
159
+ if (!config.config.iife) {
181
160
  return c();
182
161
  }
183
- (0, import_utils.log)(`\u62F7\u8D1D '/iife/**' \u5F00\u59CB`);
184
- return import_gulp.default.src([`${import_config.config.iife}/.**`, `${import_config.config.iife}/**`]).pipe((0, import_gulp_logger.default)({
162
+ utils.log(`\u62F7\u8D1D '/iife/**' \u5F00\u59CB`);
163
+ return gulp__default.default.src([`${config.config.iife}/.**`, `${config.config.iife}/**`]).pipe(logger__default.default({
185
164
  before: "copy iife...",
186
165
  after: "copy iife complete!",
187
166
  showChange: false
188
- })).pipe(import_gulp.default.dest(import_path.default.join(`${publishDir}`, import_path.default.basename(import_config.config.iife))));
167
+ })).pipe(gulp__default.default.dest(path__default.default.join(`${publishDir}`, path__default.default.basename(config.config.iife))));
189
168
  });
190
- import_gulp.default.task("copy-cjs", () => {
191
- return import_gulp.default.src([`${import_config.config.cjs}/.**`, `${import_config.config.cjs}/**`]).pipe((0, import_gulp_logger.default)({
169
+ gulp__default.default.task("copy-cjs", () => {
170
+ return gulp__default.default.src([`${config.config.cjs}/.**`, `${config.config.cjs}/**`]).pipe(logger__default.default({
192
171
  before: "copy cjs...",
193
172
  after: "copy cjs complete!",
194
173
  showChange: false
195
- })).pipe(import_gulp.default.dest(import_path.default.join(`${publishDir}`, import_path.default.basename(import_config.config.cjs))));
174
+ })).pipe(gulp__default.default.dest(path__default.default.join(`${publishDir}`, path__default.default.basename(config.config.cjs))));
196
175
  });
197
- import_gulp.default.task("copy-es", () => {
198
- return import_gulp.default.src([`${import_config.config.es}/.**`, `${import_config.config.es}/**`]).pipe((0, import_gulp_logger.default)({
176
+ gulp__default.default.task("copy-es", () => {
177
+ return gulp__default.default.src([`${config.config.es}/.**`, `${config.config.es}/**`]).pipe(logger__default.default({
199
178
  before: "copy es...",
200
179
  after: "copy es complete!",
201
180
  showChange: false
202
- })).pipe(import_gulp.default.dest(import_path.default.join(`${publishDir}`, import_path.default.basename(import_config.config.es))));
181
+ })).pipe(gulp__default.default.dest(path__default.default.join(`${publishDir}`, path__default.default.basename(config.config.es))));
203
182
  });
204
- import_gulp.default.task("remove-__npm__", (0, import_gulp.series)(() => {
183
+ gulp__default.default.task("remove-__npm__", gulp.series(() => {
205
184
  let promises = [];
206
- const includes = [import_config.config.es, import_config.config.cjs, import_config.config.iife].flatMap((val) => {
185
+ const includes = [config.config.es, config.config.cjs, config.config.iife].flatMap((val) => {
207
186
  if (!val) {
208
187
  return [];
209
188
  }
210
- const some = (0, import_config.getIncludeFiles)().some((item) => import_path.default.resolve(val).startsWith(import_path.default.resolve(item.path)));
189
+ const some = config.getIncludeFiles().some((item) => path__default.default.resolve(val).startsWith(path__default.default.resolve(item.path)));
211
190
  return some ? [] : [val];
212
191
  });
213
- promises = includes.map((item) => (0, import_utils.remove)(item));
192
+ promises = includes.map((item) => utils.remove(item));
214
193
  return Promise.all(promises);
215
194
  }, () => {
216
- return import_gulp.default.src([`${publishDir}/**`, `${publishDir}/.**`]).pipe((0, import_gulp_logger.default)({
195
+ return gulp__default.default.src([`${publishDir}/**`, `${publishDir}/.**`]).pipe(logger__default.default({
217
196
  before: "copy __npm__...",
218
197
  after: "copy __npm__ complete!",
219
198
  showChange: false
220
- })).pipe(import_gulp.default.dest(`${import_config.config.publishDir}/`));
199
+ })).pipe(gulp__default.default.dest(`${config.config.publishDir}/`));
221
200
  }, async () => {
222
- await (0, import_utils.remove)(publishDir);
201
+ await utils.remove(publishDir);
223
202
  }));
224
- import_gulp.default.task("npm-publish", async function() {
203
+ gulp__default.default.task("npm-publish", async function() {
225
204
  let publishAccess = [];
226
- if (scoped.test(import_config.pkg.name)) {
205
+ if (scoped.test(config.pkg.name)) {
227
206
  publishAccess = ["--access", "public"];
228
207
  }
229
- if (import_config.config.publishAccess) {
230
- publishAccess = import_config.config.publishAccess;
208
+ if (config.config.publishAccess) {
209
+ publishAccess = config.config.publishAccess;
231
210
  }
232
211
  try {
233
- const { stdout } = await (0, import_utils.run)(`npm`, ["whoami", "--registry", REGISTRY], { stdio: void 0 });
234
- import_utils.log.warn(`===npm\u767B\u5F55\u4FE1\u606F===>${stdout}`);
212
+ const { stdout } = await utils.run(`npm`, ["whoami", "--registry", REGISTRY], { stdio: void 0 });
213
+ utils.log.warn(`===npm\u767B\u5F55\u4FE1\u606F===>${stdout}`);
235
214
  } catch (e) {
236
- import_utils.log.warn(`===npm${REGISTRY}\u672A\u767B\u5F55\uFF01\uFF01\u8BF7\u767B\u5F55`);
237
- await (0, import_utils.run)(`npm`, ["login", "--registry", REGISTRY]);
215
+ utils.log.warn(`===npm${REGISTRY}\u672A\u767B\u5F55\uFF01\uFF01\u8BF7\u767B\u5F55`);
216
+ await utils.run(`npm`, ["login", "--registry", REGISTRY]);
238
217
  }
239
- const { confirm } = await (0, import_prompts.default)({
218
+ const { confirm } = await prompts__default.default({
240
219
  type: "confirm",
241
220
  name: "confirm",
242
221
  message: "\u662F\u5426\u53D1\u5E03\uFF1F"
243
222
  });
244
223
  if (confirm) {
245
- await (0, import_utils.run)(`npm`, ["publish", ...publishAccess, "--registry", REGISTRY], {
246
- cwd: import_path.default.join(process.cwd(), import_config.config.publishDir)
224
+ await utils.run(`npm`, ["publish", ...publishAccess, "--registry", REGISTRY], {
225
+ cwd: path__default.default.join(process.cwd(), config.config.publishDir)
247
226
  });
248
- (0, import_utils.success)(`${json.name}@${json.version}:\u53D1\u5E03\u6210\u529F\uFF01`);
227
+ utils.success(`${json.name}@${json.version}:\u53D1\u5E03\u6210\u529F\uFF01`);
249
228
  } else {
250
- (0, import_utils.error)(`${json.name}@${json.version}:\u53D6\u6D88\u6210\u529F\uFF01`);
229
+ utils.error(`${json.name}@${json.version}:\u53D6\u6D88\u6210\u529F\uFF01`);
251
230
  }
252
231
  });
253
- var src_default = import_gulp.default.series("clean", "del-cjs-iife-es", "copy-cjs", "copy-es", "copy-iife", "remove-__npm__", "copy-info", "npm-publish");
232
+ var src_default = gulp__default.default.series("clean", "del-cjs-iife-es", "copy-cjs", "copy-es", "copy-iife", "remove-__npm__", "copy-info", "npm-publish");
233
+
234
+ exports.default = src_default;
package/esm/index.js CHANGED
@@ -4,235 +4,218 @@ import logger from '@es-pkg/gulp-logger';
4
4
  import fs from 'fs';
5
5
  import path from 'path';
6
6
  import { log, remove, run, fetch, autoUpgrade, compare, success, error } from '@es-pkg/utils';
7
- import { config, pkg, resolveApp, getEntrypoint, getIncludeFiles } from '@es-pkg/config';
7
+ import { config, pkg, resolveApp, getPublishedEntry, getIncludeFiles } from '@es-pkg/config';
8
8
  import prompts from 'prompts';
9
9
 
10
10
  const scoped = /^@[a-zA-Z0-9-]+\/.+$/;
11
11
  const REGISTRY = config.publishRegistry;
12
12
  const json = pkg;
13
- const publishDir = path.join(config.publishDir, './__npm__');
14
- gulp.task('clean', async () => {
15
- log(`清除${publishDir}开始`);
16
- try {
17
- await remove(publishDir);
18
- log(`清除${publishDir}完成`);
19
- }
20
- catch (e) {
21
- log(`清除${publishDir}失败:`, e);
22
- }
13
+ const publishDir = path.join(config.publishDir, "./__npm__");
14
+ gulp.task("clean", async () => {
15
+ log(`\u6E05\u9664${publishDir}\u5F00\u59CB`);
16
+ try {
17
+ await remove(publishDir);
18
+ log(`\u6E05\u9664${publishDir}\u5B8C\u6210`);
19
+ } catch (e) {
20
+ log(`\u6E05\u9664${publishDir}\u5931\u8D25\uFF1A`, e);
21
+ }
23
22
  });
24
- gulp.task('del-cjs-iife-es', async () => {
25
- if (config.iife) {
26
- log(`删除 ${path.join(`${publishDir}`, config.iife)} 开始`);
27
- await remove(`${path.join(`${publishDir}`, config.iife)}`);
28
- log(`删除 ${path.join(`${publishDir}`, config.iife)} 结束`);
29
- }
30
- log(`删除 ${path.join(`${publishDir}`, config.cjs)} 开始`);
31
- await remove(`${path.join(`${publishDir}`, config.cjs)}`);
32
- log(`删除 ${path.join(`${publishDir}`, config.cjs)} 结束`);
33
- log(`删除 ${path.join(`${publishDir}`, config.es)} 开始`);
34
- await remove(`${path.join(`${publishDir}`, config.es)}`);
35
- log(`删除 ${path.join(`${publishDir}`, config.es)} 结束`);
23
+ gulp.task("del-cjs-iife-es", async () => {
24
+ if (config.iife) {
25
+ log(`\u5220\u9664 ${path.join(`${publishDir}`, config.iife)} \u5F00\u59CB`);
26
+ await remove(`${path.join(`${publishDir}`, config.iife)}`);
27
+ log(`\u5220\u9664 ${path.join(`${publishDir}`, config.iife)} \u7ED3\u675F`);
28
+ }
29
+ log(`\u5220\u9664 ${path.join(`${publishDir}`, config.cjs)} \u5F00\u59CB`);
30
+ await remove(`${path.join(`${publishDir}`, config.cjs)}`);
31
+ log(`\u5220\u9664 ${path.join(`${publishDir}`, config.cjs)} \u7ED3\u675F`);
32
+ log(`\u5220\u9664 ${path.join(`${publishDir}`, config.es)} \u5F00\u59CB`);
33
+ await remove(`${path.join(`${publishDir}`, config.es)}`);
34
+ log(`\u5220\u9664 ${path.join(`${publishDir}`, config.es)} \u7ED3\u675F`);
36
35
  });
37
- gulp.task('copy-info', series(async () => {
38
- log(`生成 package 开始`);
39
- let errored = false;
40
- let version = "";
41
- try {
42
- const { stdout } = await run(`npm`, ['view', pkg.name, 'version'], {
43
- stdio: undefined,
44
- cwd: path.join(process.cwd(), config.publishDir),
45
- });
46
- if (stdout) {
47
- version = stdout;
48
- }
49
- if (!version) {
50
- const controller = new AbortController();
51
- const timer = setTimeout(() => {
52
- controller.abort();
53
- }, 3000);
54
- const start = Date.now();
55
- const url = `https://img.shields.io/npm/v/${pkg.name}`;
56
- const response = await fetch(url, {
57
- signal: controller.signal
58
- }).finally(async () => {
59
- log.warn(`远程获取版本花费时间:${Date.now() - start}`);
60
- });
61
- const htmlString = await response.text();
62
- const regex = /<title>npm: v([\d.]+)<\/title>/;
63
- version = htmlString.match(regex)?.[1];
64
- clearTimeout(timer);
65
- }
66
- log(`远程获取版本信息 tag:`, version);
67
- if (version) {
68
- json.version = compare(pkg.version, version) <= 0 ? autoUpgrade(version) : pkg.version;
69
- }
70
- else {
71
- errored = true;
72
- }
73
- }
74
- catch (e) {
75
- errored = true;
76
- }
77
- if (errored) {
78
- const { version } = await prompts({
79
- type: 'text',
80
- name: 'version',
81
- message: '远程获取版本失败!请输入版本号',
82
- initial: pkg.version
83
- });
84
- json.version = version;
85
- }
86
- delete json.devDependencies;
87
- delete json.scripts;
88
- if (!json.publishConfig) {
89
- json.publishConfig = {
90
- access: "public",
91
- registry: REGISTRY
92
- };
93
- }
94
- const es = path.basename(config.es);
95
- const cjs = path.basename(config.cjs);
96
- const iife = config.iife ? path.basename(config.iife) : "";
97
- const CJSExists = fs.existsSync(path.join(`${config.publishDir}`, cjs));
98
- const ESExists = fs.existsSync(path.join(`${config.publishDir}`, es));
99
- const IIFEExists = iife ? fs.existsSync(path.join(`${config.publishDir}`, iife)) : false;
100
- const mainExists = !!json.main && fs.existsSync(path.join(resolveApp(''), json.main));
101
- const browserExists = !!json.browser && fs.existsSync(path.join(resolveApp(''), json.main));
102
- const moduleExists = !!json.module && fs.existsSync(path.join(resolveApp(''), json.main));
103
- const _es = getEntrypoint(config.es);
104
- const _cjs = getEntrypoint(config.cjs);
105
- if (!mainExists) {
106
- if (ESExists) {
107
- json.main = _es || _cjs;
108
- }
109
- if (CJSExists) {
110
- json.main = _cjs || _es;
111
- }
112
- }
113
- if (!moduleExists && CJSExists) {
114
- json.module = _es || _cjs;
115
- }
116
- if (!browserExists && IIFEExists) {
117
- json.browser = getEntrypoint(config.iife);
118
- }
119
- if (!json.types) {
120
- const type = getEntrypoint(config.es, config.typings) || _es || _cjs;
121
- const { dir, name, ext } = path.parse(type);
122
- json.types = ['.ts', '.tsx'].includes(ext) ? type : `${dir}/${name}.d.ts`;
123
- }
124
- json.files = Array.from(new Set([ESExists && es, CJSExists && cjs, IIFEExists && iife])).filter(Boolean);
36
+ gulp.task("copy-info", series(async () => {
37
+ var _a;
38
+ log(`\u751F\u6210 package \u5F00\u59CB`);
39
+ let errored = false;
40
+ let version = "";
41
+ try {
42
+ const { stdout } = await run(`npm`, ["view", pkg.name, "version"], {
43
+ stdio: void 0,
44
+ cwd: path.join(process.cwd(), config.publishDir)
45
+ });
46
+ if (stdout) {
47
+ version = stdout;
48
+ }
49
+ if (!version) {
50
+ const controller = new AbortController();
51
+ const timer = setTimeout(() => {
52
+ controller.abort();
53
+ }, 3e3);
54
+ const start = Date.now();
55
+ const url = `https://img.shields.io/npm/v/${pkg.name}`;
56
+ const response = await fetch(url, {
57
+ signal: controller.signal
58
+ }).finally(async () => {
59
+ log.warn(`\u8FDC\u7A0B\u83B7\u53D6\u7248\u672C\u82B1\u8D39\u65F6\u95F4:${Date.now() - start}`);
60
+ });
61
+ const htmlString = await response.text();
62
+ const regex = /<title>npm: v([\d.]+)<\/title>/;
63
+ version = (_a = htmlString.match(regex)) == null ? void 0 : _a[1];
64
+ clearTimeout(timer);
65
+ }
66
+ log(`\u8FDC\u7A0B\u83B7\u53D6\u7248\u672C\u4FE1\u606F tag:`, version);
67
+ if (version) {
68
+ json.version = compare(pkg.version, version) <= 0 ? autoUpgrade(version) : pkg.version;
69
+ } else {
70
+ errored = true;
71
+ }
72
+ } catch (e) {
73
+ errored = true;
74
+ }
75
+ if (errored) {
76
+ const { version: version2 } = await prompts({
77
+ type: "text",
78
+ name: "version",
79
+ message: "\u8FDC\u7A0B\u83B7\u53D6\u7248\u672C\u5931\u8D25\uFF01\u8BF7\u8F93\u5165\u7248\u672C\u53F7",
80
+ initial: pkg.version
81
+ });
82
+ json.version = version2;
83
+ }
84
+ delete json.devDependencies;
85
+ delete json.scripts;
86
+ if (!json.publishConfig) {
87
+ json.publishConfig = {
88
+ access: "public",
89
+ registry: REGISTRY
90
+ };
91
+ }
92
+ const publishDir2 = resolveApp(config.publishDir);
93
+ const es = path.basename(config.es);
94
+ const cjs = path.basename(config.cjs);
95
+ const iife = config.iife ? path.basename(config.iife) : "";
96
+ const has = {
97
+ es: fs.existsSync(path.join(publishDir2, es)),
98
+ cjs: fs.existsSync(path.join(publishDir2, cjs)),
99
+ iife: iife && fs.existsSync(path.join(publishDir2, iife))
100
+ };
101
+ const entry = (base, sub = config.entry) => getPublishedEntry(base, sub);
102
+ if (has.es || has.cjs) {
103
+ json.main = entry(config.cjs) || entry(config.es);
104
+ }
105
+ if (has.es) {
106
+ json.module = entry(config.es);
107
+ }
108
+ if (has.iife) {
109
+ json.browser = entry(config.iife, "es");
110
+ }
111
+ if (!json.types) {
112
+ const typeEntry = entry(config.es, config.typings) || (has.es ? entry(config.es) : has.cjs ? entry(config.cjs) : "");
113
+ if (typeEntry) {
114
+ const { dir, name, ext } = path.parse(typeEntry);
115
+ json.types = [".ts", ".tsx"].includes(ext) ? typeEntry : `${dir}/${name}.d.ts`;
116
+ }
117
+ }
118
+ json.files = Array.from(/* @__PURE__ */ new Set([has.es && es, has.cjs && cjs, has.iife && iife])).filter(Boolean);
119
+ if (json.dependencies) {
125
120
  json.dependencies = Object.fromEntries(Object.entries(json.dependencies).map(([key, value]) => {
126
- if (value.startsWith('file://') || value.startsWith('workspace:')) {
127
- return [key, 'latest'];
128
- }
129
- return [key, value];
121
+ if (value.startsWith("file://") || value.startsWith("workspace:")) {
122
+ return [key, "latest"];
123
+ }
124
+ return [key, value];
130
125
  }));
131
- let jsonStr = JSON.stringify(json, null, "\t");
132
- const ex = fs.existsSync(`${config.publishDir}/`);
133
- if (!ex) {
134
- fs.mkdirSync(`${config.publishDir}/`, { recursive: true });
135
- }
136
- fs.writeFileSync(`${config.publishDir}/package.json`, jsonStr);
137
- log(`生成 package完成`, chalk.green(json.version));
138
- log(`生成 .npmrc 开始`);
139
- fs.writeFileSync(`${config.publishDir}/.npmrc`, `registry=${REGISTRY}`);
140
- log(`生成 .npmrc 完成`);
141
- log(`拷贝 README 开始`);
126
+ }
127
+ let jsonStr = JSON.stringify(json, null, " ");
128
+ const ex = fs.existsSync(`${config.publishDir}/`);
129
+ if (!ex) {
130
+ fs.mkdirSync(`${config.publishDir}/`, { recursive: true });
131
+ }
132
+ fs.writeFileSync(`${config.publishDir}/package.json`, jsonStr);
133
+ log(`\u751F\u6210 package\u5B8C\u6210`, chalk.green(json.version));
134
+ log(`\u751F\u6210 .npmrc \u5F00\u59CB`);
135
+ fs.writeFileSync(`${config.publishDir}/.npmrc`, `registry=${REGISTRY}`);
136
+ log(`\u751F\u6210 .npmrc \u5B8C\u6210`);
137
+ log(`\u62F7\u8D1D README \u5F00\u59CB`);
142
138
  }, () => {
143
- return gulp.src([`./README.md`])
144
- .pipe(logger({
145
- before: 'copy README...',
146
- after: 'copy README complete!',
147
- showChange: false
148
- }))
149
- .pipe(gulp.dest(`${config.publishDir}/`));
139
+ return gulp.src([`./README.md`]).pipe(logger({
140
+ before: "copy README...",
141
+ after: "copy README complete!",
142
+ showChange: false
143
+ })).pipe(gulp.dest(`${config.publishDir}/`));
150
144
  }));
151
- gulp.task('copy-iife', (c) => {
152
- if (!config.iife) {
153
- return c();
154
- }
155
- log(`拷贝 '/iife/**' 开始`);
156
- return gulp.src([`${config.iife}/.**`, `${config.iife}/**`])
157
- .pipe(logger({
158
- before: 'copy iife...',
159
- after: 'copy iife complete!',
160
- showChange: false
161
- }))
162
- .pipe(gulp.dest(path.join(`${publishDir}`, path.basename(config.iife))));
145
+ gulp.task("copy-iife", (c) => {
146
+ if (!config.iife) {
147
+ return c();
148
+ }
149
+ log(`\u62F7\u8D1D '/iife/**' \u5F00\u59CB`);
150
+ return gulp.src([`${config.iife}/.**`, `${config.iife}/**`]).pipe(logger({
151
+ before: "copy iife...",
152
+ after: "copy iife complete!",
153
+ showChange: false
154
+ })).pipe(gulp.dest(path.join(`${publishDir}`, path.basename(config.iife))));
163
155
  });
164
- gulp.task('copy-cjs', () => {
165
- return gulp.src([`${config.cjs}/.**`, `${config.cjs}/**`])
166
- .pipe(logger({
167
- before: 'copy cjs...',
168
- after: 'copy cjs complete!',
169
- showChange: false
170
- }))
171
- .pipe(gulp.dest(path.join(`${publishDir}`, path.basename(config.cjs))));
156
+ gulp.task("copy-cjs", () => {
157
+ return gulp.src([`${config.cjs}/.**`, `${config.cjs}/**`]).pipe(logger({
158
+ before: "copy cjs...",
159
+ after: "copy cjs complete!",
160
+ showChange: false
161
+ })).pipe(gulp.dest(path.join(`${publishDir}`, path.basename(config.cjs))));
172
162
  });
173
- gulp.task('copy-es', () => {
174
- return gulp.src([`${config.es}/.**`, `${config.es}/**`])
175
- .pipe(logger({
176
- before: 'copy es...',
177
- after: 'copy es complete!',
178
- showChange: false
179
- }))
180
- .pipe(gulp.dest(path.join(`${publishDir}`, path.basename(config.es))));
163
+ gulp.task("copy-es", () => {
164
+ return gulp.src([`${config.es}/.**`, `${config.es}/**`]).pipe(logger({
165
+ before: "copy es...",
166
+ after: "copy es complete!",
167
+ showChange: false
168
+ })).pipe(gulp.dest(path.join(`${publishDir}`, path.basename(config.es))));
181
169
  });
182
- gulp.task('remove-__npm__', series(() => {
183
- let promises = [];
184
- const includes = [config.es, config.cjs, config.iife].flatMap(val => {
185
- if (!val) {
186
- return [];
187
- }
188
- const some = getIncludeFiles().some(item => path.resolve(val).startsWith(path.resolve(item.path)));
189
- return some ? [] : [val];
190
- });
191
- promises = includes.map(item => remove(item));
192
- return Promise.all(promises);
170
+ gulp.task("remove-__npm__", series(() => {
171
+ let promises = [];
172
+ const includes = [config.es, config.cjs, config.iife].flatMap((val) => {
173
+ if (!val) {
174
+ return [];
175
+ }
176
+ const some = getIncludeFiles().some((item) => path.resolve(val).startsWith(path.resolve(item.path)));
177
+ return some ? [] : [val];
178
+ });
179
+ promises = includes.map((item) => remove(item));
180
+ return Promise.all(promises);
193
181
  }, () => {
194
- return gulp.src([`${publishDir}/**`, `${publishDir}/.**`])
195
- .pipe(logger({
196
- before: 'copy __npm__...',
197
- after: 'copy __npm__ complete!',
198
- showChange: false
199
- }))
200
- .pipe(gulp.dest(`${config.publishDir}/`));
182
+ return gulp.src([`${publishDir}/**`, `${publishDir}/.**`]).pipe(logger({
183
+ before: "copy __npm__...",
184
+ after: "copy __npm__ complete!",
185
+ showChange: false
186
+ })).pipe(gulp.dest(`${config.publishDir}/`));
201
187
  }, async () => {
202
- await remove(publishDir);
188
+ await remove(publishDir);
203
189
  }));
204
- gulp.task('npm-publish', async function () {
205
- let publishAccess = [];
206
- //公共包
207
- if (scoped.test(pkg.name)) {
208
- publishAccess = ["--access", "public"];
209
- }
210
- if (config.publishAccess) {
211
- publishAccess = config.publishAccess;
212
- }
213
- try {
214
- const { stdout } = await run(`npm`, ["whoami", '--registry', REGISTRY], { stdio: undefined });
215
- log.warn(`===npm登录信息===>${stdout}`);
216
- }
217
- catch (e) {
218
- log.warn(`===npm${REGISTRY}未登录!!请登录`);
219
- await run(`npm`, ["login", '--registry', REGISTRY]);
220
- }
221
- const { confirm } = await prompts({
222
- type: 'confirm',
223
- name: 'confirm',
224
- message: '是否发布?',
190
+ gulp.task("npm-publish", async function() {
191
+ let publishAccess = [];
192
+ if (scoped.test(pkg.name)) {
193
+ publishAccess = ["--access", "public"];
194
+ }
195
+ if (config.publishAccess) {
196
+ publishAccess = config.publishAccess;
197
+ }
198
+ try {
199
+ const { stdout } = await run(`npm`, ["whoami", "--registry", REGISTRY], { stdio: void 0 });
200
+ log.warn(`===npm\u767B\u5F55\u4FE1\u606F===>${stdout}`);
201
+ } catch (e) {
202
+ log.warn(`===npm${REGISTRY}\u672A\u767B\u5F55\uFF01\uFF01\u8BF7\u767B\u5F55`);
203
+ await run(`npm`, ["login", "--registry", REGISTRY]);
204
+ }
205
+ const { confirm } = await prompts({
206
+ type: "confirm",
207
+ name: "confirm",
208
+ message: "\u662F\u5426\u53D1\u5E03\uFF1F"
209
+ });
210
+ if (confirm) {
211
+ await run(`npm`, ["publish", ...publishAccess, "--registry", REGISTRY], {
212
+ cwd: path.join(process.cwd(), config.publishDir)
225
213
  });
226
- if (confirm) {
227
- await run(`npm`, ['publish', ...publishAccess, '--registry', REGISTRY], {
228
- cwd: path.join(process.cwd(), config.publishDir),
229
- });
230
- success(`${json.name}@${json.version}:发布成功!`);
231
- }
232
- else {
233
- error(`${json.name}@${json.version}:取消成功!`);
234
- }
214
+ success(`${json.name}@${json.version}:\u53D1\u5E03\u6210\u529F\uFF01`);
215
+ } else {
216
+ error(`${json.name}@${json.version}:\u53D6\u6D88\u6210\u529F\uFF01`);
217
+ }
235
218
  });
236
- var index = gulp.series('clean', 'del-cjs-iife-es', 'copy-cjs', 'copy-es', 'copy-iife', 'remove-__npm__', 'copy-info', 'npm-publish');
219
+ var src_default = gulp.series("clean", "del-cjs-iife-es", "copy-cjs", "copy-es", "copy-iife", "remove-__npm__", "copy-info", "npm-publish");
237
220
 
238
- export { index as default };
221
+ export { src_default as default };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@es-pkg/publish",
3
- "version": "1.0.8",
3
+ "version": "1.0.10",
4
4
  "description": "组件打包工具",
5
5
  "main": "cjs/index.js",
6
6
  "engines": {