pjj 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/CHANGELOG.md +95 -0
- package/LICENSE +2 -11
- package/README.md +5 -3
- package/bin.js +2 -0
- package/package.json +32 -25
- package/bin.mjs +0 -12
- package/src/blackSpace.mjs +0 -21
- package/src/cn.mjs +0 -3
- package/src/colorText.mjs +0 -23
- package/src/command.mjs +0 -31
- package/src/data-store.mjs +0 -14
- package/src/dog.mjs +0 -8
- package/src/line.mjs +0 -18
- package/src/main.mjs +0 -46
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# 版本日志
|
|
2
|
+
|
|
3
|
+
## 1.0.6 (2026-6-26)
|
|
4
|
+
|
|
5
|
+
- 维护依赖及注释
|
|
6
|
+
|
|
7
|
+
## 1.0.5 (2026-1-14)
|
|
8
|
+
|
|
9
|
+
- 么事
|
|
10
|
+
|
|
11
|
+
## v1.0.4 (2025-7-30)
|
|
12
|
+
|
|
13
|
+
- 么事
|
|
14
|
+
|
|
15
|
+
## v1.0.4-test.0 (2025-7-24)
|
|
16
|
+
|
|
17
|
+
- 么事
|
|
18
|
+
|
|
19
|
+
## v1.0.3 (2025-7-19)
|
|
20
|
+
|
|
21
|
+
- 么事
|
|
22
|
+
|
|
23
|
+
## v1.0.2 (2025-6-21)
|
|
24
|
+
|
|
25
|
+
- 么事
|
|
26
|
+
|
|
27
|
+
## v1.0.1 (2025-6-10)
|
|
28
|
+
|
|
29
|
+
- 么事
|
|
30
|
+
|
|
31
|
+
## v1.0.0 (5 🈷️ 25 日 2025 年)
|
|
32
|
+
|
|
33
|
+
- 就是闲的
|
|
34
|
+
|
|
35
|
+
## v0.2.8 (5 🈷️ 24 日 2025 年)
|
|
36
|
+
|
|
37
|
+
- 更新依赖(减少 [color-pen](https://www.npmjs.com/package/color-pen) 更新 `truncateStringWithChar` 函数逻辑差异导致的渲染错误 )
|
|
38
|
+
- 优化了渲染逻辑
|
|
39
|
+
|
|
40
|
+
## v0.2.7 (5 🈷️ 24 日 2025 年)
|
|
41
|
+
|
|
42
|
+
- 更新依赖
|
|
43
|
+
|
|
44
|
+
## v0.2.6 (5 🈷️ 11 日 2025 年)
|
|
45
|
+
|
|
46
|
+
- 更新依赖
|
|
47
|
+
|
|
48
|
+
## v0.2.5 (5 🈷️ 9 日 2025 年)
|
|
49
|
+
|
|
50
|
+
- 更新依赖
|
|
51
|
+
|
|
52
|
+
## v0.2.4 (5 🈷️ 3 日 2025 年)
|
|
53
|
+
|
|
54
|
+
- 浑浑噩噩的生活,fuck
|
|
55
|
+
|
|
56
|
+
## v0.2.3 (4 🈷️ 28 日 2025 年)
|
|
57
|
+
|
|
58
|
+
- 修复已知 bug 🐛
|
|
59
|
+
|
|
60
|
+
## v0.2.2 (4 🈷️ 28 日 2025 年)
|
|
61
|
+
|
|
62
|
+
- 优化代码逻辑
|
|
63
|
+
|
|
64
|
+
## v0.2.1 (4 🈷️ 27 日 2025 年)
|
|
65
|
+
|
|
66
|
+
- 由于上一版本在输出字符的长度在整理后不足终端显示的宽度,需追加一个空字符串,使用的 `concat` 但是并么有将返回值重新赋值给原字符串,导致判断也判断了,追加也追加了,就是没用上
|
|
67
|
+
|
|
68
|
+
## v0.2.0 (4 🈷️ 25 日 2025 年)
|
|
69
|
+
|
|
70
|
+
- 没有逻辑上的更改
|
|
71
|
+
- 更改了使用 `message` 或是 `-m` 时传入的字符串可以被更有好的展示在终端之中
|
|
72
|
+
|
|
73
|
+
## 0.1.4 (3 月 29 2025 年)
|
|
74
|
+
|
|
75
|
+
- 更新依赖
|
|
76
|
+
|
|
77
|
+
## 0.1.3 (3 月 29 2025 年)
|
|
78
|
+
|
|
79
|
+
- 改名为 `pjj` ,主打一个让自己开心
|
|
80
|
+
|
|
81
|
+
## 0.1.2 (3 月 28 2025 年)
|
|
82
|
+
|
|
83
|
+
- 添加使用说明
|
|
84
|
+
|
|
85
|
+
## 0.1.1 (3 月 28 2025 年)
|
|
86
|
+
|
|
87
|
+
- 修补 bug
|
|
88
|
+
|
|
89
|
+
## 0.1.0 (3 月 28 2025 年)
|
|
90
|
+
|
|
91
|
+
- 完善功能
|
|
92
|
+
|
|
93
|
+
## 0.0.0 (3 月 26 2025 年)
|
|
94
|
+
|
|
95
|
+
- 占名
|
package/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c) <2025> <
|
|
3
|
+
Copyright (c) <2025> <Mr.MudBean>
|
|
4
4
|
|
|
5
5
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
6
6
|
purpose with or without fee is hereby granted, provided that the above
|
|
@@ -13,13 +13,4 @@ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
|
13
13
|
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
14
14
|
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
15
15
|
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
16
|
-
|
|
17
|
-
# MIT 许可证
|
|
18
|
-
|
|
19
|
-
版权所有 (c) [2025] [花生亻]
|
|
20
|
-
|
|
21
|
-
特此免费授予任何获得本软件及相关文档文件(以下简称“软件”)副本的人不受限制地处置该软件的权利,包括不受限制地使用、复制、修改、合并、发布、分发、再许可和/或出售该软件副本的权利,并允许向其提供该软件的人这样做,但须遵守以下条件:
|
|
22
|
-
|
|
23
|
-
上述版权声明和本许可声明应包含在所有副本或软件的重要部分中。
|
|
24
|
-
|
|
25
|
-
软件按“原样”提供,不附带任何形式的明示或暗示的保证,包括但不限于适销性、特定用途适用性和不侵权的保证。在任何情况下,作者或版权持有人均不对因合同、侵权或其他方式引起的任何索赔、损害或其他责任负责,无论是在与软件或软件的使用或其他交易有关的任何诉讼中。
|
|
16
|
+
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# publish job jamming
|
|
2
2
|
|
|
3
|
-
## [&label=版本号&labelColor=rgb(73,73,228)&color=rgb(0,0,0)>)](https://www.npmjs.com/package/pjj) [?logo=github>)](https://github.com/
|
|
3
|
+
## [&label=版本号&labelColor=rgb(73,73,228)&color=rgb(0,0,0)>)](https://www.npmjs.com/package/pjj) [?logo=github>)](https://github.com/MrMudBean/pjj/issues)
|
|
4
4
|
|
|
5
5
|
禁止在项目的根目录执行 npm publish,防止意外发布。该脚本命令仅允许在 `prepublishOnly` ` 钩子中执行。
|
|
6
6
|
|
|
@@ -64,6 +64,8 @@ npm install --save-dev pjj
|
|
|
64
64
|
}
|
|
65
65
|
```
|
|
66
66
|
|
|
67
|
-
##
|
|
67
|
+
## 状态
|
|
68
68
|
|
|
69
|
-
|
|
69
|
+
此软件包是 `MrMudBean` 生态系统的一部分。
|
|
70
|
+
它使用严格的 TypeScript 编写,并通过 Rollup 构建进行验证。
|
|
71
|
+
虽然单元测试较少,但 API 稳定,并在生产环境中大量使用。
|
package/bin.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{Dog as e}from"@vvi/log";import{_p as r}from"@vvi/node";import{strInTerminalLength as t,bgBlackPen as n,truncateStringWithChar as o,randomPen as s}from"@vvi/pen";import{getRandomInt as i,isNode as c}from"@vvi/utils";import{Args as p}from"@vvi/command";const l=new e({name:"pjj",type:"error"}),m=process.env.LANG?.toLocaleLowerCase().includes("zh"),a=new p("pjj");a.bind(["message <-m> (添加自定义的命令消息)","black <-b> (显示为黑色(默认)文本)","script <-s> (触发的勾子,默认为 `prepublishOnly`)"]),a.run(),a.isEnd(!0);const u=a.args.$map,v=u.message&&u.message.value&&u.message.value.length>0?u.message.value.join("\n"):m?"禁止在项目的根目录下执行 npm publish 命令":"It is forbidden to execute the npm publish command in the root directory of the project",h=void 0!==u.black,f=u.script&&u.script.value&&u.script.value.length>0?u.script.value[0]:"prepublishOnly",d=process.stdout.columns,b=d-t(v),g={screenWith:d,safeWidth:b>0?Math.floor(b/2):0};function y(){if(h)r();else{const e=" ".repeat(g.screenWith);r(n(e))}}function j(){let e="";for(let r=0;r<g.screenWith;r++)e+=h?"=":s("=");return e}const W="\n".repeat(3);function $(){if(c()&&process.env.npm_lifecycle_event===f)r(W),r(j()),r(),y(),y(),r(function(e){const{screenWith:r,safeWidth:t}=g;l("开始计算文本长度");const s=n(" ".repeat(t));return l("空白长度为",t),`${s}${[...o(e,r-2*t)].reduce((e,r)=>e+n.number(i(1,225))(r),"")}${s}`}(v)),y(),y(),r(),r(j()),r(W),a.error();else{const e=n.brightRed,t=e.hide;l.error(c()&&process.env.npm_lifecycle_event);const o=" 所以,看见这段文本,说明你哪里 ❌ 了 ";r("===================================="),r("跳过了禁止发布,而且该命令可能不会显示在终端\n"),r(t(o)),r(e.blink.bold(o)),r(t(o)),r("\n====================================")}}(()=>{try{$()}catch(e){l.error(e)}})();
|
package/package.json
CHANGED
|
@@ -1,44 +1,51 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pjj",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.0.
|
|
5
|
-
"description": "禁止在项目的根目录执行 npm publish,防止意外发布。该脚本命令需在 'prepublishOnly' 钩子中配置",
|
|
6
|
-
"overrides": {},
|
|
7
|
-
"license": "MIT",
|
|
8
|
-
"dependencies": {
|
|
9
|
-
"@qqi/log": "^0.1.1",
|
|
10
|
-
"a-command": "^2.3.13",
|
|
11
|
-
"a-js-tools": "^1.0.10",
|
|
12
|
-
"a-node-tools": "^4.2.19",
|
|
13
|
-
"a-type-of-js": "^1.0.7",
|
|
14
|
-
"color-pen": "^2.0.13"
|
|
15
|
-
},
|
|
4
|
+
"version": "1.0.6",
|
|
16
5
|
"author": {
|
|
17
|
-
"name": "
|
|
18
|
-
"email": "
|
|
19
|
-
"url": "https://
|
|
6
|
+
"name": "泥豆君",
|
|
7
|
+
"email": "Mr.MudBean@outlook.com",
|
|
8
|
+
"url": "https://mudbean.cn"
|
|
20
9
|
},
|
|
10
|
+
"description": "禁止在项目的根目录执行 npm publish,防止意外发布。该脚本命令需在 'prepublishOnly' 钩子中配置",
|
|
11
|
+
"license": "MIT",
|
|
21
12
|
"files": [
|
|
22
|
-
"
|
|
23
|
-
"
|
|
13
|
+
"bin.js",
|
|
14
|
+
"LICENSE",
|
|
15
|
+
"README.md",
|
|
16
|
+
"THIRD-PARTY-LICENSES.txt",
|
|
17
|
+
"CHANGELOG.md"
|
|
24
18
|
],
|
|
25
19
|
"keywords": [
|
|
26
|
-
"pjj"
|
|
20
|
+
"pjj",
|
|
21
|
+
"mudbean",
|
|
22
|
+
"vvi"
|
|
27
23
|
],
|
|
28
|
-
"
|
|
29
|
-
|
|
30
|
-
"
|
|
24
|
+
"homepage": "https://npm.lmssee.com/pjj",
|
|
25
|
+
"dependencies": {
|
|
26
|
+
"@vvi/command": "^4.0.0",
|
|
27
|
+
"@vvi/is": "^2.0.5",
|
|
28
|
+
"@vvi/log": "^1.1.5",
|
|
29
|
+
"@vvi/node": "^4.4.4",
|
|
30
|
+
"@vvi/pen": "^3.0.2",
|
|
31
|
+
"@vvi/utils": "^2.0.6"
|
|
31
32
|
},
|
|
32
|
-
"homepage": "https://earthnut.dev/npm/pjj",
|
|
33
33
|
"bugs": {
|
|
34
|
-
"url": "https://github.com/
|
|
35
|
-
"email": "
|
|
34
|
+
"url": "https://github.com/MrMudBean/pjj/issues",
|
|
35
|
+
"email": "Mr.MudBean@outlook.com"
|
|
36
|
+
},
|
|
37
|
+
"repository": {
|
|
38
|
+
"type": "git",
|
|
39
|
+
"url": "git+https://github.com/MrMudBean/pjj.git"
|
|
36
40
|
},
|
|
37
41
|
"publishConfig": {
|
|
38
42
|
"access": "public",
|
|
39
43
|
"registry": "https://registry.npmjs.org/"
|
|
40
44
|
},
|
|
41
45
|
"bin": {
|
|
42
|
-
"pjj": "bin.
|
|
46
|
+
"pjj": "bin.js"
|
|
47
|
+
},
|
|
48
|
+
"engines": {
|
|
49
|
+
"node": ">=18.0.0"
|
|
43
50
|
}
|
|
44
51
|
}
|
package/bin.mjs
DELETED
package/src/blackSpace.mjs
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { _p } from 'a-node-tools';
|
|
2
|
-
import { bgBlackPen } from 'color-pen';
|
|
3
|
-
import { dataStore } from './data-store.mjs';
|
|
4
|
-
import { noColor } from './command.mjs';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
*
|
|
8
|
-
* 打印一个空白的黑色背景
|
|
9
|
-
*
|
|
10
|
-
*/
|
|
11
|
-
function blackSpace() {
|
|
12
|
-
if (noColor) {
|
|
13
|
-
_p();
|
|
14
|
-
}
|
|
15
|
-
else {
|
|
16
|
-
const str = ' '.repeat(dataStore.screenWith);
|
|
17
|
-
_p(bgBlackPen(str));
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export { blackSpace };
|
package/src/cn.mjs
DELETED
package/src/colorText.mjs
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { dog } from './dog.mjs';
|
|
2
|
-
import { bgBlackPen, truncateStringWithChar } from 'color-pen';
|
|
3
|
-
import { dataStore } from './data-store.mjs';
|
|
4
|
-
import { getRandomInt } from 'a-js-tools';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
*
|
|
8
|
-
* @description 生成随机颜色文本
|
|
9
|
-
*
|
|
10
|
-
* @param str 字符串
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*/
|
|
14
|
-
function colorText(str) {
|
|
15
|
-
const { screenWith, safeWidth } = dataStore;
|
|
16
|
-
dog('开始计算文本长度');
|
|
17
|
-
/** 安全区空白 */
|
|
18
|
-
const blankSpace = bgBlackPen(' '.repeat(safeWidth));
|
|
19
|
-
dog('空白长度为', safeWidth);
|
|
20
|
-
return `${blankSpace}${[...truncateStringWithChar(str, screenWith - safeWidth * 2)].reduce((previousValue, currentValue) => previousValue + bgBlackPen.number(getRandomInt(1, 225))(currentValue), '')}${blankSpace}`;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export { colorText };
|
package/src/command.mjs
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { Command } from 'a-command';
|
|
2
|
-
import { cn } from './cn.mjs';
|
|
3
|
-
|
|
4
|
-
/** 创建一个命令 */
|
|
5
|
-
const command = new Command('pjj');
|
|
6
|
-
command.bind([
|
|
7
|
-
'message <-m> (添加自定义的命令消息)',
|
|
8
|
-
'black <-b> (显示为黑色(默认)文本)',
|
|
9
|
-
'script <-s> (触发的勾子,默认为 `prepublishOnly`)',
|
|
10
|
-
]);
|
|
11
|
-
command.run();
|
|
12
|
-
command.isEnd(true);
|
|
13
|
-
/**
|
|
14
|
-
* 命令参数映射
|
|
15
|
-
*/
|
|
16
|
-
const argMap = command.args.$map;
|
|
17
|
-
/**
|
|
18
|
-
* 命令参数值
|
|
19
|
-
*/
|
|
20
|
-
const message = argMap.message && argMap.message.value && argMap.message.value.length > 0
|
|
21
|
-
? argMap.message.value.join('\n')
|
|
22
|
-
: cn
|
|
23
|
-
? '禁止在项目的根目录下执行 npm publish 命令'
|
|
24
|
-
: 'It is forbidden to execute the npm publish command in the root directory of the project';
|
|
25
|
-
/// 没有颜色
|
|
26
|
-
const noColor = argMap.black !== undefined;
|
|
27
|
-
const script = argMap.script && argMap.script.value && argMap.script.value.length > 0
|
|
28
|
-
? argMap.script.value[0]
|
|
29
|
-
: 'prepublishOnly';
|
|
30
|
-
|
|
31
|
-
export { command, message, noColor, script };
|
package/src/data-store.mjs
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { strInTerminalLength } from 'color-pen';
|
|
2
|
-
import { message } from './command.mjs';
|
|
3
|
-
|
|
4
|
-
const screenWith = process.stdout.columns;
|
|
5
|
-
const messageLength = strInTerminalLength(message);
|
|
6
|
-
const safeWidth = screenWith - messageLength;
|
|
7
|
-
const dataStore = {
|
|
8
|
-
/** 终端的宽度(可显示字符数) */
|
|
9
|
-
screenWith,
|
|
10
|
-
/** 安全区长度 */
|
|
11
|
-
safeWidth: safeWidth > 0 ? Math.floor(safeWidth / 2) : 0,
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
export { dataStore };
|
package/src/dog.mjs
DELETED
package/src/line.mjs
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { randomPen } from 'color-pen';
|
|
2
|
-
import { noColor } from './command.mjs';
|
|
3
|
-
import { dataStore } from './data-store.mjs';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
*
|
|
7
|
-
* @description 生成分割线
|
|
8
|
-
*
|
|
9
|
-
*/
|
|
10
|
-
function line() {
|
|
11
|
-
let str = '';
|
|
12
|
-
for (let i = 0; i < dataStore.screenWith; i++) {
|
|
13
|
-
str += noColor ? '=' : randomPen('=');
|
|
14
|
-
}
|
|
15
|
-
return str;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export { line };
|
package/src/main.mjs
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { colorText } from './colorText.mjs';
|
|
2
|
-
import { script, command, message } from './command.mjs';
|
|
3
|
-
import { line } from './line.mjs';
|
|
4
|
-
import { _p } from 'a-node-tools';
|
|
5
|
-
import { dog } from './dog.mjs';
|
|
6
|
-
import { blackSpace } from './blackSpace.mjs';
|
|
7
|
-
import { isNode } from 'a-js-tools';
|
|
8
|
-
import { bgBlackPen } from 'color-pen';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* 空行
|
|
12
|
-
*/
|
|
13
|
-
const space = '\n'.repeat(3);
|
|
14
|
-
/**
|
|
15
|
-
* 主程序入口
|
|
16
|
-
*/
|
|
17
|
-
function main() {
|
|
18
|
-
if (isNode() && process.env.npm_lifecycle_event === script) {
|
|
19
|
-
_p(space); //最上面的空白
|
|
20
|
-
_p(line()); // 最上面的彩色线
|
|
21
|
-
_p(); // 一个空行
|
|
22
|
-
blackSpace(); // 黑色背景
|
|
23
|
-
blackSpace(); // 黑色背景
|
|
24
|
-
_p(colorText(message)); // 彩色文本
|
|
25
|
-
blackSpace(); // 黑色背景
|
|
26
|
-
blackSpace(); // 黑色背景
|
|
27
|
-
_p(); // 一个空行
|
|
28
|
-
_p(line()); // 最下面的彩色线
|
|
29
|
-
_p(space); //最下面的空白
|
|
30
|
-
command.error();
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
const pen = bgBlackPen.brightRed;
|
|
34
|
-
const hidePen = pen.hide;
|
|
35
|
-
dog.error(isNode() && process.env.npm_lifecycle_event);
|
|
36
|
-
const m = ' 所以,看见这段文本,说明你哪里 ❌ 了 ';
|
|
37
|
-
_p('====================================');
|
|
38
|
-
_p('跳过了禁止发布,而且该命令可能不会显示在终端\n');
|
|
39
|
-
_p(hidePen(m));
|
|
40
|
-
_p(pen.blink.bold(m));
|
|
41
|
-
_p(hidePen(m));
|
|
42
|
-
_p('\n====================================');
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
export { main };
|