@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.
Files changed (38) hide show
  1. package/README.md +231 -5
  2. package/dist/bin/atlas.d.mts +2 -0
  3. package/dist/bin/atlas.mjs +29100 -3106
  4. package/dist/bin/atlas.mjs.map +1 -0
  5. package/dist/defineExpressionRule-GhkeHHT8.mjs +10 -0
  6. package/dist/defineExpressionRule-GhkeHHT8.mjs.map +1 -0
  7. package/dist/index.d.mts +36 -0
  8. package/dist/index.mjs +1297 -0
  9. package/dist/index.mjs.map +1 -0
  10. package/dist/propertyExtractionService-8BjqpPFa.mjs +172 -0
  11. package/dist/propertyExtractionService-8BjqpPFa.mjs.map +1 -0
  12. package/dist/rolldown-runtime-CGR6nZuH.mjs +34 -0
  13. package/dist/routeBackendTopologyService-CkOLUfcj.mjs +8728 -0
  14. package/dist/routeBackendTopologyService-CkOLUfcj.mjs.map +1 -0
  15. package/dist/rules/lodashGetRule.d.mts +7 -0
  16. package/dist/rules/lodashGetRule.mjs +24 -0
  17. package/dist/rules/lodashGetRule.mjs.map +1 -0
  18. package/dist/rules/mappingUtilityRule.d.mts +7 -0
  19. package/dist/rules/mappingUtilityRule.mjs +38 -0
  20. package/dist/rules/mappingUtilityRule.mjs.map +1 -0
  21. package/dist/rules/memberGetFieldRule.d.mts +7 -0
  22. package/dist/rules/memberGetFieldRule.mjs +27 -0
  23. package/dist/rules/memberGetFieldRule.mjs.map +1 -0
  24. package/dist/taskProgressService-CAC_RIoa.mjs +1229 -0
  25. package/dist/taskProgressService-CAC_RIoa.mjs.map +1 -0
  26. package/dist/token-CiiblKFL.mjs +62 -0
  27. package/dist/token-CiiblKFL.mjs.map +1 -0
  28. package/dist/token-util-Br4-y5kE.mjs +7 -0
  29. package/dist/token-util-Dnzm6rU4.mjs +471 -0
  30. package/dist/token-util-Dnzm6rU4.mjs.map +1 -0
  31. package/dist/types-Af0_VOnh.d.mts +122 -0
  32. package/dist/workers/routeBackendTopologyWorker.d.mts +2 -0
  33. package/dist/workers/routeBackendTopologyWorker.mjs +34 -0
  34. package/dist/workers/routeBackendTopologyWorker.mjs.map +1 -0
  35. package/knowledges/cms-and-directus-indirect-routes.md +5 -3
  36. package/package.json +22 -13
  37. package/dist/defineRule-Dfvzj6n2.mjs +0 -2
  38. 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(readItems("offers", {
101
- fields: ["id", "label"]
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.2",
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
- ".": "./dist/index.mjs",
14
- "./rules/*": "./dist/rules/*.mjs"
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,2 +0,0 @@
1
- function e(e){return e}export{e as t};
2
- //# sourceMappingURL=defineRule-Dfvzj6n2.mjs.map
@@ -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"}