@nanoforge-dev/schematics 1.2.2 → 2.1.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 (51) hide show
  1. package/dist/collection.json +10 -0
  2. package/dist/index.cjs +2 -34
  3. package/dist/index.cjs.map +1 -1
  4. package/dist/index.d.cts +1 -26
  5. package/dist/index.d.ts +1 -26
  6. package/dist/index.js +1 -30
  7. package/dist/index.js.map +1 -1
  8. package/dist/libs/application/application.factory.d.ts +5 -0
  9. package/dist/libs/application/application.factory.js +6 -2
  10. package/dist/libs/application/application.factory.js.map +1 -1
  11. package/dist/libs/application/files/js/package.json.template +2 -1
  12. package/dist/libs/application/files/ts/package.json.template +2 -1
  13. package/dist/libs/application/schema.json +6 -5
  14. package/dist/libs/component/component.factory.d.ts +27 -0
  15. package/dist/libs/component/component.factory.js +50 -0
  16. package/dist/libs/component/component.factory.js.map +1 -0
  17. package/dist/libs/component/files/js/__fileName__.component.js +78 -0
  18. package/dist/libs/component/files/ts/__fileName__.component.ts +61 -0
  19. package/dist/libs/component/schema.json +30 -0
  20. package/dist/libs/configuration/configuration.factory.d.ts +8 -3
  21. package/dist/libs/configuration/configuration.factory.js +32 -49
  22. package/dist/libs/configuration/configuration.factory.js.map +1 -1
  23. package/dist/libs/configuration/schema.json +9 -8
  24. package/dist/libs/docker/docker.factory.d.ts +2 -7
  25. package/dist/libs/docker/docker.factory.js +2 -24
  26. package/dist/libs/docker/docker.factory.js.map +1 -1
  27. package/dist/libs/docker/files/.dockerignore +1 -1
  28. package/dist/libs/docker/files/Dockerfile +10 -24
  29. package/dist/libs/docker/schema.json +4 -13
  30. package/dist/libs/part-base/files/js/__nanoforgeFolder__/client.save.json +1 -1
  31. package/dist/libs/part-base/files/js/__nanoforgeFolder__/server.save.json +1 -1
  32. package/dist/libs/part-base/files/js/__part__/components/example.component.js +29 -23
  33. package/dist/libs/part-base/files/js/__part__/systems/example.system.js +1 -1
  34. package/dist/libs/part-base/files/ts/__nanoforgeFolder__/client.save.json +1 -1
  35. package/dist/libs/part-base/files/ts/__nanoforgeFolder__/server.save.json +1 -1
  36. package/dist/libs/part-base/files/ts/__part__/components/example.component.ts +29 -23
  37. package/dist/libs/part-base/part-base.factory.d.ts +5 -10
  38. package/dist/libs/part-base/part-base.factory.js +6 -34
  39. package/dist/libs/part-base/part-base.factory.js.map +1 -1
  40. package/dist/libs/part-base/schema.json +4 -12
  41. package/dist/libs/part-main/part-main.factory.d.ts +14 -9
  42. package/dist/libs/part-main/part-main.factory.js +106 -63
  43. package/dist/libs/part-main/part-main.factory.js.map +1 -1
  44. package/dist/libs/part-main/schema.json +13 -12
  45. package/dist/libs/system/files/js/__fileName__.system.js +44 -0
  46. package/dist/libs/system/files/ts/__fileName__.system.ts +31 -0
  47. package/dist/libs/system/schema.json +30 -0
  48. package/dist/libs/system/system.factory.d.ts +27 -0
  49. package/dist/libs/system/system.factory.js +53 -0
  50. package/dist/libs/system/system.factory.js.map +1 -0
  51. package/package.json +1 -1
@@ -0,0 +1,53 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+
4
+ // src/libs/system/system.factory.ts
5
+ import { join, normalize, strings } from "@angular-devkit/core";
6
+ import {
7
+ apply,
8
+ mergeWith,
9
+ move,
10
+ template,
11
+ url
12
+ } from "@angular-devkit/schematics";
13
+
14
+ // src/utils/formatting.ts
15
+ var toWords = /* @__PURE__ */ __name((str) => {
16
+ return str.replace(/([a-z])([A-Z])/g, "$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g, "$1 $2").replace(/[-_]+/g, " ").trim().split(/\s+/).filter(Boolean);
17
+ }, "toWords");
18
+ var toKebabCase = /* @__PURE__ */ __name((str) => {
19
+ return toWords(str).map((word) => word.toLowerCase()).join("-");
20
+ }, "toKebabCase");
21
+ var toCamelCase = /* @__PURE__ */ __name((str) => {
22
+ const words = toWords(str);
23
+ return words.map(
24
+ (word, i) => i === 0 ? word.toLowerCase() : word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()
25
+ ).join("");
26
+ }, "toCamelCase");
27
+
28
+ // src/libs/system/system.factory.ts
29
+ var transform = /* @__PURE__ */ __name((schema) => {
30
+ return {
31
+ part: schema.part,
32
+ functionName: toCamelCase(schema.name),
33
+ fileName: toKebabCase(schema.name)
34
+ };
35
+ }, "transform");
36
+ var generate = /* @__PURE__ */ __name((options, path, language) => {
37
+ const rules = [
38
+ template({
39
+ ...strings,
40
+ ...options
41
+ }),
42
+ move(normalize(path))
43
+ ];
44
+ return apply(url(join("./files", language)), rules);
45
+ }, "generate");
46
+ var main = /* @__PURE__ */ __name((schema) => {
47
+ const options = transform(schema);
48
+ return mergeWith(generate(options, schema.directory, schema.language));
49
+ }, "main");
50
+ export {
51
+ main
52
+ };
53
+ //# sourceMappingURL=system.factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/libs/system/system.factory.ts","../../../src/utils/formatting.ts"],"sourcesContent":["import { type Path, join, normalize, strings } from \"@angular-devkit/core\";\nimport {\n type Rule,\n type Source,\n apply,\n mergeWith,\n move,\n template,\n url,\n} from \"@angular-devkit/schematics\";\n\nimport { toCamelCase, toKebabCase } from \"@utils/formatting\";\n\nimport { type SystemOptions } from \"./system.options\";\nimport { type SystemSchema } from \"./system.schema\";\n\nconst transform = (schema: SystemSchema): SystemOptions => {\n return {\n part: schema.part,\n functionName: toCamelCase(schema.name),\n fileName: toKebabCase(schema.name),\n };\n};\n\nconst generate = (options: SystemOptions, path: string, language: \"ts\" | \"js\"): Source => {\n const rules = [\n template({\n ...strings,\n ...options,\n }),\n move(normalize(path)),\n ];\n\n return apply(url(join(\"./files\" as Path, language)), rules);\n};\n\nexport const main = (schema: SystemSchema): Rule => {\n const options = transform(schema);\n\n return mergeWith(generate(options, schema.directory, schema.language));\n};\n","const toWords = (str: string): string[] => {\n return str\n .replace(/([a-z])([A-Z])/g, \"$1 $2\")\n .replace(/([A-Z]+)([A-Z][a-z])/g, \"$1 $2\")\n .replace(/[-_]+/g, \" \")\n .trim()\n .split(/\\s+/)\n .filter(Boolean);\n};\n\nexport const toKebabCase = (str: string): string => {\n return toWords(str)\n .map((word) => word.toLowerCase())\n .join(\"-\");\n};\n\nexport const toPascalCase = (str: string): string => {\n return toWords(str)\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join(\"\");\n};\n\nexport const toCamelCase = (str: string): string => {\n const words = toWords(str);\n return words\n .map((word, i) =>\n i === 0 ? word.toLowerCase() : word.charAt(0).toUpperCase() + word.slice(1).toLowerCase(),\n )\n .join(\"\");\n};\n"],"mappings":";;;;AAAA,SAAoB,MAAM,WAAW,eAAe;AACpD;AAAA,EAGE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;;;ACTP,IAAM,UAAU,wBAAC,QAA0B;AACzC,SAAO,IACJ,QAAQ,mBAAmB,OAAO,EAClC,QAAQ,yBAAyB,OAAO,EACxC,QAAQ,UAAU,GAAG,EACrB,KAAK,EACL,MAAM,KAAK,EACX,OAAO,OAAO;AACnB,GARgB;AAUT,IAAM,cAAc,wBAAC,QAAwB;AAClD,SAAO,QAAQ,GAAG,EACf,IAAI,CAAC,SAAS,KAAK,YAAY,CAAC,EAChC,KAAK,GAAG;AACb,GAJ2B;AAYpB,IAAM,cAAc,wBAAC,QAAwB;AAClD,QAAM,QAAQ,QAAQ,GAAG;AACzB,SAAO,MACJ;AAAA,IAAI,CAAC,MAAM,MACV,MAAM,IAAI,KAAK,YAAY,IAAI,KAAK,OAAO,CAAC,EAAE,YAAY,IAAI,KAAK,MAAM,CAAC,EAAE,YAAY;AAAA,EAC1F,EACC,KAAK,EAAE;AACZ,GAP2B;;;ADN3B,IAAM,YAAY,wBAAC,WAAwC;AACzD,SAAO;AAAA,IACL,MAAM,OAAO;AAAA,IACb,cAAc,YAAY,OAAO,IAAI;AAAA,IACrC,UAAU,YAAY,OAAO,IAAI;AAAA,EACnC;AACF,GANkB;AAQlB,IAAM,WAAW,wBAAC,SAAwB,MAAc,aAAkC;AACxF,QAAM,QAAQ;AAAA,IACZ,SAAS;AAAA,MACP,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AAAA,IACD,KAAK,UAAU,IAAI,CAAC;AAAA,EACtB;AAEA,SAAO,MAAM,IAAI,KAAK,WAAmB,QAAQ,CAAC,GAAG,KAAK;AAC5D,GAViB;AAYV,IAAM,OAAO,wBAAC,WAA+B;AAClD,QAAM,UAAU,UAAU,MAAM;AAEhC,SAAO,UAAU,SAAS,SAAS,OAAO,WAAW,OAAO,QAAQ,CAAC;AACvE,GAJoB;","names":[]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@nanoforge-dev/schematics",
4
- "version": "1.2.2",
4
+ "version": "2.1.0",
5
5
  "description": "NanoForge Schematics",
6
6
  "keywords": [
7
7
  "nanoforge",