connectbase-client 5.8.0 → 5.9.0
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 +26 -0
- package/dist/cli.js +8 -1
- package/package.json +75 -75
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,32 @@
|
|
|
3
3
|
본 SDK 의 모든 주요 변경사항을 [Keep a Changelog](https://keepachangelog.com/ko/1.1.0/) 형식으로 기록합니다.
|
|
4
4
|
버전은 [Semantic Versioning](https://semver.org/lang/ko/) 을 따릅니다.
|
|
5
5
|
|
|
6
|
+
## [5.9.0] - 2026-08-02
|
|
7
|
+
|
|
8
|
+
### Fixed — `_redirects` / `_headers` 가 배포되지 않던 것
|
|
9
|
+
|
|
10
|
+
`connectbase deploy` 가 `_redirects` 와 `_headers` 를 **조용히 건너뛰고 있었다**. 배포 대상
|
|
11
|
+
판정이 확장자만 봤는데 이 둘은 확장자가 없어(`path.extname()` 이 빈 문자열) 허용목록에
|
|
12
|
+
걸리지 않았다.
|
|
13
|
+
|
|
14
|
+
두 파일은 플랫폼이 사이트 설정으로 읽는 파일이다 — `_redirects` 는 경로 매핑(프리렌더
|
|
15
|
+
경로를 실제 HTML 로 연결), `_headers` 는 커스텀 응답 헤더. 즉 기능은 지원되는데 업로드
|
|
16
|
+
경로만 비어 있었다. 그래서 배포 스크립트가 `deploy` 직후 MCP `write_file` 로 이 파일들을
|
|
17
|
+
따로 얹는 우회가 관행이 됐다.
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
# 이제 dist 에 두기만 하면 함께 올라간다
|
|
21
|
+
echo "/blog /blog.html 200" > dist/_redirects
|
|
22
|
+
npx connectbase deploy ./dist
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
- `_redirects`, `_headers` 만 이름 완전일치로 허용한다. `Dockerfile`·`Makefile`·`LICENSE`
|
|
26
|
+
같은 다른 확장자 없는 파일은 계속 제외된다 (공개 사이트에 소스가 실리면 안 되므로).
|
|
27
|
+
- 두 파일은 `text/plain; charset=utf-8` 로 업로드된다.
|
|
28
|
+
|
|
29
|
+
플랫폼 이슈 `019fc195` 의 SDK 측 대응. 같은 이슈에서 MCP `write_file` 자체가 프로덕션에서
|
|
30
|
+
전부 실패하던 결함도 함께 고쳐졌다(서버 측, 별도 배포).
|
|
31
|
+
|
|
6
32
|
## [5.8.0] - 2026-08-02
|
|
7
33
|
|
|
8
34
|
### Fixed — `sync_lost` 재동기화: 설계만 있고 한 번도 돌지 않던 복구 경로
|
package/dist/cli.js
CHANGED
|
@@ -220,6 +220,7 @@ var ALLOWED_EXTENSIONS = /* @__PURE__ */ new Set([
|
|
|
220
220
|
".gltf",
|
|
221
221
|
".bin"
|
|
222
222
|
]);
|
|
223
|
+
var ALLOWED_EXTENSIONLESS_FILES = /* @__PURE__ */ new Set(["_redirects", "_headers"]);
|
|
223
224
|
var BINARY_EXTENSIONS = /* @__PURE__ */ new Set([
|
|
224
225
|
".png",
|
|
225
226
|
".jpg",
|
|
@@ -271,9 +272,15 @@ var MIME_BY_EXT = {
|
|
|
271
272
|
".bin": "application/octet-stream"
|
|
272
273
|
};
|
|
273
274
|
function guessMimeType(filePath) {
|
|
275
|
+
if (ALLOWED_EXTENSIONLESS_FILES.has(path2.basename(filePath))) {
|
|
276
|
+
return "text/plain; charset=utf-8";
|
|
277
|
+
}
|
|
274
278
|
return MIME_BY_EXT[path2.extname(filePath).toLowerCase()] || "application/octet-stream";
|
|
275
279
|
}
|
|
276
280
|
function isAllowedDeployExt(filePath) {
|
|
281
|
+
if (ALLOWED_EXTENSIONLESS_FILES.has(path2.basename(filePath))) {
|
|
282
|
+
return true;
|
|
283
|
+
}
|
|
277
284
|
return ALLOWED_EXTENSIONS.has(path2.extname(filePath).toLowerCase());
|
|
278
285
|
}
|
|
279
286
|
function isBinaryDeployExt(filePath) {
|
|
@@ -322,7 +329,7 @@ function collectFiles(dir, baseDir = dir) {
|
|
|
322
329
|
}
|
|
323
330
|
} else if (entry.isFile()) {
|
|
324
331
|
const ext = path2.extname(entry.name).toLowerCase();
|
|
325
|
-
if (!
|
|
332
|
+
if (!isAllowedDeployExt(entry.name)) {
|
|
326
333
|
continue;
|
|
327
334
|
}
|
|
328
335
|
if (entry.name.startsWith(".")) {
|
package/package.json
CHANGED
|
@@ -1,77 +1,77 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
2
|
+
"name": "connectbase-client",
|
|
3
|
+
"version": "5.9.0",
|
|
4
|
+
"description": "Connect Base JavaScript/TypeScript SDK for browser and Node.js",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "git+https://github.com/connectbase-world/connectbase.git",
|
|
8
|
+
"directory": "frontend/package/public/connect-base-client"
|
|
9
|
+
},
|
|
10
|
+
"homepage": "https://github.com/connectbase-world/connectbase/tree/release/frontend/package/public/connect-base-client#readme",
|
|
11
|
+
"bugs": {
|
|
12
|
+
"url": "https://github.com/connectbase-world/connectbase/issues"
|
|
13
|
+
},
|
|
14
|
+
"publishConfig": {
|
|
15
|
+
"access": "public"
|
|
16
|
+
},
|
|
17
|
+
"sideEffects": false,
|
|
18
|
+
"main": "dist/index.js",
|
|
19
|
+
"module": "dist/index.mjs",
|
|
20
|
+
"types": "dist/index.d.ts",
|
|
21
|
+
"browser": "dist/connect-base.umd.js",
|
|
22
|
+
"unpkg": "dist/connect-base.umd.js",
|
|
23
|
+
"bin": {
|
|
24
|
+
"connectbase": "dist/cli.js",
|
|
25
|
+
"connectbase-client": "dist/cli.js"
|
|
26
|
+
},
|
|
27
|
+
"exports": {
|
|
28
|
+
".": {
|
|
29
|
+
"types": "./dist/index.d.ts",
|
|
30
|
+
"import": "./dist/index.mjs",
|
|
31
|
+
"require": "./dist/index.js"
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"files": [
|
|
35
|
+
"dist",
|
|
36
|
+
"LICENSE",
|
|
37
|
+
"CHANGELOG.md",
|
|
38
|
+
"README.md",
|
|
39
|
+
"MIGRATION-v2.md"
|
|
40
|
+
],
|
|
41
|
+
"scripts": {
|
|
42
|
+
"build": "tsup",
|
|
43
|
+
"dev": "tsup --watch",
|
|
44
|
+
"typecheck": "tsc --noEmit",
|
|
45
|
+
"test": "vitest run",
|
|
46
|
+
"test:types": "tsc --noEmit -p test/tsconfig.json",
|
|
47
|
+
"release": "pnpm build && npm publish --access public",
|
|
48
|
+
"lint": "biome lint .",
|
|
49
|
+
"format": "biome format --write .",
|
|
50
|
+
"check": "biome check ."
|
|
51
|
+
},
|
|
52
|
+
"keywords": [
|
|
53
|
+
"connect-base",
|
|
54
|
+
"baas",
|
|
55
|
+
"backend-as-a-service",
|
|
56
|
+
"database",
|
|
57
|
+
"storage",
|
|
58
|
+
"sdk",
|
|
59
|
+
"cli",
|
|
60
|
+
"deploy",
|
|
61
|
+
"ai",
|
|
62
|
+
"streaming",
|
|
63
|
+
"realtime",
|
|
64
|
+
"tunnel"
|
|
65
|
+
],
|
|
66
|
+
"author": "Connect Base",
|
|
67
|
+
"license": "MIT",
|
|
68
|
+
"devDependencies": {
|
|
69
|
+
"@types/node": "^22.15.18",
|
|
70
|
+
"tsup": "^8.5.1",
|
|
71
|
+
"typescript": "^5.9.3",
|
|
72
|
+
"vitest": "^3.2.4"
|
|
73
|
+
},
|
|
74
|
+
"engines": {
|
|
75
|
+
"node": ">=16"
|
|
76
|
+
}
|
|
77
77
|
}
|