@es-pkg/publish 1.0.9 → 1.0.11

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 +122 -143
  2. package/esm/index.js +197 -216
  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,37 +102,33 @@ 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`;
125
+ const typeEntry = 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`;
129
+ }
153
130
  }
154
- json.files = Array.from(/* @__PURE__ */ new Set([ESExists && es, CJSExists && cjs, IIFEExists && iife])).filter(Boolean);
131
+ json.files = Array.from(/* @__PURE__ */ new Set([has.es && es, has.cjs && cjs, has.iife && iife])).filter(Boolean);
155
132
  if (json.dependencies) {
156
133
  json.dependencies = Object.fromEntries(Object.entries(json.dependencies).map(([key, value]) => {
157
134
  if (value.startsWith("file://") || value.startsWith("workspace:")) {
@@ -161,95 +138,97 @@ import_gulp.default.task("copy-info", (0, import_gulp.series)(async () => {
161
138
  }));
162
139
  }
163
140
  let jsonStr = JSON.stringify(json, null, " ");
164
- const ex = import_fs.default.existsSync(`${import_config.config.publishDir}/`);
141
+ const ex = fs__default.default.existsSync(`${config.config.publishDir}/`);
165
142
  if (!ex) {
166
- import_fs.default.mkdirSync(`${import_config.config.publishDir}/`, { recursive: true });
167
- }
168
- import_fs.default.writeFileSync(`${import_config.config.publishDir}/package.json`, jsonStr);
169
- (0, import_utils.log)(`\u751F\u6210 package\u5B8C\u6210`, import_chalk.default.green(json.version));
170
- (0, import_utils.log)(`\u751F\u6210 .npmrc \u5F00\u59CB`);
171
- import_fs.default.writeFileSync(`${import_config.config.publishDir}/.npmrc`, `registry=${REGISTRY}`);
172
- (0, import_utils.log)(`\u751F\u6210 .npmrc \u5B8C\u6210`);
173
- (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`);
174
151
  }, () => {
175
- 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({
176
153
  before: "copy README...",
177
154
  after: "copy README complete!",
178
155
  showChange: false
179
- })).pipe(import_gulp.default.dest(`${import_config.config.publishDir}/`));
156
+ })).pipe(gulp__default.default.dest(`${config.config.publishDir}/`));
180
157
  }));
181
- import_gulp.default.task("copy-iife", (c) => {
182
- if (!import_config.config.iife) {
158
+ gulp__default.default.task("copy-iife", (c) => {
159
+ if (!config.config.iife) {
183
160
  return c();
184
161
  }
185
- (0, import_utils.log)(`\u62F7\u8D1D '/iife/**' \u5F00\u59CB`);
186
- 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({
187
164
  before: "copy iife...",
188
165
  after: "copy iife complete!",
189
166
  showChange: false
190
- })).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))));
191
168
  });
192
- import_gulp.default.task("copy-cjs", () => {
193
- 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({
194
171
  before: "copy cjs...",
195
172
  after: "copy cjs complete!",
196
173
  showChange: false
197
- })).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))));
198
175
  });
199
- import_gulp.default.task("copy-es", () => {
200
- 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({
201
178
  before: "copy es...",
202
179
  after: "copy es complete!",
203
180
  showChange: false
204
- })).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))));
205
182
  });
206
- import_gulp.default.task("remove-__npm__", (0, import_gulp.series)(() => {
183
+ gulp__default.default.task("remove-__npm__", gulp.series(() => {
207
184
  let promises = [];
208
- 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) => {
209
186
  if (!val) {
210
187
  return [];
211
188
  }
212
- 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)));
213
190
  return some ? [] : [val];
214
191
  });
215
- promises = includes.map((item) => (0, import_utils.remove)(item));
192
+ promises = includes.map((item) => utils.remove(item));
216
193
  return Promise.all(promises);
217
194
  }, () => {
218
- 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({
219
196
  before: "copy __npm__...",
220
197
  after: "copy __npm__ complete!",
221
198
  showChange: false
222
- })).pipe(import_gulp.default.dest(`${import_config.config.publishDir}/`));
199
+ })).pipe(gulp__default.default.dest(`${config.config.publishDir}/`));
223
200
  }, async () => {
224
- await (0, import_utils.remove)(publishDir);
201
+ await utils.remove(publishDir);
225
202
  }));
226
- import_gulp.default.task("npm-publish", async function() {
203
+ gulp__default.default.task("npm-publish", async function() {
227
204
  let publishAccess = [];
228
- if (scoped.test(import_config.pkg.name)) {
205
+ if (scoped.test(config.pkg.name)) {
229
206
  publishAccess = ["--access", "public"];
230
207
  }
231
- if (import_config.config.publishAccess) {
232
- publishAccess = import_config.config.publishAccess;
208
+ if (config.config.publishAccess) {
209
+ publishAccess = config.config.publishAccess;
233
210
  }
234
211
  try {
235
- const { stdout } = await (0, import_utils.run)(`npm`, ["whoami", "--registry", REGISTRY], { stdio: void 0 });
236
- 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}`);
237
214
  } catch (e) {
238
- import_utils.log.warn(`===npm${REGISTRY}\u672A\u767B\u5F55\uFF01\uFF01\u8BF7\u767B\u5F55`);
239
- 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]);
240
217
  }
241
- const { confirm } = await (0, import_prompts.default)({
218
+ const { confirm } = await prompts__default.default({
242
219
  type: "confirm",
243
220
  name: "confirm",
244
221
  message: "\u662F\u5426\u53D1\u5E03\uFF1F"
245
222
  });
246
223
  if (confirm) {
247
- await (0, import_utils.run)(`npm`, ["publish", ...publishAccess, "--registry", REGISTRY], {
248
- 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)
249
226
  });
250
- (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`);
251
228
  } else {
252
- (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`);
253
230
  }
254
231
  });
255
- 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,237 +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);
125
- if (json.dependencies) {
126
- json.dependencies = Object.fromEntries(Object.entries(json.dependencies).map(([key, value]) => {
127
- if (value.startsWith('file://') || value.startsWith('workspace:')) {
128
- return [key, 'latest'];
129
- }
130
- return [key, value];
131
- }));
132
- }
133
- let jsonStr = JSON.stringify(json, null, "\t");
134
- const ex = fs.existsSync(`${config.publishDir}/`);
135
- if (!ex) {
136
- fs.mkdirSync(`${config.publishDir}/`, { recursive: true });
137
- }
138
- fs.writeFileSync(`${config.publishDir}/package.json`, jsonStr);
139
- log(`生成 package完成`, chalk.green(json.version));
140
- log(`生成 .npmrc 开始`);
141
- fs.writeFileSync(`${config.publishDir}/.npmrc`, `registry=${REGISTRY}`);
142
- log(`生成 .npmrc 完成`);
143
- log(`拷贝 README 开始`);
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 = 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) {
120
+ json.dependencies = Object.fromEntries(Object.entries(json.dependencies).map(([key, value]) => {
121
+ if (value.startsWith("file://") || value.startsWith("workspace:")) {
122
+ return [key, "latest"];
123
+ }
124
+ return [key, value];
125
+ }));
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`);
144
138
  }, () => {
145
- return gulp.src([`./README.md`])
146
- .pipe(logger({
147
- before: 'copy README...',
148
- after: 'copy README complete!',
149
- showChange: false
150
- }))
151
- .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}/`));
152
144
  }));
153
- gulp.task('copy-iife', (c) => {
154
- if (!config.iife) {
155
- return c();
156
- }
157
- log(`拷贝 '/iife/**' 开始`);
158
- return gulp.src([`${config.iife}/.**`, `${config.iife}/**`])
159
- .pipe(logger({
160
- before: 'copy iife...',
161
- after: 'copy iife complete!',
162
- showChange: false
163
- }))
164
- .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))));
165
155
  });
166
- gulp.task('copy-cjs', () => {
167
- return gulp.src([`${config.cjs}/.**`, `${config.cjs}/**`])
168
- .pipe(logger({
169
- before: 'copy cjs...',
170
- after: 'copy cjs complete!',
171
- showChange: false
172
- }))
173
- .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))));
174
162
  });
175
- gulp.task('copy-es', () => {
176
- return gulp.src([`${config.es}/.**`, `${config.es}/**`])
177
- .pipe(logger({
178
- before: 'copy es...',
179
- after: 'copy es complete!',
180
- showChange: false
181
- }))
182
- .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))));
183
169
  });
184
- gulp.task('remove-__npm__', series(() => {
185
- let promises = [];
186
- const includes = [config.es, config.cjs, config.iife].flatMap(val => {
187
- if (!val) {
188
- return [];
189
- }
190
- const some = getIncludeFiles().some(item => path.resolve(val).startsWith(path.resolve(item.path)));
191
- return some ? [] : [val];
192
- });
193
- promises = includes.map(item => remove(item));
194
- 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);
195
181
  }, () => {
196
- return gulp.src([`${publishDir}/**`, `${publishDir}/.**`])
197
- .pipe(logger({
198
- before: 'copy __npm__...',
199
- after: 'copy __npm__ complete!',
200
- showChange: false
201
- }))
202
- .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}/`));
203
187
  }, async () => {
204
- await remove(publishDir);
188
+ await remove(publishDir);
205
189
  }));
206
- gulp.task('npm-publish', async function () {
207
- let publishAccess = [];
208
- //公共包
209
- if (scoped.test(pkg.name)) {
210
- publishAccess = ["--access", "public"];
211
- }
212
- if (config.publishAccess) {
213
- publishAccess = config.publishAccess;
214
- }
215
- try {
216
- const { stdout } = await run(`npm`, ["whoami", '--registry', REGISTRY], { stdio: undefined });
217
- log.warn(`===npm登录信息===>${stdout}`);
218
- }
219
- catch (e) {
220
- log.warn(`===npm${REGISTRY}未登录!!请登录`);
221
- await run(`npm`, ["login", '--registry', REGISTRY]);
222
- }
223
- const { confirm } = await prompts({
224
- type: 'confirm',
225
- name: 'confirm',
226
- 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)
227
213
  });
228
- if (confirm) {
229
- await run(`npm`, ['publish', ...publishAccess, '--registry', REGISTRY], {
230
- cwd: path.join(process.cwd(), config.publishDir),
231
- });
232
- success(`${json.name}@${json.version}:发布成功!`);
233
- }
234
- else {
235
- error(`${json.name}@${json.version}:取消成功!`);
236
- }
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
+ }
237
218
  });
238
- 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");
239
220
 
240
- 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.9",
3
+ "version": "1.0.11",
4
4
  "description": "组件打包工具",
5
5
  "main": "cjs/index.js",
6
6
  "engines": {