@carlonicora/nextjs-jsonapi 1.4.0 → 1.5.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 (89) hide show
  1. package/README.md +208 -127
  2. package/dist/AuthComponent-B_Ps2Vb9.d.ts +78 -0
  3. package/dist/AuthComponent-CxnGgvoh.d.mts +78 -0
  4. package/dist/{BlockNoteEditor-U2IHUVUF.mjs → BlockNoteEditor-AIEEQM6A.mjs} +3 -5
  5. package/dist/{BlockNoteEditor-U2IHUVUF.mjs.map → BlockNoteEditor-AIEEQM6A.mjs.map} +1 -1
  6. package/dist/{BlockNoteEditor-QV6ESIQA.js → BlockNoteEditor-G6AK2NWA.js} +7 -9
  7. package/dist/BlockNoteEditor-G6AK2NWA.js.map +1 -0
  8. package/dist/{chunk-R2ONK22M.mjs → chunk-J7YDGYSW.mjs} +2654 -1307
  9. package/dist/chunk-J7YDGYSW.mjs.map +1 -0
  10. package/dist/{chunk-E2HRC2OG.js → chunk-VET55IZO.js} +1846 -499
  11. package/dist/chunk-VET55IZO.js.map +1 -0
  12. package/dist/client/index.d.mts +2 -2
  13. package/dist/client/index.d.ts +2 -2
  14. package/dist/client/index.js +2 -3
  15. package/dist/client/index.js.map +1 -1
  16. package/dist/client/index.mjs +1 -2
  17. package/dist/components/index.d.mts +6 -69
  18. package/dist/components/index.d.ts +6 -69
  19. package/dist/components/index.js +2 -3
  20. package/dist/components/index.js.map +1 -1
  21. package/dist/components/index.mjs +1 -2
  22. package/dist/{content.interface-C_PGZMuy.d.ts → content.interface-CR2aBeAW.d.ts} +1 -1
  23. package/dist/{content.interface-D_WS6CrB.d.mts → content.interface-FpLfsaRm.d.mts} +1 -1
  24. package/dist/contexts/index.d.mts +3 -3
  25. package/dist/contexts/index.d.ts +3 -3
  26. package/dist/contexts/index.js +2 -3
  27. package/dist/contexts/index.js.map +1 -1
  28. package/dist/contexts/index.mjs +1 -2
  29. package/dist/features/index.d.mts +50 -49
  30. package/dist/features/index.d.ts +50 -49
  31. package/dist/features/index.js +23 -2
  32. package/dist/features/index.js.map +1 -1
  33. package/dist/features/index.mjs +22 -1
  34. package/dist/hooks/index.d.mts +3 -3
  35. package/dist/hooks/index.d.ts +3 -3
  36. package/dist/hooks/index.js +2 -3
  37. package/dist/hooks/index.js.map +1 -1
  38. package/dist/hooks/index.mjs +1 -2
  39. package/dist/{notification.interface-BBgMUdLR.d.mts → notification.interface-B2BrLoDA.d.mts} +1 -1
  40. package/dist/{notification.interface-gyvT-Z2F.d.ts → notification.interface-DlZLnAfg.d.ts} +1 -1
  41. package/dist/scripts/generate-web-module/generator.d.ts.map +1 -1
  42. package/dist/scripts/generate-web-module/generator.js +8 -5
  43. package/dist/scripts/generate-web-module/generator.js.map +1 -1
  44. package/dist/scripts/generate-web-module/index.js +1 -1
  45. package/dist/scripts/generate-web-module/index.js.map +1 -1
  46. package/dist/scripts/generate-web-module/templates/components/editor.template.js +8 -1
  47. package/dist/scripts/generate-web-module/templates/components/editor.template.js.map +1 -1
  48. package/dist/scripts/generate-web-module/transformers/parent-detector.d.ts +4 -3
  49. package/dist/scripts/generate-web-module/transformers/parent-detector.d.ts.map +1 -1
  50. package/dist/scripts/generate-web-module/transformers/parent-detector.js +9 -3
  51. package/dist/scripts/generate-web-module/transformers/parent-detector.js.map +1 -1
  52. package/dist/scripts/generate-web-module/transformers/relationship-resolver.d.ts +11 -0
  53. package/dist/scripts/generate-web-module/transformers/relationship-resolver.d.ts.map +1 -1
  54. package/dist/scripts/generate-web-module/transformers/relationship-resolver.js +36 -9
  55. package/dist/scripts/generate-web-module/transformers/relationship-resolver.js.map +1 -1
  56. package/dist/scripts/generate-web-module/types/json-schema.interface.d.ts +2 -0
  57. package/dist/scripts/generate-web-module/types/json-schema.interface.d.ts.map +1 -1
  58. package/dist/scripts/generate-web-module/types/template-data.interface.d.ts +1 -0
  59. package/dist/scripts/generate-web-module/types/template-data.interface.d.ts.map +1 -1
  60. package/dist/scripts/generate-web-module/utils/i18n-updater.d.ts +4 -3
  61. package/dist/scripts/generate-web-module/utils/i18n-updater.d.ts.map +1 -1
  62. package/dist/scripts/generate-web-module/utils/i18n-updater.js +9 -9
  63. package/dist/scripts/generate-web-module/utils/i18n-updater.js.map +1 -1
  64. package/dist/scripts/generate-web-module/validators/json-schema-validator.js +3 -3
  65. package/dist/scripts/generate-web-module/validators/json-schema-validator.js.map +1 -1
  66. package/dist/{useSocket-DzMKRKCA.d.ts → useSocket-BV6yMdWS.d.ts} +1 -1
  67. package/dist/{useSocket-Cn7fB_B1.d.mts → useSocket-L-An7_Mr.d.mts} +1 -1
  68. package/dist/{user.interface-CAsTIbuQ.d.mts → user.interface-CooB1R79.d.mts} +13 -13
  69. package/dist/{user.interface-CbWqMaaU.d.ts → user.interface-KnIT9pVY.d.ts} +13 -13
  70. package/package.json +1 -1
  71. package/scripts/generate-web-module/generator.ts +8 -5
  72. package/scripts/generate-web-module/index.ts +1 -1
  73. package/scripts/generate-web-module/templates/components/editor.template.ts +7 -2
  74. package/scripts/generate-web-module/transformers/parent-detector.ts +10 -3
  75. package/scripts/generate-web-module/transformers/relationship-resolver.ts +36 -9
  76. package/scripts/generate-web-module/types/json-schema.interface.ts +2 -0
  77. package/scripts/generate-web-module/types/template-data.interface.ts +1 -0
  78. package/scripts/generate-web-module/utils/i18n-updater.ts +9 -9
  79. package/scripts/generate-web-module/validators/json-schema-validator.ts +3 -3
  80. package/src/features/user/index.ts +1 -0
  81. package/dist/AuthComponent-hxOPs9o8.d.mts +0 -11
  82. package/dist/AuthComponent-hxOPs9o8.d.ts +0 -11
  83. package/dist/BlockNoteEditor-QV6ESIQA.js.map +0 -1
  84. package/dist/chunk-E2HRC2OG.js.map +0 -1
  85. package/dist/chunk-HTLEKZND.mjs +0 -1375
  86. package/dist/chunk-HTLEKZND.mjs.map +0 -1
  87. package/dist/chunk-PO5Q3H5I.js +0 -1375
  88. package/dist/chunk-PO5Q3H5I.js.map +0 -1
  89. package/dist/chunk-R2ONK22M.mjs.map +0 -1
@@ -6,6 +6,8 @@
6
6
  * including form fields, imports, and service methods.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.FOUNDATION_PACKAGE = void 0;
10
+ exports.isFoundationImport = isFoundationImport;
9
11
  exports.resolveRelationship = resolveRelationship;
10
12
  exports.resolveRelationships = resolveRelationships;
11
13
  exports.mapDirectoryToWebPath = mapDirectoryToWebPath;
@@ -16,6 +18,19 @@ exports.getDefaultValueExpression = getDefaultValueExpression;
16
18
  exports.getPayloadMapping = getPayloadMapping;
17
19
  const field_mapping_types_1 = require("../types/field-mapping.types");
18
20
  const name_transformer_1 = require("./name-transformer");
21
+ /**
22
+ * Foundation package name constant for web imports
23
+ */
24
+ exports.FOUNDATION_PACKAGE = "@carlonicora/nextjs-jsonapi/features";
25
+ /**
26
+ * Check if a directory represents a foundation import (from the package)
27
+ *
28
+ * @param directory - The directory string from relationship definition
29
+ * @returns True if this should import from the foundation package
30
+ */
31
+ function isFoundationImport(directory) {
32
+ return directory === "@foundation" || directory.startsWith("@foundation/");
33
+ }
19
34
  /**
20
35
  * Resolve a JSON relationship to frontend representation
21
36
  *
@@ -61,17 +76,30 @@ function resolveRelationship(rel) {
61
76
  else {
62
77
  zodSchema = rel.nullable ? `z.array(${field_mapping_types_1.ENTITY_ZOD_SCHEMA}).optional()` : `z.array(${field_mapping_types_1.ENTITY_ZOD_SCHEMA})`;
63
78
  }
64
- // Import paths - map directory to web path
65
- const webDirectory = mapDirectoryToWebPath(rel.directory);
66
- const importPath = `@/features/${webDirectory}/${modelKebab}/components/forms/${selectorComponent}`;
67
- const interfaceImportPath = `@/features/${webDirectory}/${modelKebab}/data/${rel.name}Interface`;
68
- const serviceImportPath = `@/features/${webDirectory}/${modelKebab}/data/${rel.name}Service`;
79
+ // Import paths - check for foundation imports
80
+ let importPath;
81
+ let interfaceImportPath;
82
+ let serviceImportPath;
83
+ if (isFoundationImport(rel.directory)) {
84
+ // Foundation entities import from the package
85
+ importPath = exports.FOUNDATION_PACKAGE;
86
+ interfaceImportPath = exports.FOUNDATION_PACKAGE;
87
+ serviceImportPath = exports.FOUNDATION_PACKAGE;
88
+ }
89
+ else {
90
+ // Feature entities use local paths
91
+ const webDirectory = mapDirectoryToWebPath(rel.directory);
92
+ importPath = `@/features/${webDirectory}/${modelKebab}/components/forms/${selectorComponent}`;
93
+ interfaceImportPath = `@/features/${webDirectory}/${modelKebab}/data/${rel.name}Interface`;
94
+ serviceImportPath = `@/features/${webDirectory}/${modelKebab}/data/${rel.name}Service`;
95
+ }
69
96
  return {
70
97
  name: rel.name,
71
98
  variant: rel.variant,
72
99
  directory: rel.directory,
73
100
  single: rel.single,
74
101
  nullable: rel.nullable,
102
+ isFoundation: isFoundationImport(rel.directory),
75
103
  formFieldId,
76
104
  formFieldIdPlural,
77
105
  payloadFieldId,
@@ -130,10 +158,9 @@ function generateServiceMethods(relationships) {
130
158
  function getSelectorImports(relationships) {
131
159
  const imports = new Set();
132
160
  relationships.forEach((rel) => {
133
- // Don't import User selector from same module - it's typically a library import
134
- if (rel.name === "User" && rel.variant === field_mapping_types_1.AUTHOR_VARIANT) {
135
- // User selector is imported from library or user feature
136
- imports.add(`import { UserSelector } from "@/features/foundations/user/components/forms/UserSelector";`);
161
+ if (isFoundationImport(rel.directory)) {
162
+ // Foundation entities use named imports from the package
163
+ imports.add(`import { ${rel.selectorComponent} } from "${exports.FOUNDATION_PACKAGE}";`);
137
164
  }
138
165
  else {
139
166
  imports.add(`import ${rel.selectorComponent} from "${rel.importPath}";`);
@@ -1 +1 @@
1
- {"version":3,"file":"relationship-resolver.js","sourceRoot":"","sources":["../../../../scripts/generate-web-module/transformers/relationship-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relationship-resolver.js","sourceRoot":"","sources":["../../../../scripts/generate-web-module/transformers/relationship-resolver.ts"],"names":[],"mappings":"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"}
@@ -36,5 +36,7 @@ export interface JsonModuleDefinition {
36
36
  languages: string[];
37
37
  fields: JsonFieldDefinition[];
38
38
  relationships: JsonRelationshipDefinition[];
39
+ /** Explicitly set whether this module extends Content. If not set, auto-detects based on fields. */
40
+ extendsContent?: boolean;
39
41
  }
40
42
  //# sourceMappingURL=json-schema.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema.interface.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-web-module/types/json-schema.interface.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,aAAa,EAAE,0BAA0B,EAAE,CAAC;CAC7C"}
1
+ {"version":3,"file":"json-schema.interface.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-web-module/types/json-schema.interface.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,aAAa,EAAE,0BAA0B,EAAE,CAAC;IAC5C,oGAAoG;IACpG,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B"}
@@ -42,6 +42,7 @@ export interface FrontendRelationship {
42
42
  directory: string;
43
43
  single: boolean;
44
44
  nullable: boolean;
45
+ isFoundation: boolean;
45
46
  formFieldId: string;
46
47
  formFieldIdPlural: string;
47
48
  payloadFieldId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"template-data.interface.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-web-module/types/template-data.interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template-data.interface.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-web-module/types/template-data.interface.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * i18n Updater
3
3
  *
4
- * Updates the messages/en.json file with new module translations.
4
+ * Updates the messages/{language}.json files with new module translations.
5
5
  */
6
6
  import { FrontendTemplateData } from "../types/template-data.interface";
7
7
  export interface I18nUpdateResult {
@@ -10,14 +10,15 @@ export interface I18nUpdateResult {
10
10
  alreadyExists?: boolean;
11
11
  }
12
12
  /**
13
- * Update messages/en.json with new module translations
13
+ * Update messages/{language}.json with new module translations
14
14
  *
15
15
  * @param data - Frontend template data
16
16
  * @param webBasePath - Base path to web app
17
+ * @param language - Language code (e.g., "en", "es", "fr")
17
18
  * @param dryRun - Whether to perform a dry run
18
19
  * @returns Update result
19
20
  */
20
- export declare function updateI18n(data: FrontendTemplateData, webBasePath: string, dryRun?: boolean): I18nUpdateResult;
21
+ export declare function updateI18n(data: FrontendTemplateData, webBasePath: string, language?: string, dryRun?: boolean): I18nUpdateResult;
21
22
  /**
22
23
  * Preview the i18n messages that would be added
23
24
  *
@@ -1 +1 @@
1
- {"version":3,"file":"i18n-updater.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-web-module/utils/i18n-updater.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAKxE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,oBAAoB,EAC1B,WAAW,EAAE,MAAM,EACnB,MAAM,GAAE,OAAe,GACtB,gBAAgB,CAkElB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAGtE"}
1
+ {"version":3,"file":"i18n-updater.d.ts","sourceRoot":"","sources":["../../../../scripts/generate-web-module/utils/i18n-updater.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAGxE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,oBAAoB,EAC1B,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,MAAa,EACvB,MAAM,GAAE,OAAe,GACtB,gBAAgB,CAkElB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAGtE"}
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * i18n Updater
4
4
  *
5
- * Updates the messages/en.json file with new module translations.
5
+ * Updates the messages/{language}.json files with new module translations.
6
6
  */
7
7
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
8
  if (k2 === undefined) k2 = k;
@@ -42,18 +42,18 @@ exports.updateI18n = updateI18n;
42
42
  exports.previewI18nMessages = previewI18nMessages;
43
43
  const fs = __importStar(require("fs"));
44
44
  const i18n_generator_1 = require("../transformers/i18n-generator");
45
- const MESSAGES_PATH = "apps/web/messages/en.json";
46
45
  /**
47
- * Update messages/en.json with new module translations
46
+ * Update messages/{language}.json with new module translations
48
47
  *
49
48
  * @param data - Frontend template data
50
49
  * @param webBasePath - Base path to web app
50
+ * @param language - Language code (e.g., "en", "es", "fr")
51
51
  * @param dryRun - Whether to perform a dry run
52
52
  * @returns Update result
53
53
  */
54
- function updateI18n(data, webBasePath, dryRun = false) {
54
+ function updateI18n(data, webBasePath, language = "en", dryRun = false) {
55
55
  const { names, i18nKeys } = data;
56
- const messagesPath = `${webBasePath}/${MESSAGES_PATH}`;
56
+ const messagesPath = `${webBasePath}/apps/web/messages/${language}.json`;
57
57
  // Check if file exists
58
58
  if (!fs.existsSync(messagesPath)) {
59
59
  return {
@@ -69,14 +69,14 @@ function updateI18n(data, webBasePath, dryRun = false) {
69
69
  catch (e) {
70
70
  return {
71
71
  success: false,
72
- message: `Failed to parse messages/en.json: ${e}`,
72
+ message: `Failed to parse messages/${language}.json: ${e}`,
73
73
  };
74
74
  }
75
75
  // Check if module already exists in features
76
76
  if (messages.features && messages.features[names.camelCase]) {
77
77
  return {
78
78
  success: true,
79
- message: `Module ${names.camelCase} already exists in messages/en.json`,
79
+ message: `Module ${names.camelCase} already exists in messages/${language}.json`,
80
80
  alreadyExists: true,
81
81
  };
82
82
  }
@@ -98,7 +98,7 @@ function updateI18n(data, webBasePath, dryRun = false) {
98
98
  if (dryRun) {
99
99
  return {
100
100
  success: true,
101
- message: `[DRY RUN] Would update messages/en.json with ${names.camelCase} translations`,
101
+ message: `[DRY RUN] Would update messages/${language}.json with ${names.camelCase} translations`,
102
102
  };
103
103
  }
104
104
  // Write updated content with proper formatting
@@ -106,7 +106,7 @@ function updateI18n(data, webBasePath, dryRun = false) {
106
106
  fs.writeFileSync(messagesPath, updatedContent, "utf-8");
107
107
  return {
108
108
  success: true,
109
- message: `Updated messages/en.json with ${names.camelCase} translations`,
109
+ message: `Updated messages/${language}.json with ${names.camelCase} translations`,
110
110
  };
111
111
  }
112
112
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"i18n-updater.js","sourceRoot":"","sources":["../../../../scripts/generate-web-module/utils/i18n-updater.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i18n-updater.js","sourceRoot":"","sources":["../../../../scripts/generate-web-module/utils/i18n-updater.ts"],"names":[],"mappings":"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"}
@@ -120,11 +120,11 @@ function validateJsonSchema(schema) {
120
120
  severity: "error",
121
121
  });
122
122
  }
123
- // Directory should be features or foundations
124
- if (rel.directory && !["features", "foundations"].includes(rel.directory)) {
123
+ // Directory should be features, foundations, or @foundation (for package imports)
124
+ if (rel.directory && !["features", "foundations", "@foundation"].includes(rel.directory) && !rel.directory.startsWith("@foundation/")) {
125
125
  errors.push({
126
126
  field: `relationships[${index}].directory`,
127
- message: 'Relationship directory should be "features" or "foundations"',
127
+ message: 'Relationship directory should be "features", "foundations", or "@foundation"',
128
128
  severity: "warning",
129
129
  });
130
130
  }
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema-validator.js","sourceRoot":"","sources":["../../../../scripts/generate-web-module/validators/json-schema-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-schema-validator.js","sourceRoot":"","sources":["../../../../scripts/generate-web-module/validators/json-schema-validator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { N as NotificationInterface } from './notification.interface-gyvT-Z2F.js';
1
+ import { N as NotificationInterface } from './notification.interface-DlZLnAfg.js';
2
2
 
3
3
  interface UseSocketOptions {
4
4
  token: string;
@@ -1,4 +1,4 @@
1
- import { N as NotificationInterface } from './notification.interface-BBgMUdLR.mjs';
1
+ import { N as NotificationInterface } from './notification.interface-B2BrLoDA.mjs';
2
2
 
3
3
  interface UseSocketOptions {
4
4
  token: string;
@@ -17,6 +17,18 @@ interface FeatureInterface extends ApiDataInterface {
17
17
  get modules(): ModuleInterface[];
18
18
  }
19
19
 
20
+ type RoleInput = {
21
+ id: string;
22
+ name: string;
23
+ description?: string;
24
+ };
25
+ interface RoleInterface extends ApiDataInterface {
26
+ get name(): string;
27
+ get description(): string;
28
+ get isSelectable(): boolean;
29
+ get requiredFeature(): FeatureInterface | undefined;
30
+ }
31
+
20
32
  type CompanyInput = {
21
33
  id: string;
22
34
  name?: string;
@@ -37,18 +49,6 @@ interface CompanyInterface extends ApiDataInterface {
37
49
  get modules(): ModuleInterface[];
38
50
  }
39
51
 
40
- type RoleInput = {
41
- id: string;
42
- name: string;
43
- description?: string;
44
- };
45
- interface RoleInterface extends ApiDataInterface {
46
- get name(): string;
47
- get description(): string;
48
- get isSelectable(): boolean;
49
- get requiredFeature(): FeatureInterface | undefined;
50
- }
51
-
52
52
  type UserInput = {
53
53
  id: string;
54
54
  email?: string | undefined | null;
@@ -82,4 +82,4 @@ interface UserInterface extends ApiDataInterface {
82
82
  get modules(): ModuleInterface[];
83
83
  }
84
84
 
85
- export type { CompanyInterface as C, FeatureInterface as F, ModuleInterface as M, RoleInterface as R, UserInterface as U, CompanyInput as a, RoleInput as b, UserInput as c };
85
+ export type { CompanyInterface as C, FeatureInterface as F, ModuleInterface as M, RoleInterface as R, UserInterface as U, RoleInput as a, CompanyInput as b, UserInput as c };
@@ -17,6 +17,18 @@ interface FeatureInterface extends ApiDataInterface {
17
17
  get modules(): ModuleInterface[];
18
18
  }
19
19
 
20
+ type RoleInput = {
21
+ id: string;
22
+ name: string;
23
+ description?: string;
24
+ };
25
+ interface RoleInterface extends ApiDataInterface {
26
+ get name(): string;
27
+ get description(): string;
28
+ get isSelectable(): boolean;
29
+ get requiredFeature(): FeatureInterface | undefined;
30
+ }
31
+
20
32
  type CompanyInput = {
21
33
  id: string;
22
34
  name?: string;
@@ -37,18 +49,6 @@ interface CompanyInterface extends ApiDataInterface {
37
49
  get modules(): ModuleInterface[];
38
50
  }
39
51
 
40
- type RoleInput = {
41
- id: string;
42
- name: string;
43
- description?: string;
44
- };
45
- interface RoleInterface extends ApiDataInterface {
46
- get name(): string;
47
- get description(): string;
48
- get isSelectable(): boolean;
49
- get requiredFeature(): FeatureInterface | undefined;
50
- }
51
-
52
52
  type UserInput = {
53
53
  id: string;
54
54
  email?: string | undefined | null;
@@ -82,4 +82,4 @@ interface UserInterface extends ApiDataInterface {
82
82
  get modules(): ModuleInterface[];
83
83
  }
84
84
 
85
- export type { CompanyInterface as C, FeatureInterface as F, ModuleInterface as M, RoleInterface as R, UserInterface as U, CompanyInput as a, RoleInput as b, UserInput as c };
85
+ export type { CompanyInterface as C, FeatureInterface as F, ModuleInterface as M, RoleInterface as R, UserInterface as U, RoleInput as a, CompanyInput as b, UserInput as c };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carlonicora/nextjs-jsonapi",
3
- "version": "1.4.0",
3
+ "version": "1.5.0",
4
4
  "description": "Next.js JSON:API client with server/client support and caching",
5
5
  "author": "Carlo Nicora",
6
6
  "license": "GPL-3.0-or-later",
@@ -108,11 +108,14 @@ export async function generateWebModule(options: GenerateWebModuleOptions): Prom
108
108
  console.log(` ${bootstrapResult.success ? "✅" : "❌"} ${bootstrapResult.message}`);
109
109
  }
110
110
 
111
- // Step 7: Update i18n (unless --no-register)
111
+ // Step 7: Update i18n for all languages (unless --no-register)
112
112
  if (!noRegister) {
113
- console.log("\n🌐 Updating messages/en.json...");
114
- const i18nResult = updateI18n(templateData, webBasePath, dryRun);
115
- console.log(` ${i18nResult.success ? "✅" : "❌"} ${i18nResult.message}`);
113
+ const languages = schema.languages || ["en"];
114
+ console.log(`\n🌐 Updating i18n for ${languages.length} language(s)...`);
115
+ for (const language of languages) {
116
+ const i18nResult = updateI18n(templateData, webBasePath, language, dryRun);
117
+ console.log(` ${i18nResult.success ? "✅" : "❌"} ${i18nResult.message}`);
118
+ }
116
119
  }
117
120
 
118
121
  console.log("\n✅ Generation complete!");
@@ -131,7 +134,7 @@ export async function generateWebModule(options: GenerateWebModuleOptions): Prom
131
134
  function buildTemplateData(schema: JsonModuleDefinition): FrontendTemplateData {
132
135
  const names = transformNames(schema.moduleName, schema.endpointName);
133
136
  const targetDir = schema.targetDir as "features" | "foundations";
134
- const extendsContent = detectExtendsContent(schema.fields);
137
+ const extendsContent = detectExtendsContent(schema.fields, schema.extendsContent);
135
138
 
136
139
  // Map fields
137
140
  const allFields = mapFields(schema.fields, names.camelCase);
@@ -26,7 +26,7 @@ program
26
26
  .argument("<json-path>", "Path to JSON schema file (relative or absolute)")
27
27
  .option("-d, --dry-run", "Preview files without writing them", false)
28
28
  .option("-f, --force", "Overwrite existing files", false)
29
- .option("-n, --no-register", "Skip Bootstrapper.ts and i18n updates", false)
29
+ .option("-n, --no-register", "Skip Bootstrapper.ts and i18n updates")
30
30
  .action(async (jsonPath: string, options: { dryRun: boolean; force: boolean; register: boolean }) => {
31
31
  // Resolve path
32
32
  const resolvedPath = path.isAbsolute(jsonPath) ? jsonPath : path.resolve(process.cwd(), jsonPath);
@@ -8,7 +8,7 @@ import { FrontendTemplateData, FrontendField, FrontendRelationship } from "../..
8
8
  import { toCamelCase, pluralize, toPascalCase } from "../../transformers/name-transformer";
9
9
  import { AUTHOR_VARIANT } from "../../types/field-mapping.types";
10
10
  import { getFormFieldJsx } from "../../transformers/field-mapper";
11
- import { getRelationshipFormJsx, getDefaultValueExpression, getPayloadMapping } from "../../transformers/relationship-resolver";
11
+ import { getRelationshipFormJsx, getDefaultValueExpression, getPayloadMapping, isFoundationImport, FOUNDATION_PACKAGE } from "../../transformers/relationship-resolver";
12
12
 
13
13
  /**
14
14
  * Generate the editor component file content
@@ -154,7 +154,12 @@ function generateImports(data: FrontendTemplateData): string {
154
154
  imports.push(`import { UserInterface } from "@/features/foundations/user/data/UserInterface";`);
155
155
  } else {
156
156
  const componentName = rel.single ? `${rel.name}Selector` : `${rel.name}MultiSelector`;
157
- imports.push(`import ${componentName} from "${rel.importPath}";`);
157
+ if (rel.isFoundation) {
158
+ // Foundation entities use named imports from the package
159
+ imports.push(`import { ${componentName} } from "${FOUNDATION_PACKAGE}";`);
160
+ } else {
161
+ imports.push(`import ${componentName} from "${rel.importPath}";`);
162
+ }
158
163
  }
159
164
  });
160
165
 
@@ -2,19 +2,26 @@
2
2
  * Parent Class Detector
3
3
  *
4
4
  * Determines whether a module should extend Content or AbstractApiData
5
- * based on the presence of Content-specific fields.
5
+ * based on the presence of Content-specific fields or explicit configuration.
6
6
  */
7
7
 
8
8
  import { JsonFieldDefinition } from "../types/json-schema.interface";
9
9
  import { CONTENT_INDICATOR_FIELDS } from "../types/field-mapping.types";
10
10
 
11
11
  /**
12
- * Check if a module should extend Content based on its fields
12
+ * Check if a module should extend Content
13
13
  *
14
14
  * @param fields - Array of field definitions from JSON schema
15
+ * @param explicitValue - Optional explicit value from JSON schema
15
16
  * @returns true if the module should extend Content
16
17
  */
17
- export function detectExtendsContent(fields: JsonFieldDefinition[]): boolean {
18
+ export function detectExtendsContent(fields: JsonFieldDefinition[], explicitValue?: boolean): boolean {
19
+ // If explicitly set in JSON schema, use that value
20
+ if (explicitValue !== undefined) {
21
+ return explicitValue;
22
+ }
23
+
24
+ // Otherwise, auto-detect based on fields
18
25
  const fieldNames = fields.map((f) => f.name);
19
26
  return CONTENT_INDICATOR_FIELDS.some((indicator) => fieldNames.includes(indicator));
20
27
  }
@@ -10,6 +10,21 @@ import { FrontendRelationship, RelationshipServiceMethod } from "../types/templa
10
10
  import { AUTHOR_VARIANT, AUTHOR_ZOD_SCHEMA, ENTITY_ZOD_SCHEMA } from "../types/field-mapping.types";
11
11
  import { toCamelCase, toKebabCase, pluralize, toPascalCase } from "./name-transformer";
12
12
 
13
+ /**
14
+ * Foundation package name constant for web imports
15
+ */
16
+ export const FOUNDATION_PACKAGE = "@carlonicora/nextjs-jsonapi/features";
17
+
18
+ /**
19
+ * Check if a directory represents a foundation import (from the package)
20
+ *
21
+ * @param directory - The directory string from relationship definition
22
+ * @returns True if this should import from the foundation package
23
+ */
24
+ export function isFoundationImport(directory: string): boolean {
25
+ return directory === "@foundation" || directory.startsWith("@foundation/");
26
+ }
27
+
13
28
  /**
14
29
  * Resolve a JSON relationship to frontend representation
15
30
  *
@@ -56,11 +71,23 @@ export function resolveRelationship(rel: JsonRelationshipDefinition): FrontendRe
56
71
  zodSchema = rel.nullable ? `z.array(${ENTITY_ZOD_SCHEMA}).optional()` : `z.array(${ENTITY_ZOD_SCHEMA})`;
57
72
  }
58
73
 
59
- // Import paths - map directory to web path
60
- const webDirectory = mapDirectoryToWebPath(rel.directory);
61
- const importPath = `@/features/${webDirectory}/${modelKebab}/components/forms/${selectorComponent}`;
62
- const interfaceImportPath = `@/features/${webDirectory}/${modelKebab}/data/${rel.name}Interface`;
63
- const serviceImportPath = `@/features/${webDirectory}/${modelKebab}/data/${rel.name}Service`;
74
+ // Import paths - check for foundation imports
75
+ let importPath: string;
76
+ let interfaceImportPath: string;
77
+ let serviceImportPath: string;
78
+
79
+ if (isFoundationImport(rel.directory)) {
80
+ // Foundation entities import from the package
81
+ importPath = FOUNDATION_PACKAGE;
82
+ interfaceImportPath = FOUNDATION_PACKAGE;
83
+ serviceImportPath = FOUNDATION_PACKAGE;
84
+ } else {
85
+ // Feature entities use local paths
86
+ const webDirectory = mapDirectoryToWebPath(rel.directory);
87
+ importPath = `@/features/${webDirectory}/${modelKebab}/components/forms/${selectorComponent}`;
88
+ interfaceImportPath = `@/features/${webDirectory}/${modelKebab}/data/${rel.name}Interface`;
89
+ serviceImportPath = `@/features/${webDirectory}/${modelKebab}/data/${rel.name}Service`;
90
+ }
64
91
 
65
92
  return {
66
93
  name: rel.name,
@@ -68,6 +95,7 @@ export function resolveRelationship(rel: JsonRelationshipDefinition): FrontendRe
68
95
  directory: rel.directory,
69
96
  single: rel.single,
70
97
  nullable: rel.nullable,
98
+ isFoundation: isFoundationImport(rel.directory),
71
99
  formFieldId,
72
100
  formFieldIdPlural,
73
101
  payloadFieldId,
@@ -131,10 +159,9 @@ export function getSelectorImports(relationships: FrontendRelationship[]): strin
131
159
  const imports = new Set<string>();
132
160
 
133
161
  relationships.forEach((rel) => {
134
- // Don't import User selector from same module - it's typically a library import
135
- if (rel.name === "User" && rel.variant === AUTHOR_VARIANT) {
136
- // User selector is imported from library or user feature
137
- imports.add(`import { UserSelector } from "@/features/foundations/user/components/forms/UserSelector";`);
162
+ if (isFoundationImport(rel.directory)) {
163
+ // Foundation entities use named imports from the package
164
+ imports.add(`import { ${rel.selectorComponent} } from "${FOUNDATION_PACKAGE}";`);
138
165
  } else {
139
166
  imports.add(`import ${rel.selectorComponent} from "${rel.importPath}";`);
140
167
  }
@@ -39,4 +39,6 @@ export interface JsonModuleDefinition {
39
39
  languages: string[];
40
40
  fields: JsonFieldDefinition[];
41
41
  relationships: JsonRelationshipDefinition[];
42
+ /** Explicitly set whether this module extends Content. If not set, auto-detects based on fields. */
43
+ extendsContent?: boolean;
42
44
  }
@@ -46,6 +46,7 @@ export interface FrontendRelationship {
46
46
  directory: string; // e.g., "foundations"
47
47
  single: boolean;
48
48
  nullable: boolean;
49
+ isFoundation: boolean; // true if importing from @carlonicora/nextjs-jsonapi/features
49
50
  // Derived properties
50
51
  formFieldId: string; // e.g., "author" (lowercase variant) or "user"
51
52
  formFieldIdPlural: string; // e.g., "topics" for multi-select