@bemedev/codebase 0.1.2 → 0.2.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.
Files changed (108) hide show
  1. package/README.md +8 -8
  2. package/lib/_virtual/_rolldown/runtime.cjs +23 -0
  3. package/lib/analyse.cjs +48 -62
  4. package/lib/analyse.cjs.map +1 -1
  5. package/lib/analyse.d.ts +21 -3
  6. package/lib/analyse.js +45 -60
  7. package/lib/analyse.js.map +1 -1
  8. package/lib/analyse.utils.cjs +154 -205
  9. package/lib/analyse.utils.cjs.map +1 -1
  10. package/lib/analyse.utils.d.ts +1 -2
  11. package/lib/analyse.utils.js +153 -203
  12. package/lib/analyse.utils.js.map +1 -1
  13. package/lib/cli/cli.cjs +28 -27
  14. package/lib/cli/cli.cjs.map +1 -1
  15. package/lib/cli/cli.d.ts +0 -1
  16. package/lib/cli/cli.js +25 -24
  17. package/lib/cli/cli.js.map +1 -1
  18. package/lib/cli/constants.cjs +6 -5
  19. package/lib/cli/constants.cjs.map +1 -1
  20. package/lib/cli/constants.d.ts +0 -1
  21. package/lib/cli/constants.js +5 -3
  22. package/lib/cli/constants.js.map +1 -1
  23. package/lib/cli/index.cjs +6 -6
  24. package/lib/cli/index.cjs.map +1 -1
  25. package/lib/cli/index.d.ts +0 -1
  26. package/lib/cli/index.js +7 -4
  27. package/lib/cli/index.js.map +1 -1
  28. package/lib/constants.cjs +26 -28
  29. package/lib/constants.cjs.map +1 -1
  30. package/lib/constants.d.ts +0 -1
  31. package/lib/constants.js +24 -26
  32. package/lib/constants.js.map +1 -1
  33. package/lib/exports.cjs +51 -72
  34. package/lib/exports.cjs.map +1 -1
  35. package/lib/exports.d.ts +1 -2
  36. package/lib/exports.js +49 -70
  37. package/lib/exports.js.map +1 -1
  38. package/lib/functions/add.cjs +71 -84
  39. package/lib/functions/add.cjs.map +1 -1
  40. package/lib/functions/add.d.ts +1 -2
  41. package/lib/functions/add.js +68 -82
  42. package/lib/functions/add.js.map +1 -1
  43. package/lib/functions/generate.cjs +53 -56
  44. package/lib/functions/generate.cjs.map +1 -1
  45. package/lib/functions/generate.d.ts +1 -2
  46. package/lib/functions/generate.js +51 -54
  47. package/lib/functions/generate.js.map +1 -1
  48. package/lib/functions/index.cjs +11 -16
  49. package/lib/functions/index.d.ts +0 -1
  50. package/lib/functions/index.js +5 -5
  51. package/lib/functions/init.cjs +68 -97
  52. package/lib/functions/init.cjs.map +1 -1
  53. package/lib/functions/init.d.ts +1 -2
  54. package/lib/functions/init.js +66 -95
  55. package/lib/functions/init.js.map +1 -1
  56. package/lib/functions/remove.cjs +85 -103
  57. package/lib/functions/remove.cjs.map +1 -1
  58. package/lib/functions/remove.d.ts +1 -2
  59. package/lib/functions/remove.js +82 -101
  60. package/lib/functions/remove.js.map +1 -1
  61. package/lib/helpers.cjs +32 -38
  62. package/lib/helpers.cjs.map +1 -1
  63. package/lib/helpers.d.ts +3 -4
  64. package/lib/helpers.js +30 -36
  65. package/lib/helpers.js.map +1 -1
  66. package/lib/imports.cjs +88 -118
  67. package/lib/imports.cjs.map +1 -1
  68. package/lib/imports.d.ts +2 -3
  69. package/lib/imports.js +86 -116
  70. package/lib/imports.js.map +1 -1
  71. package/lib/index.cjs +22 -24
  72. package/lib/index.d.ts +4 -4
  73. package/lib/index.js +8 -6
  74. package/lib/schemas.cjs +53 -63
  75. package/lib/schemas.cjs.map +1 -1
  76. package/lib/schemas.d.ts +5 -2
  77. package/lib/schemas.js +43 -35
  78. package/lib/schemas.js.map +1 -1
  79. package/lib/types.d.ts +0 -1
  80. package/lib/utils.cjs +9 -10
  81. package/lib/utils.cjs.map +1 -1
  82. package/lib/utils.d.ts +0 -1
  83. package/lib/utils.js +8 -8
  84. package/lib/utils.js.map +1 -1
  85. package/package.json +56 -44
  86. package/CHANGE_LOG.md +0 -143
  87. package/lib/analyse.d.ts.map +0 -1
  88. package/lib/analyse.utils.d.ts.map +0 -1
  89. package/lib/cli/cli.d.ts.map +0 -1
  90. package/lib/cli/constants.d.ts.map +0 -1
  91. package/lib/cli/index.d.ts.map +0 -1
  92. package/lib/constants.d.ts.map +0 -1
  93. package/lib/exports.d.ts.map +0 -1
  94. package/lib/functions/add.d.ts.map +0 -1
  95. package/lib/functions/generate.d.ts.map +0 -1
  96. package/lib/functions/index.cjs.map +0 -1
  97. package/lib/functions/index.d.ts.map +0 -1
  98. package/lib/functions/index.js.map +0 -1
  99. package/lib/functions/init.d.ts.map +0 -1
  100. package/lib/functions/remove.d.ts.map +0 -1
  101. package/lib/helpers.d.ts.map +0 -1
  102. package/lib/imports.d.ts.map +0 -1
  103. package/lib/index.cjs.map +0 -1
  104. package/lib/index.d.ts.map +0 -1
  105. package/lib/index.js.map +0 -1
  106. package/lib/schemas.d.ts.map +0 -1
  107. package/lib/types.d.ts.map +0 -1
  108. package/lib/utils.d.ts.map +0 -1
@@ -1,89 +1,76 @@
1
- 'use strict';
2
-
3
- var edit = require('edit-json-file');
4
- var path = require('path');
5
- var constants = require('../constants.cjs');
6
- var helpers = require('../helpers.cjs');
7
-
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
3
+ const require_constants = require("../constants.cjs");
4
+ const require_helpers = require("../helpers.cjs");
5
+ let path = require("path");
6
+ let edit_json_file = require("edit-json-file");
7
+ edit_json_file = require_runtime.__toESM(edit_json_file);
8
+ //#region src/functions/add.ts
8
9
  const processFileAnalysis = (analysis, cwd, additionals, pathsEntries, files, CODEBASE_ANALYSIS) => {
9
- const relativePath = analysis.relativePath;
10
- const keys = Object.keys(CODEBASE_ANALYSIS);
11
- analysis.imports.forEach(({ moduleSpecifier }) => {
12
- const _path = path.relative(cwd, path.resolve(path.dirname(relativePath), moduleSpecifier)).replaceAll('/', '.');
13
- const all = additionals
14
- .concat(pathsEntries)
15
- .map(([key]) => key)
16
- .concat(files);
17
- const canAdd = all.every(p => p !== _path);
18
- if (!canAdd)
19
- return;
20
- const toAdd = CODEBASE_ANALYSIS[_path] ?? CODEBASE_ANALYSIS[`${_path}.index`];
21
- if (!toAdd)
22
- return;
23
- additionals.push([_path, toAdd]);
24
- all.push(_path);
25
- const imports = toAdd.imports.filter(({ moduleSpecifier }) => {
26
- const _path = helpers.transformModule({
27
- cwd,
28
- relativePath: toAdd.relativePath,
29
- moduleSpecifier,
30
- });
31
- const array = [_path, `${_path}.index`].filter(p => keys.includes(p));
32
- if (array.length < 1)
33
- return false;
34
- return array.every(p => !all.includes(p));
35
- });
36
- const toAdd2 = { ...toAdd, imports };
37
- const canRecurse = toAdd2.imports.length > 0;
38
- if (canRecurse) {
39
- processFileAnalysis(toAdd2, cwd, additionals, pathsEntries, files, CODEBASE_ANALYSIS);
40
- }
41
- });
10
+ const relativePath = analysis.relativePath;
11
+ const keys = Object.keys(CODEBASE_ANALYSIS);
12
+ analysis.imports.forEach(({ moduleSpecifier }) => {
13
+ const _path = (0, path.relative)(cwd, (0, path.resolve)((0, path.dirname)(relativePath), moduleSpecifier)).replaceAll("/", ".");
14
+ const all = additionals.concat(pathsEntries).map(([key]) => key).concat(files);
15
+ if (!all.every((p) => p !== _path)) return;
16
+ const toAdd = CODEBASE_ANALYSIS[_path] ?? CODEBASE_ANALYSIS[`${_path}.index`];
17
+ if (!toAdd) return;
18
+ additionals.push([_path, toAdd]);
19
+ all.push(_path);
20
+ const imports = toAdd.imports.filter(({ moduleSpecifier }) => {
21
+ const _path = require_helpers.transformModule({
22
+ cwd,
23
+ relativePath: toAdd.relativePath,
24
+ moduleSpecifier
25
+ });
26
+ const array = [_path, `${_path}.index`].filter((p) => keys.includes(p));
27
+ if (array.length < 1) return false;
28
+ return array.every((p) => !all.includes(p));
29
+ });
30
+ const toAdd2 = {
31
+ ...toAdd,
32
+ imports
33
+ };
34
+ if (toAdd2.imports.length > 0) processFileAnalysis(toAdd2, cwd, additionals, pathsEntries, files, CODEBASE_ANALYSIS);
35
+ });
42
36
  };
43
37
  const add = (CODEBASE_ANALYSIS, ...paths) => {
44
- const isEmpty = paths.length === 0;
45
- if (isEmpty)
46
- return console.warn('No files specified for addition.');
47
- try {
48
- const cwd = process.cwd();
49
- const json = path.join(cwd, constants.JSON_FILE_NAME);
50
- let file = edit(json);
51
- if (!file)
52
- return;
53
- const files = file.get(constants.FILES_PROPERTY);
54
- const root = helpers.getFolderPath(file.get(constants.PATH_PROPERTY));
55
- // Release resources
56
- const additionals = [];
57
- const pathsEntries = Object.entries(CODEBASE_ANALYSIS)
58
- .filter(([key]) => paths.some(p => key.startsWith(p)))
59
- .filter(([key]) => !files.includes(key));
60
- pathsEntries.forEach(([, analysis]) => {
61
- processFileAnalysis(analysis, cwd, additionals, pathsEntries, files, CODEBASE_ANALYSIS);
62
- });
63
- const entries = new Set(pathsEntries.concat(additionals).filter(([, val]) => !!val));
64
- helpers.consoleStars();
65
- console.log(`🔧 Création des fichiers (${entries.size} fichiers)...`);
66
- let success = 0;
67
- const length = entries.size;
68
- entries.forEach(([, fileAnalysis]) => {
69
- const _path = helpers.writeFileAnalysis(fileAnalysis, root);
70
- if (_path) {
71
- files.push(_path);
72
- file?.set(constants.FILES_PROPERTY, files);
73
- success++;
74
- }
75
- });
76
- file.save();
77
- console.log(`✅ Fichiers créés! (${success}/${length})`);
78
- file = undefined;
79
- }
80
- catch {
81
- console.error(`❌ Erreur lors de la création des fichiers`);
82
- return false;
83
- }
84
- helpers.consoleStars();
85
- return true;
38
+ if (paths.length === 0) return console.warn("No files specified for addition.");
39
+ try {
40
+ const cwd = process.cwd();
41
+ let file = (0, edit_json_file.default)((0, path.join)(cwd, require_constants.JSON_FILE_NAME));
42
+ if (!file) return;
43
+ const files = file.get(require_constants.FILES_PROPERTY);
44
+ const root = require_helpers.getFolderPath(file.get(require_constants.PATH_PROPERTY));
45
+ const additionals = [];
46
+ const pathsEntries = Object.entries(CODEBASE_ANALYSIS).filter(([key]) => paths.some((p) => key.startsWith(p))).filter(([key]) => !files.includes(key));
47
+ pathsEntries.forEach(([, analysis]) => {
48
+ processFileAnalysis(analysis, cwd, additionals, pathsEntries, files, CODEBASE_ANALYSIS);
49
+ });
50
+ const entries = new Set(pathsEntries.concat(additionals).filter(([, val]) => !!val));
51
+ require_helpers.consoleStars();
52
+ console.log(`🔧 Création des fichiers (${entries.size} fichiers)...`);
53
+ let success = 0;
54
+ const length = entries.size;
55
+ entries.forEach(([, fileAnalysis]) => {
56
+ const _path = require_helpers.writeFileAnalysis(fileAnalysis, root);
57
+ if (_path) {
58
+ files.push(_path);
59
+ file?.set(require_constants.FILES_PROPERTY, files);
60
+ success++;
61
+ }
62
+ });
63
+ file.save();
64
+ console.log(`✅ Fichiers créés! (${success}/${length})`);
65
+ file = void 0;
66
+ } catch {
67
+ console.error(`❌ Erreur lors de la création des fichiers`);
68
+ return false;
69
+ }
70
+ require_helpers.consoleStars();
71
+ return true;
86
72
  };
87
-
73
+ //#endregion
88
74
  exports.add = add;
89
- //# sourceMappingURL=add.cjs.map
75
+
76
+ //# sourceMappingURL=add.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"add.cjs","sources":["../../src/functions/add.ts"],"sourcesContent":["import edit, { JsonEditor } from 'edit-json-file';\nimport { dirname, join, relative, resolve } from 'node:path';\nimport {\n FILES_PROPERTY,\n JSON_FILE_NAME,\n PATH_PROPERTY,\n} from '../constants';\nimport {\n consoleStars,\n getFolderPath,\n transformModule,\n writeFileAnalysis,\n} from '../helpers';\nimport { CodebaseAnalysis, type FileAnalysis } from '../schemas';\nimport type { NOmit } from '../types';\n\nconst processFileAnalysis = (\n analysis: NOmit<FileAnalysis, 'exports'>,\n cwd: string,\n additionals: [string, NOmit<FileAnalysis, 'exports'>][],\n pathsEntries: [string, NOmit<FileAnalysis, 'exports'>][],\n files: string[],\n CODEBASE_ANALYSIS: CodebaseAnalysis,\n) => {\n const relativePath = analysis.relativePath;\n\n const keys = Object.keys(CODEBASE_ANALYSIS);\n analysis.imports.forEach(({ moduleSpecifier }) => {\n const _path = relative(\n cwd,\n resolve(dirname(relativePath), moduleSpecifier),\n ).replaceAll('/', '.');\n\n const all = additionals\n .concat(pathsEntries)\n .map(([key]) => key)\n .concat(files);\n\n const canAdd = all.every(p => p !== _path);\n if (!canAdd) return;\n\n const toAdd =\n CODEBASE_ANALYSIS[_path] ?? CODEBASE_ANALYSIS[`${_path}.index`];\n if (!toAdd) return;\n\n additionals.push([_path, toAdd]);\n all.push(_path);\n\n const imports = toAdd.imports.filter(({ moduleSpecifier }) => {\n const _path = transformModule({\n cwd,\n relativePath: toAdd.relativePath,\n moduleSpecifier,\n });\n\n const array = [_path, `${_path}.index`].filter(p =>\n keys.includes(p),\n );\n\n if (array.length < 1) return false;\n\n return array.every(p => !all.includes(p));\n });\n\n const toAdd2 = { ...toAdd, imports };\n const canRecurse = toAdd2.imports.length > 0;\n\n if (canRecurse) {\n processFileAnalysis(\n toAdd2,\n cwd,\n additionals,\n pathsEntries,\n files,\n CODEBASE_ANALYSIS,\n );\n }\n });\n};\n\nexport const add = (\n CODEBASE_ANALYSIS: CodebaseAnalysis,\n ...paths: string[]\n) => {\n const isEmpty = paths.length === 0;\n if (isEmpty) return console.warn('No files specified for addition.');\n try {\n const cwd = process.cwd();\n const json = join(cwd, JSON_FILE_NAME);\n let file: JsonEditor | undefined = edit(json);\n\n if (!file) return;\n\n const files = file.get(FILES_PROPERTY) as string[];\n const root = getFolderPath(file.get(PATH_PROPERTY) as string);\n\n // Release resources\n\n const additionals: [string, NOmit<FileAnalysis, 'exports'>][] = [];\n\n const pathsEntries = Object.entries(CODEBASE_ANALYSIS)\n .filter(([key]) => paths.some(p => key.startsWith(p)))\n .filter(([key]) => !files.includes(key));\n\n pathsEntries.forEach(([, analysis]) => {\n processFileAnalysis(\n analysis,\n cwd,\n additionals,\n pathsEntries,\n files,\n CODEBASE_ANALYSIS,\n );\n });\n\n const entries = new Set(\n pathsEntries.concat(additionals).filter(([, val]) => !!val),\n );\n\n consoleStars();\n console.log(`🔧 Création des fichiers (${entries.size} fichiers)...`);\n\n let success = 0;\n const length = entries.size;\n\n entries.forEach(([, fileAnalysis]) => {\n const _path = writeFileAnalysis(fileAnalysis, root);\n if (_path) {\n files.push(_path);\n file?.set(FILES_PROPERTY, files);\n success++;\n }\n });\n\n file.save();\n console.log(`✅ Fichiers créés! (${success}/${length})`);\n file = undefined;\n } catch {\n console.error(`❌ Erreur lors de la création des fichiers`);\n return false;\n }\n\n consoleStars();\n return true;\n};\n"],"names":["relative","resolve","dirname","transformModule","join","JSON_FILE_NAME","FILES_PROPERTY","getFolderPath","PATH_PROPERTY","consoleStars","writeFileAnalysis"],"mappings":"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"}
1
+ {"version":3,"file":"add.cjs","names":["transformModule","JSON_FILE_NAME","FILES_PROPERTY","getFolderPath","PATH_PROPERTY","writeFileAnalysis"],"sources":["../../src/functions/add.ts"],"sourcesContent":["import edit, { JsonEditor } from \"edit-json-file\";\nimport { dirname, join, relative, resolve } from \"node:path\";\nimport { FILES_PROPERTY, JSON_FILE_NAME, PATH_PROPERTY } from \"../constants\";\nimport {\n consoleStars,\n getFolderPath,\n transformModule,\n writeFileAnalysis,\n} from \"../helpers\";\nimport { CodebaseAnalysis, type FileAnalysis } from \"../schemas\";\nimport type { NOmit } from \"../types\";\n\nconst processFileAnalysis = (\n analysis: NOmit<FileAnalysis, \"exports\">,\n cwd: string,\n additionals: [string, NOmit<FileAnalysis, \"exports\">][],\n pathsEntries: [string, NOmit<FileAnalysis, \"exports\">][],\n files: string[],\n CODEBASE_ANALYSIS: CodebaseAnalysis,\n) => {\n const relativePath = analysis.relativePath;\n\n const keys = Object.keys(CODEBASE_ANALYSIS);\n analysis.imports.forEach(({ moduleSpecifier }) => {\n const _path = relative(\n cwd,\n resolve(dirname(relativePath), moduleSpecifier),\n ).replaceAll(\"/\", \".\");\n\n const all = additionals\n .concat(pathsEntries)\n .map(([key]) => key)\n .concat(files);\n\n const canAdd = all.every((p) => p !== _path);\n if (!canAdd) return;\n\n const toAdd =\n CODEBASE_ANALYSIS[_path] ?? CODEBASE_ANALYSIS[`${_path}.index`];\n if (!toAdd) return;\n\n additionals.push([_path, toAdd]);\n all.push(_path);\n\n const imports = toAdd.imports.filter(({ moduleSpecifier }) => {\n const _path = transformModule({\n cwd,\n relativePath: toAdd.relativePath,\n moduleSpecifier,\n });\n\n const array = [_path, `${_path}.index`].filter((p) => keys.includes(p));\n\n if (array.length < 1) return false;\n\n return array.every((p) => !all.includes(p));\n });\n\n const toAdd2 = { ...toAdd, imports };\n const canRecurse = toAdd2.imports.length > 0;\n\n if (canRecurse) {\n processFileAnalysis(\n toAdd2,\n cwd,\n additionals,\n pathsEntries,\n files,\n CODEBASE_ANALYSIS,\n );\n }\n });\n};\n\nexport const add = (\n CODEBASE_ANALYSIS: CodebaseAnalysis,\n ...paths: string[]\n) => {\n const isEmpty = paths.length === 0;\n if (isEmpty) return console.warn(\"No files specified for addition.\");\n try {\n const cwd = process.cwd();\n const json = join(cwd, JSON_FILE_NAME);\n let file: JsonEditor | undefined = edit(json);\n\n if (!file) return;\n\n const files = file.get(FILES_PROPERTY) as string[];\n const root = getFolderPath(file.get(PATH_PROPERTY) as string);\n\n // Release resources\n\n const additionals: [string, NOmit<FileAnalysis, \"exports\">][] = [];\n\n const pathsEntries = Object.entries(CODEBASE_ANALYSIS)\n .filter(([key]) => paths.some((p) => key.startsWith(p)))\n .filter(([key]) => !files.includes(key));\n\n pathsEntries.forEach(([, analysis]) => {\n processFileAnalysis(\n analysis,\n cwd,\n additionals,\n pathsEntries,\n files,\n CODEBASE_ANALYSIS,\n );\n });\n\n const entries = new Set(\n pathsEntries.concat(additionals).filter(([, val]) => !!val),\n );\n\n consoleStars();\n console.log(`🔧 Création des fichiers (${entries.size} fichiers)...`);\n\n let success = 0;\n const length = entries.size;\n\n entries.forEach(([, fileAnalysis]) => {\n const _path = writeFileAnalysis(fileAnalysis, root);\n if (_path) {\n files.push(_path);\n file?.set(FILES_PROPERTY, files);\n success++;\n }\n });\n\n file.save();\n console.log(`✅ Fichiers créés! (${success}/${length})`);\n file = undefined;\n } catch {\n console.error(`❌ Erreur lors de la création des fichiers`);\n return false;\n }\n\n consoleStars();\n return true;\n};\n"],"mappings":";;;;;;;;AAYA,MAAM,uBACJ,UACA,KACA,aACA,cACA,OACA,sBACG;CACH,MAAM,eAAe,SAAS;CAE9B,MAAM,OAAO,OAAO,KAAK,kBAAkB;AAC3C,UAAS,QAAQ,SAAS,EAAE,sBAAsB;EAChD,MAAM,SAAA,GAAA,KAAA,UACJ,MAAA,GAAA,KAAA,UAAA,GAAA,KAAA,SACgB,aAAa,EAAE,gBAAgB,CAChD,CAAC,WAAW,KAAK,IAAI;EAEtB,MAAM,MAAM,YACT,OAAO,aAAa,CACpB,KAAK,CAAC,SAAS,IAAI,CACnB,OAAO,MAAM;AAGhB,MAAI,CADW,IAAI,OAAO,MAAM,MAAM,MAAM,CAC/B;EAEb,MAAM,QACJ,kBAAkB,UAAU,kBAAkB,GAAG,MAAM;AACzD,MAAI,CAAC,MAAO;AAEZ,cAAY,KAAK,CAAC,OAAO,MAAM,CAAC;AAChC,MAAI,KAAK,MAAM;EAEf,MAAM,UAAU,MAAM,QAAQ,QAAQ,EAAE,sBAAsB;GAC5D,MAAM,QAAQA,gBAAAA,gBAAgB;IAC5B;IACA,cAAc,MAAM;IACpB;IACD,CAAC;GAEF,MAAM,QAAQ,CAAC,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,MAAM,KAAK,SAAS,EAAE,CAAC;AAEvE,OAAI,MAAM,SAAS,EAAG,QAAO;AAE7B,UAAO,MAAM,OAAO,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;IAC3C;EAEF,MAAM,SAAS;GAAE,GAAG;GAAO;GAAS;AAGpC,MAFmB,OAAO,QAAQ,SAAS,EAGzC,qBACE,QACA,KACA,aACA,cACA,OACA,kBACD;GAEH;;AAGJ,MAAa,OACX,mBACA,GAAG,UACA;AAEH,KADgB,MAAM,WAAW,EACpB,QAAO,QAAQ,KAAK,mCAAmC;AACpE,KAAI;EACF,MAAM,MAAM,QAAQ,KAAK;EAEzB,IAAI,QAAA,GAAA,eAAA,UAAA,GAAA,KAAA,MADc,KAAKC,kBAAAA,eAAe,CACO;AAE7C,MAAI,CAAC,KAAM;EAEX,MAAM,QAAQ,KAAK,IAAIC,kBAAAA,eAAe;EACtC,MAAM,OAAOC,gBAAAA,cAAc,KAAK,IAAIC,kBAAAA,cAAc,CAAW;EAI7D,MAAM,cAA0D,EAAE;EAElE,MAAM,eAAe,OAAO,QAAQ,kBAAkB,CACnD,QAAQ,CAAC,SAAS,MAAM,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC,CAAC,CACvD,QAAQ,CAAC,SAAS,CAAC,MAAM,SAAS,IAAI,CAAC;AAE1C,eAAa,SAAS,GAAG,cAAc;AACrC,uBACE,UACA,KACA,aACA,cACA,OACA,kBACD;IACD;EAEF,MAAM,UAAU,IAAI,IAClB,aAAa,OAAO,YAAY,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC,IAAI,CAC5D;AAED,kBAAA,cAAc;AACd,UAAQ,IAAI,6BAA6B,QAAQ,KAAK,eAAe;EAErE,IAAI,UAAU;EACd,MAAM,SAAS,QAAQ;AAEvB,UAAQ,SAAS,GAAG,kBAAkB;GACpC,MAAM,QAAQC,gBAAAA,kBAAkB,cAAc,KAAK;AACnD,OAAI,OAAO;AACT,UAAM,KAAK,MAAM;AACjB,UAAM,IAAIH,kBAAAA,gBAAgB,MAAM;AAChC;;IAEF;AAEF,OAAK,MAAM;AACX,UAAQ,IAAI,sBAAsB,QAAQ,GAAG,OAAO,GAAG;AACvD,SAAO,KAAA;SACD;AACN,UAAQ,MAAM,4CAA4C;AAC1D,SAAO;;AAGT,iBAAA,cAAc;AACd,QAAO"}
@@ -1,3 +1,2 @@
1
- import { CodebaseAnalysis } from '../schemas';
1
+ import { CodebaseAnalysis } from "../schemas";
2
2
  export declare const add: (CODEBASE_ANALYSIS: CodebaseAnalysis, ...paths: string[]) => boolean | void;
3
- //# sourceMappingURL=add.d.ts.map
@@ -1,87 +1,73 @@
1
- import edit from 'edit-json-file';
2
- import { join, relative, resolve, dirname } from 'path';
3
- import { JSON_FILE_NAME, FILES_PROPERTY, PATH_PROPERTY } from '../constants.js';
4
- import { getFolderPath, consoleStars, writeFileAnalysis, transformModule } from '../helpers.js';
5
-
1
+ import { FILES_PROPERTY, JSON_FILE_NAME, PATH_PROPERTY } from "../constants.js";
2
+ import { consoleStars, getFolderPath, transformModule, writeFileAnalysis } from "../helpers.js";
3
+ import { dirname, join, relative, resolve } from "path";
4
+ import edit from "edit-json-file";
5
+ //#region src/functions/add.ts
6
6
  const processFileAnalysis = (analysis, cwd, additionals, pathsEntries, files, CODEBASE_ANALYSIS) => {
7
- const relativePath = analysis.relativePath;
8
- const keys = Object.keys(CODEBASE_ANALYSIS);
9
- analysis.imports.forEach(({ moduleSpecifier }) => {
10
- const _path = relative(cwd, resolve(dirname(relativePath), moduleSpecifier)).replaceAll('/', '.');
11
- const all = additionals
12
- .concat(pathsEntries)
13
- .map(([key]) => key)
14
- .concat(files);
15
- const canAdd = all.every(p => p !== _path);
16
- if (!canAdd)
17
- return;
18
- const toAdd = CODEBASE_ANALYSIS[_path] ?? CODEBASE_ANALYSIS[`${_path}.index`];
19
- if (!toAdd)
20
- return;
21
- additionals.push([_path, toAdd]);
22
- all.push(_path);
23
- const imports = toAdd.imports.filter(({ moduleSpecifier }) => {
24
- const _path = transformModule({
25
- cwd,
26
- relativePath: toAdd.relativePath,
27
- moduleSpecifier,
28
- });
29
- const array = [_path, `${_path}.index`].filter(p => keys.includes(p));
30
- if (array.length < 1)
31
- return false;
32
- return array.every(p => !all.includes(p));
33
- });
34
- const toAdd2 = { ...toAdd, imports };
35
- const canRecurse = toAdd2.imports.length > 0;
36
- if (canRecurse) {
37
- processFileAnalysis(toAdd2, cwd, additionals, pathsEntries, files, CODEBASE_ANALYSIS);
38
- }
39
- });
7
+ const relativePath = analysis.relativePath;
8
+ const keys = Object.keys(CODEBASE_ANALYSIS);
9
+ analysis.imports.forEach(({ moduleSpecifier }) => {
10
+ const _path = relative(cwd, resolve(dirname(relativePath), moduleSpecifier)).replaceAll("/", ".");
11
+ const all = additionals.concat(pathsEntries).map(([key]) => key).concat(files);
12
+ if (!all.every((p) => p !== _path)) return;
13
+ const toAdd = CODEBASE_ANALYSIS[_path] ?? CODEBASE_ANALYSIS[`${_path}.index`];
14
+ if (!toAdd) return;
15
+ additionals.push([_path, toAdd]);
16
+ all.push(_path);
17
+ const imports = toAdd.imports.filter(({ moduleSpecifier }) => {
18
+ const _path = transformModule({
19
+ cwd,
20
+ relativePath: toAdd.relativePath,
21
+ moduleSpecifier
22
+ });
23
+ const array = [_path, `${_path}.index`].filter((p) => keys.includes(p));
24
+ if (array.length < 1) return false;
25
+ return array.every((p) => !all.includes(p));
26
+ });
27
+ const toAdd2 = {
28
+ ...toAdd,
29
+ imports
30
+ };
31
+ if (toAdd2.imports.length > 0) processFileAnalysis(toAdd2, cwd, additionals, pathsEntries, files, CODEBASE_ANALYSIS);
32
+ });
40
33
  };
41
34
  const add = (CODEBASE_ANALYSIS, ...paths) => {
42
- const isEmpty = paths.length === 0;
43
- if (isEmpty)
44
- return console.warn('No files specified for addition.');
45
- try {
46
- const cwd = process.cwd();
47
- const json = join(cwd, JSON_FILE_NAME);
48
- let file = edit(json);
49
- if (!file)
50
- return;
51
- const files = file.get(FILES_PROPERTY);
52
- const root = getFolderPath(file.get(PATH_PROPERTY));
53
- // Release resources
54
- const additionals = [];
55
- const pathsEntries = Object.entries(CODEBASE_ANALYSIS)
56
- .filter(([key]) => paths.some(p => key.startsWith(p)))
57
- .filter(([key]) => !files.includes(key));
58
- pathsEntries.forEach(([, analysis]) => {
59
- processFileAnalysis(analysis, cwd, additionals, pathsEntries, files, CODEBASE_ANALYSIS);
60
- });
61
- const entries = new Set(pathsEntries.concat(additionals).filter(([, val]) => !!val));
62
- consoleStars();
63
- console.log(`🔧 Création des fichiers (${entries.size} fichiers)...`);
64
- let success = 0;
65
- const length = entries.size;
66
- entries.forEach(([, fileAnalysis]) => {
67
- const _path = writeFileAnalysis(fileAnalysis, root);
68
- if (_path) {
69
- files.push(_path);
70
- file?.set(FILES_PROPERTY, files);
71
- success++;
72
- }
73
- });
74
- file.save();
75
- console.log(`✅ Fichiers créés! (${success}/${length})`);
76
- file = undefined;
77
- }
78
- catch {
79
- console.error(`❌ Erreur lors de la création des fichiers`);
80
- return false;
81
- }
82
- consoleStars();
83
- return true;
35
+ if (paths.length === 0) return console.warn("No files specified for addition.");
36
+ try {
37
+ const cwd = process.cwd();
38
+ let file = edit(join(cwd, JSON_FILE_NAME));
39
+ if (!file) return;
40
+ const files = file.get(FILES_PROPERTY);
41
+ const root = getFolderPath(file.get(PATH_PROPERTY));
42
+ const additionals = [];
43
+ const pathsEntries = Object.entries(CODEBASE_ANALYSIS).filter(([key]) => paths.some((p) => key.startsWith(p))).filter(([key]) => !files.includes(key));
44
+ pathsEntries.forEach(([, analysis]) => {
45
+ processFileAnalysis(analysis, cwd, additionals, pathsEntries, files, CODEBASE_ANALYSIS);
46
+ });
47
+ const entries = new Set(pathsEntries.concat(additionals).filter(([, val]) => !!val));
48
+ consoleStars();
49
+ console.log(`🔧 Création des fichiers (${entries.size} fichiers)...`);
50
+ let success = 0;
51
+ const length = entries.size;
52
+ entries.forEach(([, fileAnalysis]) => {
53
+ const _path = writeFileAnalysis(fileAnalysis, root);
54
+ if (_path) {
55
+ files.push(_path);
56
+ file?.set(FILES_PROPERTY, files);
57
+ success++;
58
+ }
59
+ });
60
+ file.save();
61
+ console.log(`✅ Fichiers créés! (${success}/${length})`);
62
+ file = void 0;
63
+ } catch {
64
+ console.error(`❌ Erreur lors de la création des fichiers`);
65
+ return false;
66
+ }
67
+ consoleStars();
68
+ return true;
84
69
  };
85
-
70
+ //#endregion
86
71
  export { add };
87
- //# sourceMappingURL=add.js.map
72
+
73
+ //# sourceMappingURL=add.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"add.js","sources":["../../src/functions/add.ts"],"sourcesContent":["import edit, { JsonEditor } from 'edit-json-file';\nimport { dirname, join, relative, resolve } from 'node:path';\nimport {\n FILES_PROPERTY,\n JSON_FILE_NAME,\n PATH_PROPERTY,\n} from '../constants';\nimport {\n consoleStars,\n getFolderPath,\n transformModule,\n writeFileAnalysis,\n} from '../helpers';\nimport { CodebaseAnalysis, type FileAnalysis } from '../schemas';\nimport type { NOmit } from '../types';\n\nconst processFileAnalysis = (\n analysis: NOmit<FileAnalysis, 'exports'>,\n cwd: string,\n additionals: [string, NOmit<FileAnalysis, 'exports'>][],\n pathsEntries: [string, NOmit<FileAnalysis, 'exports'>][],\n files: string[],\n CODEBASE_ANALYSIS: CodebaseAnalysis,\n) => {\n const relativePath = analysis.relativePath;\n\n const keys = Object.keys(CODEBASE_ANALYSIS);\n analysis.imports.forEach(({ moduleSpecifier }) => {\n const _path = relative(\n cwd,\n resolve(dirname(relativePath), moduleSpecifier),\n ).replaceAll('/', '.');\n\n const all = additionals\n .concat(pathsEntries)\n .map(([key]) => key)\n .concat(files);\n\n const canAdd = all.every(p => p !== _path);\n if (!canAdd) return;\n\n const toAdd =\n CODEBASE_ANALYSIS[_path] ?? CODEBASE_ANALYSIS[`${_path}.index`];\n if (!toAdd) return;\n\n additionals.push([_path, toAdd]);\n all.push(_path);\n\n const imports = toAdd.imports.filter(({ moduleSpecifier }) => {\n const _path = transformModule({\n cwd,\n relativePath: toAdd.relativePath,\n moduleSpecifier,\n });\n\n const array = [_path, `${_path}.index`].filter(p =>\n keys.includes(p),\n );\n\n if (array.length < 1) return false;\n\n return array.every(p => !all.includes(p));\n });\n\n const toAdd2 = { ...toAdd, imports };\n const canRecurse = toAdd2.imports.length > 0;\n\n if (canRecurse) {\n processFileAnalysis(\n toAdd2,\n cwd,\n additionals,\n pathsEntries,\n files,\n CODEBASE_ANALYSIS,\n );\n }\n });\n};\n\nexport const add = (\n CODEBASE_ANALYSIS: CodebaseAnalysis,\n ...paths: string[]\n) => {\n const isEmpty = paths.length === 0;\n if (isEmpty) return console.warn('No files specified for addition.');\n try {\n const cwd = process.cwd();\n const json = join(cwd, JSON_FILE_NAME);\n let file: JsonEditor | undefined = edit(json);\n\n if (!file) return;\n\n const files = file.get(FILES_PROPERTY) as string[];\n const root = getFolderPath(file.get(PATH_PROPERTY) as string);\n\n // Release resources\n\n const additionals: [string, NOmit<FileAnalysis, 'exports'>][] = [];\n\n const pathsEntries = Object.entries(CODEBASE_ANALYSIS)\n .filter(([key]) => paths.some(p => key.startsWith(p)))\n .filter(([key]) => !files.includes(key));\n\n pathsEntries.forEach(([, analysis]) => {\n processFileAnalysis(\n analysis,\n cwd,\n additionals,\n pathsEntries,\n files,\n CODEBASE_ANALYSIS,\n );\n });\n\n const entries = new Set(\n pathsEntries.concat(additionals).filter(([, val]) => !!val),\n );\n\n consoleStars();\n console.log(`🔧 Création des fichiers (${entries.size} fichiers)...`);\n\n let success = 0;\n const length = entries.size;\n\n entries.forEach(([, fileAnalysis]) => {\n const _path = writeFileAnalysis(fileAnalysis, root);\n if (_path) {\n files.push(_path);\n file?.set(FILES_PROPERTY, files);\n success++;\n }\n });\n\n file.save();\n console.log(`✅ Fichiers créés! (${success}/${length})`);\n file = undefined;\n } catch {\n console.error(`❌ Erreur lors de la création des fichiers`);\n return false;\n }\n\n consoleStars();\n return true;\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add.js","names":[],"sources":["../../src/functions/add.ts"],"sourcesContent":["import edit, { JsonEditor } from \"edit-json-file\";\nimport { dirname, join, relative, resolve } from \"node:path\";\nimport { FILES_PROPERTY, JSON_FILE_NAME, PATH_PROPERTY } from \"../constants\";\nimport {\n consoleStars,\n getFolderPath,\n transformModule,\n writeFileAnalysis,\n} from \"../helpers\";\nimport { CodebaseAnalysis, type FileAnalysis } from \"../schemas\";\nimport type { NOmit } from \"../types\";\n\nconst processFileAnalysis = (\n analysis: NOmit<FileAnalysis, \"exports\">,\n cwd: string,\n additionals: [string, NOmit<FileAnalysis, \"exports\">][],\n pathsEntries: [string, NOmit<FileAnalysis, \"exports\">][],\n files: string[],\n CODEBASE_ANALYSIS: CodebaseAnalysis,\n) => {\n const relativePath = analysis.relativePath;\n\n const keys = Object.keys(CODEBASE_ANALYSIS);\n analysis.imports.forEach(({ moduleSpecifier }) => {\n const _path = relative(\n cwd,\n resolve(dirname(relativePath), moduleSpecifier),\n ).replaceAll(\"/\", \".\");\n\n const all = additionals\n .concat(pathsEntries)\n .map(([key]) => key)\n .concat(files);\n\n const canAdd = all.every((p) => p !== _path);\n if (!canAdd) return;\n\n const toAdd =\n CODEBASE_ANALYSIS[_path] ?? CODEBASE_ANALYSIS[`${_path}.index`];\n if (!toAdd) return;\n\n additionals.push([_path, toAdd]);\n all.push(_path);\n\n const imports = toAdd.imports.filter(({ moduleSpecifier }) => {\n const _path = transformModule({\n cwd,\n relativePath: toAdd.relativePath,\n moduleSpecifier,\n });\n\n const array = [_path, `${_path}.index`].filter((p) => keys.includes(p));\n\n if (array.length < 1) return false;\n\n return array.every((p) => !all.includes(p));\n });\n\n const toAdd2 = { ...toAdd, imports };\n const canRecurse = toAdd2.imports.length > 0;\n\n if (canRecurse) {\n processFileAnalysis(\n toAdd2,\n cwd,\n additionals,\n pathsEntries,\n files,\n CODEBASE_ANALYSIS,\n );\n }\n });\n};\n\nexport const add = (\n CODEBASE_ANALYSIS: CodebaseAnalysis,\n ...paths: string[]\n) => {\n const isEmpty = paths.length === 0;\n if (isEmpty) return console.warn(\"No files specified for addition.\");\n try {\n const cwd = process.cwd();\n const json = join(cwd, JSON_FILE_NAME);\n let file: JsonEditor | undefined = edit(json);\n\n if (!file) return;\n\n const files = file.get(FILES_PROPERTY) as string[];\n const root = getFolderPath(file.get(PATH_PROPERTY) as string);\n\n // Release resources\n\n const additionals: [string, NOmit<FileAnalysis, \"exports\">][] = [];\n\n const pathsEntries = Object.entries(CODEBASE_ANALYSIS)\n .filter(([key]) => paths.some((p) => key.startsWith(p)))\n .filter(([key]) => !files.includes(key));\n\n pathsEntries.forEach(([, analysis]) => {\n processFileAnalysis(\n analysis,\n cwd,\n additionals,\n pathsEntries,\n files,\n CODEBASE_ANALYSIS,\n );\n });\n\n const entries = new Set(\n pathsEntries.concat(additionals).filter(([, val]) => !!val),\n );\n\n consoleStars();\n console.log(`🔧 Création des fichiers (${entries.size} fichiers)...`);\n\n let success = 0;\n const length = entries.size;\n\n entries.forEach(([, fileAnalysis]) => {\n const _path = writeFileAnalysis(fileAnalysis, root);\n if (_path) {\n files.push(_path);\n file?.set(FILES_PROPERTY, files);\n success++;\n }\n });\n\n file.save();\n console.log(`✅ Fichiers créés! (${success}/${length})`);\n file = undefined;\n } catch {\n console.error(`❌ Erreur lors de la création des fichiers`);\n return false;\n }\n\n consoleStars();\n return true;\n};\n"],"mappings":";;;;;AAYA,MAAM,uBACJ,UACA,KACA,aACA,cACA,OACA,sBACG;CACH,MAAM,eAAe,SAAS;CAE9B,MAAM,OAAO,OAAO,KAAK,kBAAkB;AAC3C,UAAS,QAAQ,SAAS,EAAE,sBAAsB;EAChD,MAAM,QAAQ,SACZ,KACA,QAAQ,QAAQ,aAAa,EAAE,gBAAgB,CAChD,CAAC,WAAW,KAAK,IAAI;EAEtB,MAAM,MAAM,YACT,OAAO,aAAa,CACpB,KAAK,CAAC,SAAS,IAAI,CACnB,OAAO,MAAM;AAGhB,MAAI,CADW,IAAI,OAAO,MAAM,MAAM,MAAM,CAC/B;EAEb,MAAM,QACJ,kBAAkB,UAAU,kBAAkB,GAAG,MAAM;AACzD,MAAI,CAAC,MAAO;AAEZ,cAAY,KAAK,CAAC,OAAO,MAAM,CAAC;AAChC,MAAI,KAAK,MAAM;EAEf,MAAM,UAAU,MAAM,QAAQ,QAAQ,EAAE,sBAAsB;GAC5D,MAAM,QAAQ,gBAAgB;IAC5B;IACA,cAAc,MAAM;IACpB;IACD,CAAC;GAEF,MAAM,QAAQ,CAAC,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,MAAM,KAAK,SAAS,EAAE,CAAC;AAEvE,OAAI,MAAM,SAAS,EAAG,QAAO;AAE7B,UAAO,MAAM,OAAO,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;IAC3C;EAEF,MAAM,SAAS;GAAE,GAAG;GAAO;GAAS;AAGpC,MAFmB,OAAO,QAAQ,SAAS,EAGzC,qBACE,QACA,KACA,aACA,cACA,OACA,kBACD;GAEH;;AAGJ,MAAa,OACX,mBACA,GAAG,UACA;AAEH,KADgB,MAAM,WAAW,EACpB,QAAO,QAAQ,KAAK,mCAAmC;AACpE,KAAI;EACF,MAAM,MAAM,QAAQ,KAAK;EAEzB,IAAI,OAA+B,KADtB,KAAK,KAAK,eAAe,CACO;AAE7C,MAAI,CAAC,KAAM;EAEX,MAAM,QAAQ,KAAK,IAAI,eAAe;EACtC,MAAM,OAAO,cAAc,KAAK,IAAI,cAAc,CAAW;EAI7D,MAAM,cAA0D,EAAE;EAElE,MAAM,eAAe,OAAO,QAAQ,kBAAkB,CACnD,QAAQ,CAAC,SAAS,MAAM,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC,CAAC,CACvD,QAAQ,CAAC,SAAS,CAAC,MAAM,SAAS,IAAI,CAAC;AAE1C,eAAa,SAAS,GAAG,cAAc;AACrC,uBACE,UACA,KACA,aACA,cACA,OACA,kBACD;IACD;EAEF,MAAM,UAAU,IAAI,IAClB,aAAa,OAAO,YAAY,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC,IAAI,CAC5D;AAED,gBAAc;AACd,UAAQ,IAAI,6BAA6B,QAAQ,KAAK,eAAe;EAErE,IAAI,UAAU;EACd,MAAM,SAAS,QAAQ;AAEvB,UAAQ,SAAS,GAAG,kBAAkB;GACpC,MAAM,QAAQ,kBAAkB,cAAc,KAAK;AACnD,OAAI,OAAO;AACT,UAAM,KAAK,MAAM;AACjB,UAAM,IAAI,gBAAgB,MAAM;AAChC;;IAEF;AAEF,OAAK,MAAM;AACX,UAAQ,IAAI,sBAAsB,QAAQ,GAAG,OAAO,GAAG;AACvD,SAAO,KAAA;SACD;AACN,UAAQ,MAAM,4CAA4C;AAC1D,SAAO;;AAGT,eAAc;AACd,QAAO"}
@@ -1,62 +1,59 @@
1
- 'use strict';
2
-
3
- var fs = require('fs');
4
- var path = require('path');
5
- var constants = require('../constants.cjs');
6
- var analyse = require('../analyse.cjs');
7
-
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ require("../_virtual/_rolldown/runtime.cjs");
3
+ const require_constants = require("../constants.cjs");
4
+ const require_analyse = require("../analyse.cjs");
5
+ let path = require("path");
6
+ let fs = require("fs");
7
+ //#region src/functions/generate.ts
8
8
  const transformJSON = (data) => {
9
- let imports = 0;
10
- let exports$1 = 0;
11
- let files = 0;
12
- const entries = Object.entries(data).map(([key, { imports: _imports, relativePath, text, exports: _exports },]) => {
13
- imports += _imports.length;
14
- exports$1 += _exports?.length ?? 0;
15
- files++;
16
- const value = {
17
- imports: _imports,
18
- relativePath,
19
- text,
20
- exports: _exports?.filter(({ moduleSpecifier }) => moduleSpecifier !== undefined),
21
- };
22
- return [key, value];
23
- });
24
- const CODEBASE_ANALYSIS = Object.fromEntries(entries);
25
- const STATS = {
26
- files,
27
- imports,
28
- exports: exports$1,
29
- };
30
- return {
31
- STATS,
32
- CODEBASE_ANALYSIS,
33
- };
9
+ let imports = 0;
10
+ let exports = 0;
11
+ let files = 0;
12
+ const entries = Object.entries(data).map(([key, { imports: _imports, relativePath, text, exports: _exports }]) => {
13
+ imports += _imports.length;
14
+ exports += _exports?.length ?? 0;
15
+ files++;
16
+ return [key, {
17
+ imports: _imports,
18
+ relativePath,
19
+ text,
20
+ exports: _exports?.filter(({ moduleSpecifier }) => moduleSpecifier !== void 0)
21
+ }];
22
+ });
23
+ const CODEBASE_ANALYSIS = Object.fromEntries(entries);
24
+ return {
25
+ STATS: {
26
+ files,
27
+ imports,
28
+ exports
29
+ },
30
+ CODEBASE_ANALYSIS
31
+ };
34
32
  };
35
33
  /**
36
- * Fonction principale d'exécution
37
- */
38
- const generate = ({ output = constants.CODEBASE_FILE, excludes, src = constants.SRC_DIR, } = {}) => {
39
- const _output = output.endsWith('codebase.json')
40
- ? output
41
- : `${output}.codebase.json`;
42
- try {
43
- const analysis = analyse.analyze({ src, excludes });
44
- const transformed = transformJSON(analysis);
45
- const json = JSON.stringify(transformed, null, 2);
46
- fs.writeFileSync(_output, json);
47
- console.log(`📁 Analyse sauvegardée dans: ${path.relative(process.cwd(), _output)}`);
48
- console.log(`📊 Statistiques:`);
49
- console.log(` - Fichiers analysés: ${transformed.STATS.files}`);
50
- console.log(` - Total imports: ${transformed.STATS.imports}`);
51
- console.log(` - Total exports: ${transformed.STATS.exports}`);
52
- }
53
- catch (error) {
54
- console.error("❌ Erreur lors de l'analyse du codebase:", error);
55
- process.exit(1);
56
- }
57
- return true;
34
+ * Fonction principale d'exécution
35
+ */
36
+ const generate = ({ output = require_constants.CODEBASE_FILE, excludes, src = require_constants.SRC_DIR } = {}) => {
37
+ const _output = output.endsWith("codebase.json") ? output : `${output}.codebase.json`;
38
+ try {
39
+ const transformed = transformJSON(require_analyse.analyze({
40
+ src,
41
+ excludes
42
+ }));
43
+ (0, fs.writeFileSync)(_output, JSON.stringify(transformed, null, 2));
44
+ console.log(`📁 Analyse sauvegardée dans: ${(0, path.relative)(process.cwd(), _output)}`);
45
+ console.log(`📊 Statistiques:`);
46
+ console.log(` - Fichiers analysés: ${transformed.STATS.files}`);
47
+ console.log(` - Total imports: ${transformed.STATS.imports}`);
48
+ console.log(` - Total exports: ${transformed.STATS.exports}`);
49
+ } catch (error) {
50
+ console.error("❌ Erreur lors de l'analyse du codebase:", error);
51
+ process.exit(1);
52
+ }
53
+ return true;
58
54
  };
59
-
55
+ //#endregion
60
56
  exports.generate = generate;
61
57
  exports.transformJSON = transformJSON;
62
- //# sourceMappingURL=generate.cjs.map
58
+
59
+ //# sourceMappingURL=generate.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.cjs","sources":["../../src/functions/generate.ts"],"sourcesContent":["import { writeFileSync } from 'node:fs';\nimport { relative } from 'node:path';\nimport { CODEBASE_FILE, SRC_DIR } from 'src/constants';\nimport { analyze } from '../analyse';\nimport { CodebaseAnalysis } from '../schemas';\n\nexport const transformJSON = (data: CodebaseAnalysis) => {\n let imports = 0;\n let exports = 0;\n let files = 0;\n\n const entries = Object.entries(data).map(\n ([\n key,\n { imports: _imports, relativePath, text, exports: _exports },\n ]) => {\n imports += _imports.length;\n exports += _exports?.length ?? 0;\n files++;\n\n const value: any = {\n imports: _imports,\n relativePath,\n text,\n exports: _exports?.filter(\n ({ moduleSpecifier }) => moduleSpecifier !== undefined,\n ),\n };\n\n return [key, value] as const;\n },\n );\n\n const CODEBASE_ANALYSIS = Object.fromEntries(entries);\n\n const STATS = {\n files,\n imports,\n exports,\n };\n\n return {\n STATS,\n CODEBASE_ANALYSIS,\n };\n};\n\nexport type GenerateOptions = {\n output?: string;\n excludes?: string[] | string;\n src?: string;\n};\n\n/**\n * Fonction principale d'exécution\n */\nexport const generate = ({\n output = CODEBASE_FILE,\n excludes,\n src = SRC_DIR,\n}: GenerateOptions = {}) => {\n const _output = output.endsWith('codebase.json')\n ? output\n : `${output}.codebase.json`;\n\n try {\n const analysis = analyze({ src, excludes });\n const transformed = transformJSON(analysis);\n\n const json = JSON.stringify(transformed, null, 2);\n writeFileSync(_output, json);\n\n console.log(\n `📁 Analyse sauvegardée dans: ${relative(process.cwd(), _output)}`,\n );\n console.log(`📊 Statistiques:`);\n console.log(` - Fichiers analysés: ${transformed.STATS.files}`);\n console.log(` - Total imports: ${transformed.STATS.imports}`);\n console.log(` - Total exports: ${transformed.STATS.exports}`);\n } catch (error) {\n console.error(\"❌ Erreur lors de l'analyse du codebase:\", error);\n process.exit(1);\n }\n\n return true;\n};\n"],"names":["exports","CODEBASE_FILE","SRC_DIR","analyze","writeFileSync","relative"],"mappings":";;;;;;;AAMO,MAAM,aAAa,GAAG,CAAC,IAAsB,KAAI;IACtD,IAAI,OAAO,GAAG,CAAC;IACf,IAAIA,SAAO,GAAG,CAAC;IACf,IAAI,KAAK,GAAG,CAAC;AAEb,IAAA,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CACtC,CAAC,CACC,GAAG,EACH,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAC7D,KAAI;AACH,QAAA,OAAO,IAAI,QAAQ,CAAC,MAAM;AAC1B,QAAAA,SAAO,IAAI,QAAQ,EAAE,MAAM,IAAI,CAAC;AAChC,QAAA,KAAK,EAAE;AAEP,QAAA,MAAM,KAAK,GAAQ;AACjB,YAAA,OAAO,EAAE,QAAQ;YACjB,YAAY;YACZ,IAAI;AACJ,YAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,CACvB,CAAC,EAAE,eAAe,EAAE,KAAK,eAAe,KAAK,SAAS,CACvD;SACF;AAED,QAAA,OAAO,CAAC,GAAG,EAAE,KAAK,CAAU;AAC9B,IAAA,CAAC,CACF;IAED,MAAM,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC;AAErD,IAAA,MAAM,KAAK,GAAG;QACZ,KAAK;QACL,OAAO;iBACPA,SAAO;KACR;IAED,OAAO;QACL,KAAK;QACL,iBAAiB;KAClB;AACH;AAQA;;AAEG;AACI,MAAM,QAAQ,GAAG,CAAC,EACvB,MAAM,GAAGC,uBAAa,EACtB,QAAQ,EACR,GAAG,GAAGC,iBAAO,GAAA,GACM,EAAE,KAAI;AACzB,IAAA,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,eAAe;AAC7C,UAAE;AACF,UAAE,CAAA,EAAG,MAAM,CAAA,cAAA,CAAgB;AAE7B,IAAA,IAAI;QACF,MAAM,QAAQ,GAAGC,eAAO,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAC3C,QAAA,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC;AAE3C,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;AACjD,QAAAC,gBAAa,CAAC,OAAO,EAAE,IAAI,CAAC;AAE5B,QAAA,OAAO,CAAC,GAAG,CACT,CAAA,6BAAA,EAAgCC,aAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAA,CAAE,CACnE;AACD,QAAA,OAAO,CAAC,GAAG,CAAC,CAAA,gBAAA,CAAkB,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,CAAA,wBAAA,EAA2B,WAAW,CAAC,KAAK,CAAC,KAAK,CAAA,CAAE,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,CAAA,oBAAA,EAAuB,WAAW,CAAC,KAAK,CAAC,OAAO,CAAA,CAAE,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,CAAA,oBAAA,EAAuB,WAAW,CAAC,KAAK,CAAC,OAAO,CAAA,CAAE,CAAC;IACjE;IAAE,OAAO,KAAK,EAAE;AACd,QAAA,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC;AAC/D,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;AAEA,IAAA,OAAO,IAAI;AACb;;;;;"}
1
+ {"version":3,"file":"generate.cjs","names":["CODEBASE_FILE","SRC_DIR","analyze"],"sources":["../../src/functions/generate.ts"],"sourcesContent":["import { writeFileSync } from \"node:fs\";\nimport { relative } from \"node:path\";\nimport { CODEBASE_FILE, SRC_DIR } from \"../constants\";\nimport { analyze } from \"../analyse\";\nimport { CodebaseAnalysis } from \"../schemas\";\n\nexport const transformJSON = (data: CodebaseAnalysis) => {\n let imports = 0;\n let exports = 0;\n let files = 0;\n\n const entries = Object.entries(data).map(\n ([key, { imports: _imports, relativePath, text, exports: _exports }]) => {\n imports += _imports.length;\n exports += _exports?.length ?? 0;\n files++;\n\n const value: any = {\n imports: _imports,\n relativePath,\n text,\n exports: _exports?.filter(\n ({ moduleSpecifier }) => moduleSpecifier !== undefined,\n ),\n };\n\n return [key, value] as const;\n },\n );\n\n const CODEBASE_ANALYSIS = Object.fromEntries(entries);\n\n const STATS = {\n files,\n imports,\n exports,\n };\n\n return {\n STATS,\n CODEBASE_ANALYSIS,\n };\n};\n\nexport type GenerateOptions = {\n output?: string;\n excludes?: string[] | string;\n src?: string;\n};\n\n/**\n * Fonction principale d'exécution\n */\nexport const generate = ({\n output = CODEBASE_FILE,\n excludes,\n src = SRC_DIR,\n}: GenerateOptions = {}) => {\n const _output = output.endsWith(\"codebase.json\")\n ? output\n : `${output}.codebase.json`;\n\n try {\n const analysis = analyze({ src, excludes });\n const transformed = transformJSON(analysis);\n\n const json = JSON.stringify(transformed, null, 2);\n writeFileSync(_output, json);\n\n console.log(\n `📁 Analyse sauvegardée dans: ${relative(process.cwd(), _output)}`,\n );\n console.log(`📊 Statistiques:`);\n console.log(` - Fichiers analysés: ${transformed.STATS.files}`);\n console.log(` - Total imports: ${transformed.STATS.imports}`);\n console.log(` - Total exports: ${transformed.STATS.exports}`);\n } catch (error) {\n console.error(\"❌ Erreur lors de l'analyse du codebase:\", error);\n process.exit(1);\n }\n\n return true;\n};\n"],"mappings":";;;;;;;AAMA,MAAa,iBAAiB,SAA2B;CACvD,IAAI,UAAU;CACd,IAAI,UAAU;CACd,IAAI,QAAQ;CAEZ,MAAM,UAAU,OAAO,QAAQ,KAAK,CAAC,KAClC,CAAC,KAAK,EAAE,SAAS,UAAU,cAAc,MAAM,SAAS,gBAAgB;AACvE,aAAW,SAAS;AACpB,aAAW,UAAU,UAAU;AAC/B;AAWA,SAAO,CAAC,KATW;GACjB,SAAS;GACT;GACA;GACA,SAAS,UAAU,QAChB,EAAE,sBAAsB,oBAAoB,KAAA,EAC9C;GACF,CAEkB;GAEtB;CAED,MAAM,oBAAoB,OAAO,YAAY,QAAQ;AAQrD,QAAO;EACL,OAPY;GACZ;GACA;GACA;GACD;EAIC;EACD;;;;;AAYH,MAAa,YAAY,EACvB,SAASA,kBAAAA,eACT,UACA,MAAMC,kBAAAA,YACa,EAAE,KAAK;CAC1B,MAAM,UAAU,OAAO,SAAS,gBAAgB,GAC5C,SACA,GAAG,OAAO;AAEd,KAAI;EAEF,MAAM,cAAc,cADHC,gBAAAA,QAAQ;GAAE;GAAK;GAAU,CAAC,CACA;AAG3C,GAAA,GAAA,GAAA,eAAc,SADD,KAAK,UAAU,aAAa,MAAM,EAAE,CACrB;AAE5B,UAAQ,IACN,iCAAA,GAAA,KAAA,UAAyC,QAAQ,KAAK,EAAE,QAAQ,GACjE;AACD,UAAQ,IAAI,mBAAmB;AAC/B,UAAQ,IAAI,2BAA2B,YAAY,MAAM,QAAQ;AACjE,UAAQ,IAAI,uBAAuB,YAAY,MAAM,UAAU;AAC/D,UAAQ,IAAI,uBAAuB,YAAY,MAAM,UAAU;UACxD,OAAO;AACd,UAAQ,MAAM,2CAA2C,MAAM;AAC/D,UAAQ,KAAK,EAAE;;AAGjB,QAAO"}
@@ -1,4 +1,4 @@
1
- import { CodebaseAnalysis } from '../schemas';
1
+ import { CodebaseAnalysis } from "../schemas";
2
2
  export declare const transformJSON: (data: CodebaseAnalysis) => {
3
3
  STATS: {
4
4
  files: number;
@@ -18,4 +18,3 @@ export type GenerateOptions = {
18
18
  * Fonction principale d'exécution
19
19
  */
20
20
  export declare const generate: ({ output, excludes, src, }?: GenerateOptions) => boolean;
21
- //# sourceMappingURL=generate.d.ts.map