@cmflow/atlas 3.4.0-beta.2 → 3.4.0-beta.21
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 +231 -5
- package/dist/bin/atlas.d.mts +2 -0
- package/dist/bin/atlas.mjs +29100 -3106
- package/dist/bin/atlas.mjs.map +1 -0
- package/dist/defineExpressionRule-GhkeHHT8.mjs +10 -0
- package/dist/defineExpressionRule-GhkeHHT8.mjs.map +1 -0
- package/dist/index.d.mts +36 -0
- package/dist/index.mjs +1297 -0
- package/dist/index.mjs.map +1 -0
- package/dist/propertyExtractionService-8BjqpPFa.mjs +172 -0
- package/dist/propertyExtractionService-8BjqpPFa.mjs.map +1 -0
- package/dist/rolldown-runtime-CGR6nZuH.mjs +34 -0
- package/dist/routeBackendTopologyService-CkOLUfcj.mjs +8728 -0
- package/dist/routeBackendTopologyService-CkOLUfcj.mjs.map +1 -0
- package/dist/rules/lodashGetRule.d.mts +7 -0
- package/dist/rules/lodashGetRule.mjs +24 -0
- package/dist/rules/lodashGetRule.mjs.map +1 -0
- package/dist/rules/mappingUtilityRule.d.mts +7 -0
- package/dist/rules/mappingUtilityRule.mjs +38 -0
- package/dist/rules/mappingUtilityRule.mjs.map +1 -0
- package/dist/rules/memberGetFieldRule.d.mts +7 -0
- package/dist/rules/memberGetFieldRule.mjs +27 -0
- package/dist/rules/memberGetFieldRule.mjs.map +1 -0
- package/dist/taskProgressService-CAC_RIoa.mjs +1229 -0
- package/dist/taskProgressService-CAC_RIoa.mjs.map +1 -0
- package/dist/token-CiiblKFL.mjs +62 -0
- package/dist/token-CiiblKFL.mjs.map +1 -0
- package/dist/token-util-Br4-y5kE.mjs +7 -0
- package/dist/token-util-Dnzm6rU4.mjs +471 -0
- package/dist/token-util-Dnzm6rU4.mjs.map +1 -0
- package/dist/types-Af0_VOnh.d.mts +122 -0
- package/dist/workers/routeBackendTopologyWorker.d.mts +2 -0
- package/dist/workers/routeBackendTopologyWorker.mjs +34 -0
- package/dist/workers/routeBackendTopologyWorker.mjs.map +1 -0
- package/knowledges/cms-and-directus-indirect-routes.md +5 -3
- package/package.json +22 -13
- package/dist/defineRule-Dfvzj6n2.mjs +0 -2
- package/dist/defineRule-Dfvzj6n2.mjs.map +0 -1
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { fileURLToPath as __atlasFileURLToPath } from "node:url";
|
|
2
|
+
const __filename = __atlasFileURLToPath(import.meta.url);
|
|
3
|
+
import { t as generateBackendTopologyArtifacts } from "../routeBackendTopologyService-CkOLUfcj.mjs";
|
|
4
|
+
import { parentPort, workerData } from "node:worker_threads";
|
|
5
|
+
|
|
6
|
+
//#region src/workers/routeBackendTopologyWorker.ts
|
|
7
|
+
const data = workerData;
|
|
8
|
+
generateBackendTopologyArtifacts({
|
|
9
|
+
cwd: data.cwd,
|
|
10
|
+
routeSelectors: data.routeSelectors,
|
|
11
|
+
onRouteProgress: ({ route, stage }) => {
|
|
12
|
+
if (stage !== "completed") return;
|
|
13
|
+
parentPort?.postMessage({
|
|
14
|
+
type: "progress",
|
|
15
|
+
route
|
|
16
|
+
});
|
|
17
|
+
},
|
|
18
|
+
onArtifact: async (artifact) => {
|
|
19
|
+
parentPort?.postMessage({
|
|
20
|
+
type: "artifact",
|
|
21
|
+
artifact
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}).catch((error) => {
|
|
25
|
+
parentPort?.postMessage({
|
|
26
|
+
type: "error",
|
|
27
|
+
message: error instanceof Error ? error.message : String(error)
|
|
28
|
+
});
|
|
29
|
+
process.exitCode = 1;
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
//#endregion
|
|
33
|
+
export { };
|
|
34
|
+
//# sourceMappingURL=routeBackendTopologyWorker.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routeBackendTopologyWorker.mjs","names":[],"sources":["../../src/workers/routeBackendTopologyWorker.ts"],"sourcesContent":["import { parentPort, workerData } from \"node:worker_threads\";\nimport { generateBackendTopologyArtifacts, type BackendTopologyRouteSelector } from \"../services/routeBackendTopologyService\";\n\ntype WorkerData = {\n cwd: string;\n routeSelectors: BackendTopologyRouteSelector[];\n};\n\nconst data = workerData as WorkerData;\n\ngenerateBackendTopologyArtifacts({\n cwd: data.cwd,\n routeSelectors: data.routeSelectors,\n onRouteProgress: ({ route, stage }) => {\n if (stage !== \"completed\") {\n return;\n }\n parentPort?.postMessage({ type: \"progress\", route });\n },\n onArtifact: async (artifact) => {\n parentPort?.postMessage({ type: \"artifact\", artifact });\n }\n}).catch((error) => {\n parentPort?.postMessage({\n type: \"error\",\n message: error instanceof Error ? error.message : String(error)\n });\n process.exitCode = 1;\n});\n"],"mappings":";;;;;;AAQA,MAAM,OAAO;AAEb,iCAAiC;CAC/B,KAAK,KAAK;CACV,gBAAgB,KAAK;CACrB,kBAAkB,EAAE,OAAO,YAAY;EACrC,IAAI,UAAU,aACZ;EAEF,YAAY,YAAY;GAAE,MAAM;GAAY;EAAM,CAAC;CACrD;CACA,YAAY,OAAO,aAAa;EAC9B,YAAY,YAAY;GAAE,MAAM;GAAY;EAAS,CAAC;CACxD;AACF,CAAC,CAAC,CAAC,OAAO,UAAU;CAClB,YAAY,YAAY;EACtB,MAAM;EACN,SAAS,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;CAChE,CAAC;CACD,QAAQ,WAAW;AACrB,CAAC"}
|
|
@@ -97,9 +97,11 @@ Cette limite explique les valeurs `method: null` et `route: unknown` observées
|
|
|
97
97
|
Avec `@directus/sdk`, le code métier ne manipule généralement pas de route HTTP explicite. Il décrit une opération :
|
|
98
98
|
|
|
99
99
|
```ts
|
|
100
|
-
client.request(
|
|
101
|
-
|
|
102
|
-
|
|
100
|
+
client.request(
|
|
101
|
+
readItems("offers", {
|
|
102
|
+
fields: ["id", "label"]
|
|
103
|
+
})
|
|
104
|
+
);
|
|
103
105
|
```
|
|
104
106
|
|
|
105
107
|
La méthode et l'URL HTTP sont construites par le SDK. Chercher uniquement un littéral de route dans le code ne peut donc pas produire un résultat fiable.
|
package/package.json
CHANGED
|
@@ -1,44 +1,53 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cmflow/atlas",
|
|
3
|
-
"version": "3.4.0-beta.
|
|
3
|
+
"version": "3.4.0-beta.21",
|
|
4
4
|
"description": "API-to-backend mapping catalogue for Club Med Flow",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "romakita",
|
|
7
|
-
"email": "rom.lenzotti@gmail.com",
|
|
8
7
|
"bin": "./dist/bin/atlas.mjs",
|
|
9
8
|
"type": "module",
|
|
10
9
|
"main": "./dist/index.mjs",
|
|
11
10
|
"module": "./dist/index.mjs",
|
|
11
|
+
"types": "./dist/index.d.mts",
|
|
12
12
|
"exports": {
|
|
13
|
-
".":
|
|
14
|
-
|
|
13
|
+
".": {
|
|
14
|
+
"types": "./dist/index.d.mts",
|
|
15
|
+
"import": "./dist/index.mjs"
|
|
16
|
+
},
|
|
17
|
+
"./rules/*": {
|
|
18
|
+
"types": "./dist/rules/*.d.mts",
|
|
19
|
+
"import": "./dist/rules/*.mjs"
|
|
20
|
+
}
|
|
15
21
|
},
|
|
16
22
|
"scripts": {
|
|
17
23
|
"build": "tsdown",
|
|
18
24
|
"dev": "tsdown --watch",
|
|
19
25
|
"prepare": "yarn build",
|
|
20
26
|
"test": "vitest run",
|
|
21
|
-
"test:agent": "vitest run --agent"
|
|
27
|
+
"test:agent": "vitest run --agent",
|
|
28
|
+
"atlas:backend-sources": "yarn build && node dist/bin/atlas.mjs backend-sources --config src/__mock__/atlas.config.ts"
|
|
22
29
|
},
|
|
23
30
|
"dependencies": {
|
|
31
|
+
"ts-morph": "^25.0.1",
|
|
32
|
+
"tsx": "^4.19.0"
|
|
33
|
+
},
|
|
34
|
+
"devDependencies": {
|
|
24
35
|
"@ai-sdk/openai-compatible": "^3.0.14",
|
|
25
36
|
"@clack/prompts": "^1.7.0",
|
|
26
37
|
"@directus/sdk": "21.2.2",
|
|
38
|
+
"@types/node": "24.1.0",
|
|
27
39
|
"ai": "^7.0.35",
|
|
28
40
|
"commander": "^12.1.0",
|
|
29
41
|
"globby": "^14.0.0",
|
|
42
|
+
"lodash": "^4.18.1",
|
|
30
43
|
"minimatch": "^10.0.1",
|
|
31
|
-
"ts-morph": "^25.0.1",
|
|
32
|
-
"tsx": "^4.19.0",
|
|
33
|
-
"yaml": "^2.0.0",
|
|
34
|
-
"zod": "^4.4.3"
|
|
35
|
-
},
|
|
36
|
-
"devDependencies": {
|
|
37
|
-
"@types/node": "24.1.0",
|
|
38
44
|
"tsdown": "^0.22.14",
|
|
39
45
|
"typescript": "^7.0.2",
|
|
40
|
-
"vitest": "^3.0.8"
|
|
46
|
+
"vitest": "^3.0.8",
|
|
47
|
+
"yaml": "^2.0.0",
|
|
48
|
+
"zod": "^4.4.3"
|
|
41
49
|
},
|
|
50
|
+
"email": "rom.lenzotti@gmail.com",
|
|
42
51
|
"peerDependencies": {},
|
|
43
52
|
"publishConfig": {
|
|
44
53
|
"tag": "beta"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"defineRule-Dfvzj6n2.mjs","names":[],"sources":["../src/utils/defineRule.ts"],"sourcesContent":["import type { Expression } from \"ts-morph\";\nimport type { UserConfig } from \"../models/types\";\n\nexport type FieldExtractionRuleResult = {\n backendField?: string;\n transparent?: boolean;\n mapperType?: string;\n apiMapping?: boolean;\n};\n\nexport type FieldExtractionRule = {\n name: string;\n match: (expression: Expression, config: UserConfig) => boolean;\n parse: (expression: Expression, config: UserConfig) => FieldExtractionRuleResult | undefined;\n};\n\nexport function defineExpressionRule(rule: FieldExtractionRule): FieldExtractionRule {\n return rule;\n}\n"],"mappings":"AAgBA,SAAgB,EAAqB,EAAgD,CACnF,OAAO,CACT"}
|