deel-local-cli 1.20.1 → 1.20.2
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/README.ko.md +3 -2
- package/README.md +3 -2
- package/package.json +1 -1
- package/src/safety/secrets.js +25 -6
package/README.ko.md
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
|
|
21
21
|
[](https://github.com/jysvai/deel-local-cli/actions/workflows/test.yml)
|
|
22
22
|
[](https://github.com/jysvai/deel-local-cli/actions/workflows/codeql.yml)
|
|
23
|
-
[](docs/ko/develop.md)
|
|
24
24
|
|
|
25
25
|
[](https://www.npmjs.com/package/deel-local-cli?activeTab=dependencies)
|
|
26
26
|
[](package.json)
|
|
@@ -301,7 +301,7 @@ deel --offline
|
|
|
301
301
|
무엇이 어디로 갈 수 있는지는 켤 때 화면 맨 위에 늘 적혀 있습니다.
|
|
302
302
|
|
|
303
303
|
```
|
|
304
|
-
deel 1.20.
|
|
304
|
+
deel 1.20.2 ⌂ 이 안
|
|
305
305
|
보냄 이 컴퓨터 안 127.0.0.1:11434 ← 여기 말고는 어디로도 안 갑니다
|
|
306
306
|
```
|
|
307
307
|
|
|
@@ -1289,6 +1289,7 @@ zip 은 진짜 `unzip` 으로, tar 는 진짜 `tar` 가 만든 것을 읽혀 교
|
|
|
1289
1289
|
|
|
1290
1290
|
| 판 | 무엇이 바뀌었나 |
|
|
1291
1291
|
|---|---|
|
|
1292
|
+
| [1.20.2](docs/ko/releases/1.20.md#1202) | 앞 판이 막으려던 자리를 앞 판이 막고 있었습니다 |
|
|
1292
1293
|
| [1.20.1](docs/ko/releases/1.20.md#1201) | `PASSWORD=` 는 한 번도 안 잡히고 있었습니다 |
|
|
1293
1294
|
| [1.20.0](docs/ko/releases/1.20.md#1200) | 대문자로 안 적은 열쇠는 그대로 나가고 있었습니다 |
|
|
1294
1295
|
| [1.19.5](docs/ko/releases/1.19.md#1195) | 윈도우 줄바꿈에서는 앞 판의 고침이 통째로 헛돌고 있었습니다 |
|
package/README.md
CHANGED
|
@@ -20,7 +20,7 @@ Vendor APIs connect too — **only when you say so**
|
|
|
20
20
|
|
|
21
21
|
[](https://github.com/jysvai/deel-local-cli/actions/workflows/test.yml)
|
|
22
22
|
[](https://github.com/jysvai/deel-local-cli/actions/workflows/codeql.yml)
|
|
23
|
-
[](docs/en/develop.md)
|
|
24
24
|
|
|
25
25
|
[](https://www.npmjs.com/package/deel-local-cli?activeTab=dependencies)
|
|
26
26
|
[](package.json)
|
|
@@ -374,7 +374,7 @@ deel --offline
|
|
|
374
374
|
The destination is printed at the top of every session:
|
|
375
375
|
|
|
376
376
|
```
|
|
377
|
-
deel 1.20.
|
|
377
|
+
deel 1.20.2 ⌂ inside
|
|
378
378
|
Sends to this machine 127.0.0.1:11434 ← nowhere else
|
|
379
379
|
```
|
|
380
380
|
|
|
@@ -1350,6 +1350,7 @@ so one run tells you everything.
|
|
|
1350
1350
|
|
|
1351
1351
|
| Version | What changed |
|
|
1352
1352
|
|---|---|
|
|
1353
|
+
| [1.20.2](docs/en/releases/1.20.md#1202) | The previous release was blocking the very thing it meant to allow |
|
|
1353
1354
|
| [1.20.1](docs/en/releases/1.20.md#1201) | `PASSWORD=` was never once caught |
|
|
1354
1355
|
| [1.20.0](docs/en/releases/1.20.md#1200) | A key not written in capitals was going out as it was |
|
|
1355
1356
|
| [1.19.5](docs/en/releases/1.19.md#1195) | On Windows line endings the previous release's fix did nothing at all |
|
package/package.json
CHANGED
package/src/safety/secrets.js
CHANGED
|
@@ -546,11 +546,15 @@ export const 갈래 = [
|
|
|
546
546
|
*
|
|
547
547
|
* 민 이름으로 받을 때 빼는 것이 셋 있다. 재 보고 뺐다.
|
|
548
548
|
*
|
|
549
|
-
* -
|
|
550
|
-
*
|
|
551
|
-
*
|
|
549
|
+
* - `key` — 대소문자 가리지 않고 뺀다. `key: 값` 도 `KEY: 값` 도 그냥
|
|
550
|
+
* 짝의 이름일 때가 너무 많다. 앞머리가 붙은 `API_KEY` 는 본다.
|
|
551
|
+
* - `PWD` — 셸의 **현재 폴더**다. `PWD` 도 `OLDPWD` 도 뺀다(밑줄이
|
|
552
|
+
* 앞에 있어야 본다). `DB_PWD` 는 그대로 본다.
|
|
552
553
|
* - 붙임표로 이은 낱말 — `id-token: write` 는 깃허브 액션 문법이다.
|
|
553
554
|
* 밑줄과 낙타등은 이름씨 관례고, 붙임표는 YAML 짝 이름 관례다.
|
|
555
|
+
* 대소문자 가리지 않는다(`id-TOKEN` 도 마찬가지다).
|
|
556
|
+
* `X-API-KEY:` 처럼 붙임표로 이은 **머리글**은 따로 있는 `헤더` 갈래가
|
|
557
|
+
* 집는다 — 여기서 빠져도 안 샌다.
|
|
554
558
|
*
|
|
555
559
|
* 재 봤다. 이 저장소 파일 348개에 넣어 보니 21줄이 새로 가려졌고,
|
|
556
560
|
* **전부 진짜 열쇠였다**(`apiKey: 'sk-…'` 꼴).
|
|
@@ -560,12 +564,27 @@ export const 갈래 = [
|
|
|
560
564
|
* 것보다 낫다(1.19.0). 검사로 못 박아 둔다.
|
|
561
565
|
*/
|
|
562
566
|
id: '환경변수',
|
|
563
|
-
re: /\b(_?(?:[A-Z0-9_]*(?:
|
|
567
|
+
re: /\b(?<!-)(_?(?:[A-Z0-9_]*(?:TOKEN|SECRET|PASSWORD|PASSWD|CREDENTIALS?)|[A-Z0-9_]+KEY|[A-Z0-9_]*_PWD|[A-Za-z][A-Za-z0-9]*(?:_(?:key|token|secret|password|passwd|pwd|credentials?)|Key|Token|Secret|Password|Passwd|Pwd|Credentials?)|(?:password|secret|token|passwd|credentials?)))(?:(["']?[ \t]*(?::[^\n,;]{0,200}?|:[^\n]{0,200}?[>\])}][^\n,;]{0,80}?)[ \t]*=(?!=|>)\s*)((?:\(\s*)+)?(["'`])(?!«)((?:\\[^\n]|(?!\4)[^\n]){4,}?)\4((?:\s*\))+)?|(["']?\s*(?::(?![^\n]{0,200}?=[ \t]*«가림:)|=)\s*)((?:\(\s*)+)?(?:(["'`])(?!«)((?:\\[^\n]|(?!\9)[^\n]){4,}?)\9|(?!«)(?![\w$.]+\s*[([])(?!(?:string|number|boolean|bigint|symbol|object|unknown|never|void|null|undefined|true|false)\b)(?![^\n]{0,200}?}[ \t]*(?:=(?!=|>)|\)))(?!\(*\s*(?:process\.env|import\.meta\.env|globalThis\.process\.env|globalThis\.env|os\.environ|os\.getenv|ENV(?=\s*[[.(])|Deno\.env|Bun\.env)\b)([^\s"'()[\]{},;<>]{4,})(?=[ \t]*(?:[;,)\]}\r\n#]|$)))((?:\s*\))+)?)/g,
|
|
564
568
|
바꾸기: (m, 이름, 타입사이, 타입여는, 따A, 값A, 타입닫는,
|
|
565
569
|
민사이, 여는, 따B, 값B, 값C, 닫는, 자리, 전체) => {
|
|
566
570
|
// 따옴표 없는 맨 값만 「코드가 가리키는 이름인가」 를 되묻는다.
|
|
567
|
-
|
|
568
|
-
|
|
571
|
+
if (값C !== undefined) {
|
|
572
|
+
/*
|
|
573
|
+
* 짝이 여러 줄에 걸리면 이름 줄과 값 줄이 다르다. **둘 중 하나라도**
|
|
574
|
+
* 코드면 코드다.
|
|
575
|
+
*
|
|
576
|
+
* const API_KEY = ← 이름 줄에만 `const` 가 있다
|
|
577
|
+
* config.apiKey
|
|
578
|
+
* const opts = { apiKey:
|
|
579
|
+
* config.apiKey, ← 값 줄에만 쉼표가 있다
|
|
580
|
+
* };
|
|
581
|
+
*
|
|
582
|
+
* 한쪽만 보면 반대쪽이 뭉개진다(17차에 값 줄만 보게 고쳤다가
|
|
583
|
+
* 18차에 위쪽을 잃었다).
|
|
584
|
+
*/
|
|
585
|
+
const 값자리 = 자리 + m.lastIndexOf(값C);
|
|
586
|
+
if (!점값을가릴까(전체, 자리, 값C) || !점값을가릴까(전체, 값자리, 값C)) return m;
|
|
587
|
+
}
|
|
569
588
|
return 타입사이 === undefined
|
|
570
589
|
? `${이름}${민사이}${여는 ?? ''}${표('환경변수')}${닫는 ?? ''}`
|
|
571
590
|
: `${이름}${타입사이}${타입여는 ?? ''}${표('환경변수')}${타입닫는 ?? ''}`;
|