lemon-core 5.0.9 → 5.0.11
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 +9 -7
- package/model/package.json +7 -0
- package/package.json +5 -3
- package/testing/package.json +7 -0
package/README.md
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
[](https://codecov.io/gh/lemoncloud-io/lemon-core)
|
|
2
1
|
[](https://badge.fury.io/js/lemon-core)
|
|
3
2
|
[](https://badge.fury.io/gh/lemoncloud-io%2Flemon-core)
|
|
4
3
|
|
|
@@ -6,8 +5,8 @@
|
|
|
6
5
|
|
|
7
6
|
Bootloader for serverless micro-services on AWS Lambda: one function, several event sources, an engine with modules, a protocol service.
|
|
8
7
|
This README is the entry point for people and AI agents; every path and command below is in this repo. `§` refers to `HOW_TO_UPGRADE_V5.md`.
|
|
9
|
-
v5 status: npm `latest` is `5.0.
|
|
10
|
-
`CONTRIBUTING.md` describes
|
|
8
|
+
v5 status: npm `latest` is `5.0.10` (2026-10-30; B16-b shims + lemon-model `5.0.2` exact pin). The `v5` branch holds all 5.x work; `develop` is the default branch.
|
|
9
|
+
`CONTRIBUTING.md` § Branching describes both flows: `develop` for 4.x, `v5` for 5.x (merged into `v5` until it lands on `develop`).
|
|
11
10
|
|
|
12
11
|
## At a glance
|
|
13
12
|
|
|
@@ -16,7 +15,7 @@ v5 status: npm `latest` is `5.0.8` (2026-10-30; B15 + lemon-model 5.0.2). The `v
|
|
|
16
15
|
| Runtime | Node `>=24.0.0` (`engines.node`), `.nvmrc` `24.15.0` |
|
|
17
16
|
| Build | TypeScript `^5.9.3`. `npm run build` = `build-ts` (`tsc`) + `scripts/gen-esm-wrapper.cjs` |
|
|
18
17
|
| Tests | vitest `^4.1.4`: `src/**/*.spec.ts`, `bin/**/*.spec.mjs` (`vitest.config.ts`) |
|
|
19
|
-
| Formats | CJS `dist/` + ESM `dist/esm/*.mjs`. `exports`: `.`, `./testing`, `./model` (unreleased
|
|
18
|
+
| Formats | CJS `dist/` + ESM `dist/esm/*.mjs`. `exports`: `.`, `./testing`, `./model` (5.0.9; shim folders for moduleResolution=node/Jest 27 unreleased), `./dist/environ`, `./dist/cores/lambda/lambda-web-handler`, `./dist/extended/cores`, `./dist/*` (until v6), `./package.json` |
|
|
20
19
|
| Dependencies | `@aws-sdk/client-dynamodb, @aws-sdk/lib-dynamodb, @opensearch-project/opensearch, @smithy/signature-v4, @types/aws-lambda, @types/jsonwebtoken, async, crypto-js, js-yaml, jsonwebtoken, lemon-model, mime-types, node-cache, qs, source-map-support` |
|
|
21
20
|
| Optional peers | 8 AWS SDK packages `^3.1159.0`, loaded on first use. `typescript` `>=4.7` (CLI) |
|
|
22
21
|
| Published | `files`: `dist/**/*`, `bin/lemon-fields-types.mjs`, `bin/lib/fields-types.mjs`. CLI `lemon-fields-types` (since 5.0.5; see § 13.5) |
|
|
@@ -33,14 +32,14 @@ v5 status: npm `latest` is `5.0.8` (2026-10-30; B15 + lemon-model 5.0.2). The `v
|
|
|
33
32
|
| `src/extended/` | `CoreService`, `ManagerProxy`; `cores/`: template layer (`MyCoreService`, `checkFieldsAdmin()`) | Developer |
|
|
34
33
|
| `src/controllers/`, `tools/`, `helpers/` | Controllers, `express`, `$T`, `$protocol()` | Developer |
|
|
35
34
|
| `src/lib/` | Internal: `safe-json`, `log-mask`, `qs-compat`, `http-fetch`, `lazy`, `perf`. `lib` barrel: `dynamodb-value` only | Developer. Internal; never re-exported from a barrel |
|
|
36
|
-
| `src/common/test-helper.ts`, `src/environ.ts`, `src/model.ts` | Sub-paths `lemon-core/testing`, `lemon-core/dist/environ`, `lemon-core/model` (B16) | Rarely; all are published sub-paths |
|
|
35
|
+
| `src/common/test-helper.ts`, `src/environ.ts`, `src/model.ts`, `model/`, `testing/` shim folders | Sub-paths `lemon-core/testing`, `lemon-core/dist/environ`, `lemon-core/model` (B16) | Rarely; all are published sub-paths |
|
|
37
36
|
| `bin/` | `lemon-fields-types` CLI, `lib/` logic, spec, fixtures | Developer |
|
|
38
37
|
| `scripts/` | Build and API gates, lazy-load probes | Developer |
|
|
39
38
|
| `etc/api-names.v4.txt`, `etc/api-names.allow.txt` | v4 public-name baseline; allowed `+Name`/`-Name` | The baseline stays; add lines to the allow list only |
|
|
40
39
|
| `env/` | Configuration profiles | **Agents do not open it** |
|
|
41
40
|
| `docs/v5/`, `docs/specs/` | v5 design record (B0–B14); `$T`/`$U` specs | Updated with the change they describe |
|
|
42
41
|
| `dist/`, `coverage/` | Build and test output, ignored by git | **Never edited by hand** |
|
|
43
|
-
| `.github/workflows/` | `docgen.yaml
|
|
42
|
+
| `.github/workflows/` | None since B17 (`docgen.yaml` and the old CI config removed). No CI job; the gates run locally | A person |
|
|
44
43
|
|
|
45
44
|
## Request flow
|
|
46
45
|
|
|
@@ -204,10 +203,11 @@ npm audit --omit=dev # found 0 vulnerabilities
|
|
|
204
203
|
| [B14-relay-context-impl.md](docs/v5/B14-relay-context-impl.md) | B14 implementation record (WP1–WP3): lemon-model `channel`/`trace`, `protocol-relay.ts`, entry changes (Korean) |
|
|
205
204
|
| [B15-security.md](docs/v5/B15-security.md) | B15: cross-cloud `cid`, list `view`, internal admin, policy keys `internal`/`cross` |
|
|
206
205
|
| [B16-model-subpath.md](docs/v5/B16-model-subpath.md) | B16: sub-path `lemon-core/model` (all of lemon-model), exact lemon-model pin, consumer rule |
|
|
206
|
+
| [B17-repo-hygiene.md](docs/v5/B17-repo-hygiene.md) | B17: the old CI config and the typedoc workflow removed (token rotation by the owner), `CONTRIBUTING.md` `v5` flow |
|
|
207
207
|
| [docs/specs/](docs/specs/) | `$T`, `$U` characterization specs |
|
|
208
208
|
| [docs/header-identity-token.md](docs/header-identity-token.md) | Identity token header |
|
|
209
209
|
| [CONTRIBUTING](CONTRIBUTING.md), [SECURITY](SECURITY.md), [CODE_OF_CONDUCT](CODE_OF_CONDUCT.md) | PR process; supported versions; conduct |
|
|
210
|
-
| [CHANGELOG.md](CHANGELOG.md) | 5.0.5–5.0.
|
|
210
|
+
| [CHANGELOG.md](CHANGELOG.md) | 5.0.5–5.0.10 entries (B10, B13, B14, B15, B16), then stops at 1.2.0 (2019); see VERSION INFO |
|
|
211
211
|
|
|
212
212
|
## Contribution
|
|
213
213
|
|
|
@@ -225,6 +225,8 @@ See [CODE_OF_CONDUCT](CODE_OF_CONDUCT.md)
|
|
|
225
225
|
|
|
226
226
|
| Version | Description
|
|
227
227
|
|-- |--
|
|
228
|
+
| 5.0.10 | B16-b resolution shims `model/`·`testing/` for `moduleResolution: node` and Jest 27 (§ 16).
|
|
229
|
+
| 5.0.9 | B16 sub-path `lemon-core/model` (`export * from 'lemon-model'`), lemon-model pinned exact `5.0.2` (D73).
|
|
228
230
|
| 5.0.8 | B15 security follow-up (§ 11.7, § 15.2); lemon-model `^5.0.2`.
|
|
229
231
|
| 5.0.7 | Re-publish of 5.0.6 (same source).
|
|
230
232
|
| 5.0.6 | B13 default data-access policy of `AbstractCRUDController` (§ 11.7); B14 `context.channel`, signed relay `x-lemon-relay`, `TRACE` line, `x-protocol-context` deprecated (§ 15); README rewritten as the v5 entry point; lemon-model `^5.0.1`.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lemon-core",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.11",
|
|
4
4
|
"description": "Lemon Serverless Micro-Service Platform",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -93,7 +93,9 @@
|
|
|
93
93
|
"files": [
|
|
94
94
|
"dist/**/*",
|
|
95
95
|
"bin/lemon-fields-types.mjs",
|
|
96
|
-
"bin/lib/fields-types.mjs"
|
|
96
|
+
"bin/lib/fields-types.mjs",
|
|
97
|
+
"model/package.json",
|
|
98
|
+
"testing/package.json"
|
|
97
99
|
],
|
|
98
100
|
"engines": {
|
|
99
101
|
"node": ">=24.0.0"
|
|
@@ -111,7 +113,7 @@
|
|
|
111
113
|
"crypto-js": "^4.2.0",
|
|
112
114
|
"js-yaml": "^4.1.1",
|
|
113
115
|
"jsonwebtoken": "^9.0.3",
|
|
114
|
-
"lemon-model": "5.0.
|
|
116
|
+
"lemon-model": "5.0.4",
|
|
115
117
|
"mime-types": "^3.0.2",
|
|
116
118
|
"node-cache": "^5.1.2",
|
|
117
119
|
"qs": "^6.16.2",
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "lemon-core-testing",
|
|
3
|
+
"private": true,
|
|
4
|
+
"description": "v5 B16-b: resolution shim for `lemon-core/testing` under moduleResolution=node / Jest 27 (Node itself uses the exports map).",
|
|
5
|
+
"main": "../dist/common/test-helper.js",
|
|
6
|
+
"types": "../dist/common/test-helper.d.ts"
|
|
7
|
+
}
|