@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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/index.ts +29 -20
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@es-pkg/publish",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "description": "组件打包工具",
5
5
  "main": "src/index.ts",
6
6
  "engines": {
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 } from "@es-pkg/utils";
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 = "https://registry.npmjs.org"
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 timer = setTimeout(() => {
45
- controller.abort()
46
- }, 3000)
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
- const regex = /@([0-9A-Za-z.-]+)/;
57
- const version = (response?.url.split(url)[1]).match(regex)?.[1];
58
- clearTimeout(timer);
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 = _es || _cjs
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("===npm未登录!!请登录")
223
+ log.warn(`===npm${REGISTRY}未登录!!请登录`)
215
224
  await run(`npm`, ["login", '--registry', REGISTRY])
216
225
  }
217
226
  const {confirm} = await prompts({