@webda/content-mapper 4.0.0-beta.6 → 4.0.0-beta.8

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.
package/lib/module.js CHANGED
@@ -18,7 +18,7 @@
18
18
  * so the committed file only changes when its content does.
19
19
  */
20
20
  import { existsSync, readFileSync } from "node:fs";
21
- import { join, relative } from "node:path";
21
+ import { dirname, join, relative } from "node:path";
22
22
  import { getJSDocTags, getTextOfJSDocComment, SyntaxKind } from "typescript/unstable/ast";
23
23
  import * as is from "typescript/unstable/ast/is";
24
24
  import { SymbolFlags } from "typescript/unstable/sync";
@@ -29,6 +29,8 @@ import { generateTopLevelSchemas } from "./schema/project.js";
29
29
  import { findParametersNode, generateServiceSchema } from "./schema/service.js";
30
30
  /** Value of `$schema` in every generated module. */
31
31
  export const WEBDA_MODULE_SCHEMA = "https://webda.io/schemas/webda.module.v4.json";
32
+ /** Modules a `@Shared` method may import from when the application sets no `sharedImports`. */
33
+ export const DEFAULT_SHARED_IMPORTS = ["@webda/utils", "@webda/ql"];
32
34
  /** Suffixes the content mapper is registered for. */
33
35
  const MAPPED_SUFFIXES = [".model.ts", ".service.ts"];
34
36
  /** Suffix suggested for a section when a file has none of {@link MAPPED_SUFFIXES}. */
@@ -390,6 +392,260 @@ export function buildModelActions(ctx, cls) {
390
392
  decoratedStaticMethods(ctx, cls).forEach(processMethod);
391
393
  return actions;
392
394
  }
395
+ /**
396
+ * Whether a method carries `@Shared`.
397
+ * @param ctx - analysis context
398
+ * @param method - the method
399
+ * @returns true when decorated
400
+ */
401
+ function hasSharedDecorator(ctx, method) {
402
+ return decoratorsOf(method).some(decorator => decoratorName(ctx, decorator) === "Shared");
403
+ }
404
+ /**
405
+ * Whether a module specifier is covered by the allowlist (`@webda/utils` covers `@webda/utils/lib/x.js`).
406
+ * @param specifier - the imported module
407
+ * @param allowed - the allowlist
408
+ * @returns true when allowed
409
+ */
410
+ function isAllowedImport(specifier, allowed) {
411
+ return allowed.some(module => specifier === module || specifier.startsWith(`${module}/`));
412
+ }
413
+ /**
414
+ * The import declaration an alias symbol comes from.
415
+ * @param ctx - analysis context
416
+ * @param symbol - the alias symbol, unresolved
417
+ * @returns module specifier and the import binding text, undefined when it is not an `import` declaration
418
+ */
419
+ function importOf(ctx, symbol) {
420
+ for (const declaration of declarationsOf(ctx, symbol)) {
421
+ // The import clause, whose parent holds the module specifier
422
+ let clause;
423
+ let binding;
424
+ switch (declaration.kind) {
425
+ case SyntaxKind.ImportClause:
426
+ clause = declaration;
427
+ binding = `default as ${text(ctx, declaration.name)}`;
428
+ break;
429
+ case SyntaxKind.NamespaceImport:
430
+ clause = declaration.parent;
431
+ binding = `* as ${text(ctx, declaration.name)}`;
432
+ break;
433
+ case SyntaxKind.ImportSpecifier: {
434
+ clause = declaration.parent.parent;
435
+ const name = text(ctx, declaration.name);
436
+ const property = declaration.propertyName;
437
+ binding = property ? `${text(ctx, property)} as ${name}` : name;
438
+ break;
439
+ }
440
+ default:
441
+ // `import x = Namespace.member`, `export { x }`...: no module to check
442
+ continue;
443
+ }
444
+ return { module: clause.parent.moduleSpecifier.text, binding };
445
+ }
446
+ return undefined;
447
+ }
448
+ /**
449
+ * A model's `Shared` methods, with their purity checked.
450
+ *
451
+ * A shared method's source is copied into the frontend SDK, so its body may only
452
+ * use its parameters and locals, `this.<attribute>`, `this.<@Shared method>`,
453
+ * `<Model>.<static @Shared method>`, the standard globals and identifiers
454
+ * imported from the allowlisted modules. Anything else is reported as an error,
455
+ * which fails the build.
456
+ * @param ctx - analysis context
457
+ * @param cls - the model class
458
+ * @param options - model name and allowlist
459
+ * @returns method name to metadata, and the purity errors
460
+ */
461
+ export function buildModelShared(ctx, cls, options) {
462
+ const methods = {};
463
+ const errors = [];
464
+ const declared = cls.members.filter((member) => is.isMethodDeclaration(member) && hasSharedDecorator(ctx, member));
465
+ if (!declared.length)
466
+ return { methods, errors };
467
+ const classSymbol = cls.name ? resolveAlias(ctx, ctx.checker.getSymbolAtLocation(cls.name)) : undefined;
468
+ const sf = sourceFileOf(cls);
469
+ const appRoot = (() => {
470
+ let folder = dirname(sf.fileName);
471
+ while (folder.length > 1 && !existsSync(join(folder, "package.json")))
472
+ folder = dirname(folder);
473
+ return folder;
474
+ })();
475
+ for (const method of declared) {
476
+ const methodName = text(ctx, method.name);
477
+ const label = `${options.modelName}.${methodName}`;
478
+ const imports = {};
479
+ const problems = [];
480
+ const report = (problem) => {
481
+ if (!problems.includes(problem))
482
+ problems.push(problem);
483
+ };
484
+ /**
485
+ * @param node - a node
486
+ * @returns true when the node is declared inside the method (parameter, local, type parameter)
487
+ */
488
+ const isLocal = (node) => sourceFileOf(node)?.fileName === sf.fileName && node.pos >= method.pos && node.end <= method.end;
489
+ /**
490
+ * @param name - a member name node of `this.<name>` or `<Model>.<name>`
491
+ * @param isStatic - static access
492
+ */
493
+ const checkMember = (name, isStatic) => {
494
+ const member = text(ctx, name);
495
+ const symbol = ctx.checker.getSymbolAtLocation(name);
496
+ const declaration = valueDeclarationOf(ctx, symbol) ?? declarationsOf(ctx, symbol)[0];
497
+ const prefix = isStatic ? `${text(ctx, cls.name)}.` : "this.";
498
+ if (!declaration) {
499
+ report(`${label} is @Shared but references '${prefix}${member}' which is not declared on the model`);
500
+ return;
501
+ }
502
+ const kind = declaration.kind;
503
+ if (kind === SyntaxKind.MethodDeclaration || kind === SyntaxKind.MethodSignature) {
504
+ if (!hasSharedDecorator(ctx, declaration)) {
505
+ report(`${label} is @Shared but references '${prefix}${member}()' which is not @Shared`);
506
+ }
507
+ return;
508
+ }
509
+ if (kind === SyntaxKind.PropertyDeclaration ||
510
+ kind === SyntaxKind.PropertySignature ||
511
+ kind === SyntaxKind.GetAccessor ||
512
+ kind === SyntaxKind.SetAccessor ||
513
+ // A parameter reached through `this.` is a parameter property: `constructor(public id: string)`
514
+ kind === SyntaxKind.Parameter) {
515
+ return;
516
+ }
517
+ report(`${label} is @Shared but references '${prefix}${member}' which is neither an attribute nor a @Shared method`);
518
+ };
519
+ /**
520
+ * @param node - an identifier used as a value or a type
521
+ */
522
+ const checkIdentifier = (node) => {
523
+ const name = text(ctx, node);
524
+ const symbol = ctx.checker.getSymbolAtLocation(node);
525
+ if (!symbol) {
526
+ report(`${label} is @Shared but references '${name}' which cannot be resolved`);
527
+ return;
528
+ }
529
+ if (symbol.flags & SymbolFlags.Alias) {
530
+ const imported = importOf(ctx, symbol);
531
+ if (imported && isAllowedImport(imported.module, options.sharedImports)) {
532
+ (imports[imported.module] ??= new Set()).add(imported.binding);
533
+ return;
534
+ }
535
+ report(`${label} is @Shared but references '${name}' from "${imported?.module ?? "an unknown module"}"`);
536
+ return;
537
+ }
538
+ if (classSymbol && symbol === classSymbol)
539
+ return;
540
+ const declarations = declarationsOf(ctx, symbol);
541
+ if (!declarations.length) {
542
+ // No declaration node: a global the checker synthesizes (`undefined`, `arguments`...)
543
+ return;
544
+ }
545
+ if (declarations.some(isLocal))
546
+ return;
547
+ const files = declarations.map(declaration => sourceFileOf(declaration)?.fileName).filter(Boolean);
548
+ // The standard library: `lib.es2022.d.ts`, `lib.dom.d.ts`... shipped by typescript or its native package
549
+ if (files.every(file => /\/lib\.[^/]+\.d\.ts$/.test(file) && /^(@typescript\/|typescript$)/.test(packageOf(file) ?? ""))) {
550
+ return;
551
+ }
552
+ const file = files[0];
553
+ const pkg = file.includes("/node_modules/") ? packageOf(file) : undefined;
554
+ if (pkg) {
555
+ report(`${label} is @Shared but references '${name}' from "${pkg}"`);
556
+ }
557
+ else {
558
+ report(`${label} is @Shared but references '${name}' declared in ${relative(appRoot, file).replace(/\\/g, "/")}`);
559
+ }
560
+ };
561
+ /**
562
+ * @param node - current node
563
+ */
564
+ const visit = (node) => {
565
+ const kind = node.kind;
566
+ if (kind === SyntaxKind.Decorator)
567
+ return;
568
+ if (kind === SyntaxKind.SuperKeyword) {
569
+ report(`${label} is @Shared but references 'super'`);
570
+ return;
571
+ }
572
+ if (kind === SyntaxKind.PropertyAccessExpression) {
573
+ const expression = node.expression;
574
+ const name = node.name;
575
+ if (expression.kind === SyntaxKind.ThisKeyword) {
576
+ checkMember(name, false);
577
+ return;
578
+ }
579
+ if (is.isIdentifier(expression) && classSymbol) {
580
+ const symbol = resolveAlias(ctx, ctx.checker.getSymbolAtLocation(expression));
581
+ if (symbol === classSymbol) {
582
+ checkMember(name, true);
583
+ return;
584
+ }
585
+ }
586
+ visit(expression);
587
+ return;
588
+ }
589
+ if (kind === SyntaxKind.QualifiedName) {
590
+ visit(node.left);
591
+ return;
592
+ }
593
+ if (is.isIdentifier(node)) {
594
+ const parent = node.parent;
595
+ // Declaration names and property keys are not references
596
+ if (parent.name === node && parent.kind !== SyntaxKind.ShorthandPropertyAssignment) {
597
+ const declaring = [
598
+ SyntaxKind.Parameter,
599
+ SyntaxKind.VariableDeclaration,
600
+ SyntaxKind.BindingElement,
601
+ SyntaxKind.FunctionDeclaration,
602
+ SyntaxKind.FunctionExpression,
603
+ SyntaxKind.ClassDeclaration,
604
+ SyntaxKind.ClassExpression,
605
+ SyntaxKind.TypeParameter,
606
+ SyntaxKind.PropertyAssignment,
607
+ SyntaxKind.PropertyDeclaration,
608
+ SyntaxKind.MethodDeclaration,
609
+ SyntaxKind.GetAccessor,
610
+ SyntaxKind.SetAccessor,
611
+ SyntaxKind.PropertySignature,
612
+ SyntaxKind.MethodSignature,
613
+ SyntaxKind.EnumMember
614
+ ];
615
+ if (declaring.includes(parent.kind))
616
+ return;
617
+ }
618
+ // Labels: `outer: for (...) { break outer; }`
619
+ if (parent.kind === SyntaxKind.LabeledStatement ||
620
+ parent.kind === SyntaxKind.BreakStatement ||
621
+ parent.kind === SyntaxKind.ContinueStatement)
622
+ return;
623
+ checkIdentifier(node);
624
+ return;
625
+ }
626
+ node.forEachChild(child => {
627
+ visit(child);
628
+ return undefined;
629
+ });
630
+ };
631
+ // Name, type parameters, parameters, return type and body: the decorators are skipped by `visit`
632
+ method.forEachChild(child => {
633
+ visit(child);
634
+ return undefined;
635
+ });
636
+ errors.push(...problems);
637
+ // Every method here carries `@Shared`: the source starts after the last decorator
638
+ const start = Math.max(...decoratorsOf(method).map(decorator => decorator.end));
639
+ const source = sf.text.slice(start, method.end).trim();
640
+ const entry = isStaticMember(method) ? { static: true, source } : { source };
641
+ const modules = Object.keys(imports).sort();
642
+ if (modules.length) {
643
+ entry.imports = Object.fromEntries(modules.map(module => [module, [...imports[module]].sort()]));
644
+ }
645
+ methods[methodName] = entry;
646
+ }
647
+ return { methods, errors };
648
+ }
393
649
  /**
394
650
  * A model's `Events`, as `EventsMetadata`.
395
651
  * @param ctx - analysis context
@@ -567,7 +823,7 @@ export function buildCommands(ctx, cls) {
567
823
  }
568
824
  else if (!isBuild && key === "phase" && is.isStringLiteral(initializer)) {
569
825
  const value = initializer.text;
570
- if (value === "resolved" || value === "initialized")
826
+ if (value === "application" || value === "resolved" || value === "initialized")
571
827
  phase = value;
572
828
  }
573
829
  }
@@ -631,6 +887,36 @@ function behaviorIdentifier(cls, namespace) {
631
887
  return undefined;
632
888
  return completeNamespace(className, namespace);
633
889
  }
890
+ /**
891
+ * The `@WebdaAlias` names of a model: one per tag (its first token), completed with the package namespace when
892
+ * they have no `/`, deduplicated in declaration order.
893
+ *
894
+ * `webdaTags` keeps one value per tag name, so the tags are read directly.
895
+ * @param cls - the model class
896
+ * @param namespace - project namespace
897
+ * @returns the aliases
898
+ */
899
+ export function buildModelAliases(cls, namespace) {
900
+ let tags = [];
901
+ try {
902
+ tags = getJSDocTags(cls);
903
+ }
904
+ catch {
905
+ tags = [];
906
+ }
907
+ const aliases = [];
908
+ for (const tag of tags) {
909
+ if (tag.tagName.text !== "WebdaAlias")
910
+ continue;
911
+ const name = (getTextOfJSDocComment(tag.comment) ?? "").trim().split(/\s+/).shift();
912
+ if (!name)
913
+ continue;
914
+ const alias = completeNamespace(name, namespace);
915
+ if (!aliases.includes(alias))
916
+ aliases.push(alias);
917
+ }
918
+ return aliases;
919
+ }
634
920
  /**
635
921
  * `WebdaProject.completeNamespace`.
636
922
  * @param name - a bare or qualified name
@@ -960,7 +1246,8 @@ function findClass(ctx, fileName, className) {
960
1246
  * @returns the import path
961
1247
  */
962
1248
  function jsTarget(fileName, options) {
963
- if (!fileName.startsWith(options.appPath)) {
1249
+ // TypeScript file names always use "/", even on Windows
1250
+ if (!fileName.startsWith(options.appPath.replace(/\\/g, "/"))) {
964
1251
  let folder = fileName;
965
1252
  let libPath = "node_modules/";
966
1253
  for (;;) {
@@ -977,7 +1264,7 @@ function jsTarget(fileName, options) {
977
1264
  break;
978
1265
  }
979
1266
  }
980
- return (libPath + relative(folder, fileName)).replace(/\.d\.ts$/, ".js").replace(/\.js$/, "");
1267
+ return (libPath + relative(folder, fileName).replace(/\\/g, "/")).replace(/\.d\.ts$/, ".js").replace(/\.js$/, "");
981
1268
  }
982
1269
  return outputTarget(fileName, options);
983
1270
  }
@@ -1158,8 +1445,16 @@ export function generateWebdaModule(ctx, options) {
1158
1445
  // Commands, Events, PrimaryKey, Plural.
1159
1446
  for (const { object, declaration } of models) {
1160
1447
  const entry = module.models[object.name];
1161
- if (entry)
1162
- entry.Actions = buildModelActions(ctx, declaration);
1448
+ if (!entry)
1449
+ continue;
1450
+ entry.Actions = buildModelActions(ctx, declaration);
1451
+ const shared = buildModelShared(ctx, declaration, {
1452
+ modelName: object.name,
1453
+ sharedImports: options.sharedImports ?? DEFAULT_SHARED_IMPORTS
1454
+ });
1455
+ if (Object.keys(shared.methods).length)
1456
+ entry.Shared = shared.methods;
1457
+ errors.push(...shared.errors);
1163
1458
  }
1164
1459
  for (const { sf, declaration } of behaviorClasses(ctx)) {
1165
1460
  const identifier = behaviorIdentifier(declaration, namespace);
@@ -1203,6 +1498,17 @@ export function generateWebdaModule(ctx, options) {
1203
1498
  if (primaryKeySeparator)
1204
1499
  entry.PrimaryKeySeparator = primaryKeySeparator;
1205
1500
  entry.Plural = tags.WebdaPlural || getPlural(object.name.split("/").pop());
1501
+ const aliases = buildModelAliases(declaration, namespace).filter(alias => alias !== object.name);
1502
+ if (aliases.length)
1503
+ entry.Aliases = aliases;
1504
+ }
1505
+ // An alias naming another model would make its rows ambiguous: the build fails instead
1506
+ for (const [name, entry] of Object.entries(module.models)) {
1507
+ for (const alias of entry.Aliases ?? []) {
1508
+ if (module.models[alias]) {
1509
+ errors.push(`${name}: @WebdaAlias ${alias} is the identifier of another model`);
1510
+ }
1511
+ }
1206
1512
  }
1207
1513
  return { module, namingViolations, errors };
1208
1514
  }
package/lib/module.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import type { Checker, Project } from "typescript/unstable/sync";
1
+ import type { Checker, Project, Type } from "typescript/unstable/sync";
2
2
  import type { MethodDeclaration } from "typescript/unstable/ast";
3
- import type { JSONSchema7 } from "./types.ts";
3
+ import { type JSONSchema7 } from "./types.ts";
4
4
  /** What is needed to convert an action. */
5
5
  export interface ActionSchemaOptions {
6
6
  /** Project the checker belongs to. */
@@ -8,6 +8,15 @@ export interface ActionSchemaOptions {
8
8
  /** The resident checker. */
9
9
  checker: Checker;
10
10
  }
11
+ /** Keyword marking a `.input`/`.output` schema whose side of the operation is a stream of that schema. */
12
+ export declare const STREAM_KEYWORD = "x-webda-stream";
13
+ /**
14
+ * The element type of an async stream type.
15
+ * @param type - a parameter or (Promise-unwrapped) return type
16
+ * @param checker - the resident checker
17
+ * @returns `T` for `AsyncIterable<T>`, `AsyncIterableIterator<T>` or `AsyncGenerator<T, …>`, else undefined
18
+ */
19
+ export declare function streamElementType(type: Type, checker: Checker): Type | undefined;
11
20
  /**
12
21
  * Schema for an action's arguments.
13
22
  *
@@ -1 +1 @@
1
- {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/schema/action.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAA4B,MAAM,0BAA0B,CAAC;AAC3F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,2CAA2C;AAC3C,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,4BAA4B;IAC5B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,mBAAmB,GAAG,WAAW,CAuBxG;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,mBAAmB,GAAG,WAAW,GAAG,SAAS,CAWrH;AA8CD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAsDpD"}
1
+ {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/schema/action.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAsB,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,OAAO,EAAyB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAErE,2CAA2C;AAC3C,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,4BAA4B;IAC5B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,0GAA0G;AAC1G,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAK/C;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAGhF;AAYD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,mBAAmB,GAAG,WAAW,CA2CxG;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,mBAAmB,GAAG,WAAW,GAAG,SAAS,CAcrH;AA8CD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAsDpD"}