-2
packages/emitter/lib/decorators.tsp
-2
packages/emitter/lib/decorators.tsp
+1
packages/emitter/src/decorators.ts
+1
packages/emitter/src/decorators.ts
+11
packages/emitter/src/emitter.ts
+11
packages/emitter/src/emitter.ts
···
124
124
125
125
// Skip external namespaces - they don't emit JSON files
126
126
if (isExternal(this.program, ns)) {
127
+
// Validate that all models in external namespaces are empty (stub-only)
128
+
for (const [_, model] of ns.models) {
129
+
if (model.properties && model.properties.size > 0) {
130
+
this.program.reportDiagnostic({
131
+
code: "external-model-not-empty",
132
+
severity: "error",
133
+
message: `Models in @external namespaces must be empty stubs. Model '${model.name}' in namespace '${fullName}' has properties.`,
134
+
target: model,
135
+
});
136
+
}
137
+
}
127
138
return;
128
139
}
129
140