@es-pkg/publish 1.0.4 → 1.0.6
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/package.json +1 -2
- package/src/index.ts +29 -21
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@es-pkg/publish",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.6",
|
|
4
4
|
"description": "组件打包工具",
|
|
5
5
|
"main": "src/index.ts",
|
|
6
6
|
"engines": {
|
|
@@ -19,7 +19,6 @@
|
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"chalk": "^5.0.1",
|
|
21
21
|
"prompts": "^2.4.2",
|
|
22
|
-
"node-fetch": "latest",
|
|
23
22
|
"@es-pkg/gulp-logger": "latest",
|
|
24
23
|
"@es-pkg/gulp": "latest",
|
|
25
24
|
"@es-pkg/utils": "latest",
|
package/src/index.ts
CHANGED
|
@@ -3,12 +3,12 @@ import chalk from 'chalk';// 改变屏幕文字颜色
|
|
|
3
3
|
import logger from '@es-pkg/gulp-logger'
|
|
4
4
|
import fs from "fs"
|
|
5
5
|
import path from "path";
|
|
6
|
-
import {autoUpgrade, compare, remove, run, error, log, success, fetch
|
|
6
|
+
import {autoUpgrade, compare, remove, run, error, log, success, fetch} from "@es-pkg/utils";
|
|
7
7
|
import {config, getEntrypoint, getIncludeFiles, pkg, resolveApp} from "@es-pkg/config";
|
|
8
8
|
import prompts from "prompts"
|
|
9
9
|
|
|
10
10
|
const scoped = /^@[a-zA-Z0-9-]+\/.+$/;
|
|
11
|
-
const REGISTRY =
|
|
11
|
+
const REGISTRY = config.publishRegistry
|
|
12
12
|
|
|
13
13
|
const json: Record<string, string | object> = pkg;
|
|
14
14
|
|
|
@@ -38,25 +38,34 @@ gulp.task('del-cjs-iife-es', async () => {
|
|
|
38
38
|
});
|
|
39
39
|
gulp.task('copy-info', series(async () => {
|
|
40
40
|
log(`生成 package 开始`);
|
|
41
|
-
const controller = new AbortController();
|
|
42
|
-
//const {default: fetch} = await import("node-fetch");
|
|
43
41
|
let errored = false;
|
|
42
|
+
let version: string | void = "";
|
|
44
43
|
try {
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const start= Date.now();
|
|
49
|
-
const url=`https://unpkg.com/${pkg.name}`
|
|
50
|
-
|
|
51
|
-
const response = await fetch(url, {
|
|
52
|
-
signal: controller.signal
|
|
53
|
-
}).finally(()=>{
|
|
54
|
-
log.warn(`远程获取版本花费时间:${Date.now() - start}`)
|
|
44
|
+
const { stdout } = await run(`npm`, ['view', pkg.name, 'version'], {
|
|
45
|
+
stdio: undefined,
|
|
46
|
+
cwd: path.join(process.cwd(), config.publishDir),
|
|
55
47
|
});
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
48
|
+
if (stdout) {
|
|
49
|
+
version = stdout
|
|
50
|
+
}
|
|
51
|
+
if (!version) {
|
|
52
|
+
const controller = new AbortController();
|
|
53
|
+
const timer = setTimeout(() => {
|
|
54
|
+
controller.abort()
|
|
55
|
+
}, 3000);
|
|
56
|
+
const start = Date.now();
|
|
57
|
+
const url = `https://img.shields.io/npm/v/${pkg.name}`
|
|
58
|
+
|
|
59
|
+
const response = await fetch(url, {
|
|
60
|
+
signal: controller.signal
|
|
61
|
+
}).finally(async () => {
|
|
62
|
+
log.warn(`远程获取版本花费时间:${Date.now() - start}`)
|
|
63
|
+
});
|
|
64
|
+
const htmlString = await response.text();
|
|
65
|
+
const regex = /<title>npm: v([\d.]+)<\/title>/;
|
|
66
|
+
version = htmlString.match(regex)?.[1];
|
|
67
|
+
clearTimeout(timer);
|
|
68
|
+
}
|
|
60
69
|
log(`远程获取版本信息 tag:`, version)
|
|
61
70
|
if (version) {
|
|
62
71
|
json.version = compare(pkg.version, version) <= 0 ? autoUpgrade(version) : pkg.version
|
|
@@ -64,7 +73,6 @@ gulp.task('copy-info', series(async () => {
|
|
|
64
73
|
errored = true;
|
|
65
74
|
}
|
|
66
75
|
} catch (e) {
|
|
67
|
-
//console.log(e)
|
|
68
76
|
errored = true;
|
|
69
77
|
}
|
|
70
78
|
if (errored) {
|
|
@@ -107,7 +115,7 @@ gulp.task('copy-info', series(async () => {
|
|
|
107
115
|
}
|
|
108
116
|
}
|
|
109
117
|
if (!moduleExists && CJSExists) {
|
|
110
|
-
json.module =
|
|
118
|
+
json.module = _es || _cjs
|
|
111
119
|
}
|
|
112
120
|
if (!browserExists && IIFEExists) {
|
|
113
121
|
json.browser = getEntrypoint(config.iife)
|
|
@@ -212,7 +220,7 @@ gulp.task('npm-publish', async function () {
|
|
|
212
220
|
const {stdout} = await run(`npm`, ["whoami", '--registry', REGISTRY], {stdio: undefined})
|
|
213
221
|
log.warn(`===npm登录信息===>${stdout}`)
|
|
214
222
|
} catch (e) {
|
|
215
|
-
log.warn(
|
|
223
|
+
log.warn(`===npm${REGISTRY}未登录!!请登录`)
|
|
216
224
|
await run(`npm`, ["login", '--registry', REGISTRY])
|
|
217
225
|
}
|
|
218
226
|
const {confirm} = await prompts({
|