td-feature-node 0.0.1 → 0.0.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.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ThinkingData 实验平台的 Node.js 服务端 SDK,分阶段实现一期远端分流。
4
4
 
5
- **当前版本:0.0.1。远端分流、曝光、完整服务 Demo、HTTPS、资源压力及发布检查已补齐;自动曝光默认关闭。未发布 npm,未实现本地分流。真实项目与跨操作系统验收范围另行列明。**
5
+ **当前版本:0.0.2。远端分流、曝光、完整服务 Demo、HTTPS、资源压力及发布检查已补齐;自动曝光默认关闭。0.0.2 待发布,0.0.1 已发布;未实现本地分流。真实项目与跨操作系统验收范围另行列明。**
6
6
 
7
7
  ## 分阶段交付
8
8
 
@@ -18,7 +18,7 @@ ThinkingData 实验平台的 Node.js 服务端 SDK,分阶段实现一期远端
18
18
 
19
19
  ## 使用
20
20
 
21
- 当前版本为 `td-feature-node@0.0.1`,尚未发布 npm。npm 安装包只包含 `dist/`、README 和包信息;完整文档与 Demo 保留在源码仓库,不随安装包分发。本文的构建、Demo 和验收命令均在源码仓库根目录执行。
21
+ 当前待发布版本为 `td-feature-node@0.0.2`。npm 安装包只包含 `dist/`、README、包信息和纯生产依赖发布锁;完整文档与 Demo 保留在源码仓库,不随安装包分发。本文的构建、Demo 和验收命令均在源码仓库根目录执行。
22
22
 
23
23
  先构建并验证本地包:
24
24
 
@@ -28,10 +28,10 @@ npm test
28
28
  npm run verify:package
29
29
  ```
30
30
 
31
- 在消费项目安装 `artifacts/td-feature-node-0.0.1.tgz`,客户环境无需 TypeScript 或开发依赖:
31
+ 0.0.2 发布后,在消费项目从 registry 安装;默认安装无需 TypeScript、Prettier 或开发依赖:
32
32
 
33
33
  ```sh
34
- npm install /absolute/path/to/td-feature-node-0.0.1.tgz
34
+ npm install td-feature-node@0.0.2
35
35
  ```
36
36
 
37
37
  ```js
@@ -170,6 +170,6 @@ npm run verify:production-install -- /path/to/node-v12.0.0/bin/node
170
170
 
171
171
  验收从同一 tarball 安装 SDK,执行支持版本矩阵、最低 Node 版本的 engine-strict 生产安装、JS/TS/ESM 消费、八个压力场景及官方采集实例验证。测试和 Demo 从仓库运行,通过 `TD_FEATURE_SDK_PATH` 指向已安装的 SDK,生成绑定 SHA-256 的报告。命令、指标边界和公网发布保留项见 [压力验收](docs/PERFORMANCE.md)、[发布验收](docs/RELEASE.md)。没有自动发布步骤。
172
172
 
173
- 当前版本为 `0.0.1`,最低 Node.js **12.0.0**,发布 ES2019 CommonJS 与 `.d.ts`。`thinkingdata-node@1.5.0` 保留为生产依赖;随包发布 `npm-shrinkwrap.json`,固定支持 Node 12 的完整依赖树,包括 `winston@3.17.0`、`@dabh/diagnostics@2.0.3`、`triple-beam@1.3.0`、`color@3.2.1` 和 `color-string@1.9.1`。仓库和发布包均不使用 overrides,不包含 vendor 或修改过的官方源码。构建工具属于开发依赖,维护构建使用现代 Node;TLS 功能测试另需 OpenSSL CLI,消费 SDK 无需该命令。Node 12.0–12.16 的 ESM 导入需启用 `--experimental-modules`,CommonJS 无需该参数。
173
+ 当前版本为 `0.0.2`,最低 Node.js **12.0.0**,发布 ES2019 CommonJS 与 `.d.ts`。`thinkingdata-node@1.5.0` 保留为生产依赖;仓库使用完整的 `package-lock.json` 安装开发工具;打包时自动生成只含生产依赖的 `npm-shrinkwrap.json`,固定支持 Node 12 的依赖树,包括 `winston@3.17.0`、`@dabh/diagnostics@2.0.3`、`triple-beam@1.3.0`、`color@3.2.1` 和 `color-string@1.9.1`。打包结束会移除临时发布锁,保留正常的仓库 npm ci 流程。仓库和发布包均不使用 overrides,不包含 vendor 或修改过的官方源码。构建工具属于开发依赖,维护构建使用现代 Node;TLS 功能测试另需 OpenSSL CLI,消费 SDK 无需该命令。Node 12.0–12.16 的 ESM 导入需启用 `--experimental-modules`,CommonJS 无需该参数。
174
174
 
175
175
  Java 固定样本已纳入测试;维护者可用 `npm run fixtures:java` 从同级 Java SDK 当前源码重新生成。该命令需要 JDK 17+、Python 3 和脚本列出的本地 Maven 缓存依赖,不修改 Java 项目,不访问真实 RCC。
@@ -1,21 +1,16 @@
1
1
  {
2
2
  "name": "td-feature-node",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "td-feature-node",
9
- "version": "0.0.1",
9
+ "version": "0.0.2",
10
10
  "license": "UNLICENSED",
11
11
  "dependencies": {
12
12
  "thinkingdata-node": "1.5.0"
13
13
  },
14
- "devDependencies": {
15
- "@types/node": "18.19.130",
16
- "prettier": "3.9.10",
17
- "typescript": "5.9.3"
18
- },
19
14
  "engines": {
20
15
  "node": ">=12.0.0"
21
16
  }
@@ -29,16 +24,6 @@
29
24
  "node": ">=0.1.90"
30
25
  }
31
26
  },
32
- "node_modules/@types/node": {
33
- "version": "18.19.130",
34
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.130.tgz",
35
- "integrity": "sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==",
36
- "dev": true,
37
- "license": "MIT",
38
- "dependencies": {
39
- "undici-types": "~5.26.4"
40
- }
41
- },
42
27
  "node_modules/@types/triple-beam": {
43
28
  "version": "1.3.5",
44
29
  "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz",
@@ -218,22 +203,6 @@
218
203
  "fn.name": "1.x.x"
219
204
  }
220
205
  },
221
- "node_modules/prettier": {
222
- "version": "3.9.10",
223
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.9.10.tgz",
224
- "integrity": "sha512-skGHTH1Yb9QvaTC4hWnRTzEYtCpApF0UMBPz+t/0ZPzP8ihefo/btKd+QA7pUE0fEwA1SbS/NmhyEcstdXOIdA==",
225
- "dev": true,
226
- "license": "MIT",
227
- "bin": {
228
- "prettier": "bin/prettier.cjs"
229
- },
230
- "engines": {
231
- "node": ">=14"
232
- },
233
- "funding": {
234
- "url": "https://github.com/prettier/prettier?sponsor=1"
235
- }
236
- },
237
206
  "node_modules/readable-stream": {
238
207
  "version": "3.6.2",
239
208
  "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
@@ -323,27 +292,6 @@
323
292
  "node": ">=6.9"
324
293
  }
325
294
  },
326
- "node_modules/typescript": {
327
- "version": "5.9.3",
328
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
329
- "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
330
- "dev": true,
331
- "license": "Apache-2.0",
332
- "bin": {
333
- "tsc": "bin/tsc",
334
- "tsserver": "bin/tsserver"
335
- },
336
- "engines": {
337
- "node": ">=14.17"
338
- }
339
- },
340
- "node_modules/undici-types": {
341
- "version": "5.26.5",
342
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
343
- "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
344
- "dev": true,
345
- "license": "MIT"
346
- },
347
295
  "node_modules/util-deprecate": {
348
296
  "version": "1.0.2",
349
297
  "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -440,15 +388,6 @@
440
388
  "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.1.tgz",
441
389
  "integrity": "sha512-dTmUJzXSuayBK+hZydEaXd2mhx61qWQwkwaBBY6LyEOVx/L9aQU5ac8eFNEsd9nrD1+zb9zvDCphLSe8g1F4Qw=="
442
390
  },
443
- "@types/node": {
444
- "version": "18.19.130",
445
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.130.tgz",
446
- "integrity": "sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==",
447
- "dev": true,
448
- "requires": {
449
- "undici-types": "~5.26.4"
450
- }
451
- },
452
391
  "@types/triple-beam": {
453
392
  "version": "1.3.5",
454
393
  "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz",
@@ -592,12 +531,6 @@
592
531
  "fn.name": "1.x.x"
593
532
  }
594
533
  },
595
- "prettier": {
596
- "version": "3.9.10",
597
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.9.10.tgz",
598
- "integrity": "sha512-skGHTH1Yb9QvaTC4hWnRTzEYtCpApF0UMBPz+t/0ZPzP8ihefo/btKd+QA7pUE0fEwA1SbS/NmhyEcstdXOIdA==",
599
- "dev": true
600
- },
601
534
  "readable-stream": {
602
535
  "version": "3.6.2",
603
536
  "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
@@ -653,18 +586,6 @@
653
586
  "winston-daily-rotate-file": "^4.7.1"
654
587
  }
655
588
  },
656
- "typescript": {
657
- "version": "5.9.3",
658
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
659
- "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
660
- "dev": true
661
- },
662
- "undici-types": {
663
- "version": "5.26.5",
664
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
665
- "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
666
- "dev": true
667
- },
668
589
  "util-deprecate": {
669
590
  "version": "1.0.2",
670
591
  "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "td-feature-node",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "description": "ThinkingData server-side experimentation SDK for Node.js",
5
5
  "license": "UNLICENSED",
6
6
  "main": "dist/index.js",
@@ -25,16 +25,17 @@
25
25
  "demo:s5": "npm run build && node examples/node-demo/full-chain.js",
26
26
  "demo:service": "npm run build && node examples/node-demo/service.js",
27
27
  "fixtures:java": "python3 scripts/generate-java-fixtures.py",
28
- "verify:package": "npm run build && node scripts/verify-package.js",
28
+ "verify:package": "node scripts/verify-package.js",
29
29
  "verify:stress": "node scripts/verify-stress.js",
30
30
  "verify:pm2": "npm run build && node scripts/verify-pm2.js",
31
31
  "verify:release": "node scripts/verify-release.js",
32
32
  "verify:all": "node scripts/verify-all.js",
33
- "prepack": "npm run build",
33
+ "prepack": "npm run build && node scripts/package-lock.js --prepare",
34
34
  "format": "prettier --write \"src/**/*.ts\" \"test/*.js\" \"scripts/*.js\" \"examples/node-demo/*.js\"",
35
35
  "format:check": "prettier --check \"src/**/*.ts\" \"test/*.js\" \"scripts/*.js\" \"examples/node-demo/*.js\"",
36
36
  "verify:collector": "node scripts/verify-upstream-collector.js",
37
- "verify:production-install": "node scripts/verify-production-install.js"
37
+ "verify:production-install": "node scripts/verify-production-install.js",
38
+ "postpack": "node scripts/package-lock.js --clean"
38
39
  },
39
40
  "devDependencies": {
40
41
  "@types/node": "18.19.130",