@es-pkg/publish 1.0.5 → 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 -1
- package/src/index.ts +29 -20
package/package.json
CHANGED
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,24 +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
41
|
let errored = false;
|
|
42
|
+
let version: string | void = "";
|
|
43
43
|
try {
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
const start= Date.now();
|
|
48
|
-
const url=`https://unpkg.com/${pkg.name}`
|
|
49
|
-
|
|
50
|
-
const response = await fetch(url, {
|
|
51
|
-
signal: controller.signal
|
|
52
|
-
}).finally(()=>{
|
|
53
|
-
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),
|
|
54
47
|
});
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
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
|
+
}
|
|
59
69
|
log(`远程获取版本信息 tag:`, version)
|
|
60
70
|
if (version) {
|
|
61
71
|
json.version = compare(pkg.version, version) <= 0 ? autoUpgrade(version) : pkg.version
|
|
@@ -63,7 +73,6 @@ gulp.task('copy-info', series(async () => {
|
|
|
63
73
|
errored = true;
|
|
64
74
|
}
|
|
65
75
|
} catch (e) {
|
|
66
|
-
//console.log(e)
|
|
67
76
|
errored = true;
|
|
68
77
|
}
|
|
69
78
|
if (errored) {
|
|
@@ -106,7 +115,7 @@ gulp.task('copy-info', series(async () => {
|
|
|
106
115
|
}
|
|
107
116
|
}
|
|
108
117
|
if (!moduleExists && CJSExists) {
|
|
109
|
-
json.module =
|
|
118
|
+
json.module = _es || _cjs
|
|
110
119
|
}
|
|
111
120
|
if (!browserExists && IIFEExists) {
|
|
112
121
|
json.browser = getEntrypoint(config.iife)
|
|
@@ -211,7 +220,7 @@ gulp.task('npm-publish', async function () {
|
|
|
211
220
|
const {stdout} = await run(`npm`, ["whoami", '--registry', REGISTRY], {stdio: undefined})
|
|
212
221
|
log.warn(`===npm登录信息===>${stdout}`)
|
|
213
222
|
} catch (e) {
|
|
214
|
-
log.warn(
|
|
223
|
+
log.warn(`===npm${REGISTRY}未登录!!请登录`)
|
|
215
224
|
await run(`npm`, ["login", '--registry', REGISTRY])
|
|
216
225
|
}
|
|
217
226
|
const {confirm} = await prompts({
|