@servicenow/sdk-build-plugins 2.0.1 → 2.1.1

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 (133) hide show
  1. package/dist/AttachmentPlugin.d.ts +8 -6
  2. package/dist/AttachmentPlugin.js +4 -2
  3. package/dist/AttachmentPlugin.js.map +1 -1
  4. package/dist/BusinessRulePlugin.d.ts +5 -31
  5. package/dist/BusinessRulePlugin.js +45 -72
  6. package/dist/BusinessRulePlugin.js.map +1 -1
  7. package/dist/CrossScopePrivilegePlugin.d.ts +14 -1
  8. package/dist/CrossScopePrivilegePlugin.js +36 -1
  9. package/dist/CrossScopePrivilegePlugin.js.map +1 -1
  10. package/dist/DefaultPlugin.d.ts +60 -57
  11. package/dist/DefaultPlugin.js +151 -146
  12. package/dist/DefaultPlugin.js.map +1 -1
  13. package/dist/HtmlTemplatePlugin.d.ts +21 -0
  14. package/dist/HtmlTemplatePlugin.js +52 -0
  15. package/dist/HtmlTemplatePlugin.js.map +1 -0
  16. package/dist/IdPlugin.d.ts +18 -8
  17. package/dist/IdPlugin.js +55 -28
  18. package/dist/IdPlugin.js.map +1 -1
  19. package/dist/JsonPlugin.d.ts +23 -0
  20. package/dist/JsonPlugin.js +74 -0
  21. package/dist/JsonPlugin.js.map +1 -0
  22. package/dist/ListPlugin.d.ts +7 -13
  23. package/dist/ListPlugin.js +32 -15
  24. package/dist/ListPlugin.js.map +1 -1
  25. package/dist/NowConfigPlugin.d.ts +45 -0
  26. package/dist/NowConfigPlugin.js +90 -0
  27. package/dist/NowConfigPlugin.js.map +1 -0
  28. package/dist/PackageJsonPlugin.d.ts +20 -0
  29. package/dist/PackageJsonPlugin.js +48 -0
  30. package/dist/PackageJsonPlugin.js.map +1 -0
  31. package/dist/PropertyPlugin.d.ts +9 -35
  32. package/dist/PropertyPlugin.js +53 -32
  33. package/dist/PropertyPlugin.js.map +1 -1
  34. package/dist/ScriptTemplatePlugin.d.ts +3 -20
  35. package/dist/ScriptTemplatePlugin.js +20 -138
  36. package/dist/ScriptTemplatePlugin.js.map +1 -1
  37. package/dist/ServerModulePlugin.d.ts +62 -0
  38. package/dist/ServerModulePlugin.js +231 -0
  39. package/dist/ServerModulePlugin.js.map +1 -0
  40. package/dist/UserPreferencePlugin.d.ts +4 -1
  41. package/dist/UserPreferencePlugin.js +12 -10
  42. package/dist/UserPreferencePlugin.js.map +1 -1
  43. package/dist/aclAndRole/AclPlugin.d.ts +41 -79
  44. package/dist/aclAndRole/AclPlugin.js +50 -72
  45. package/dist/aclAndRole/AclPlugin.js.map +1 -1
  46. package/dist/aclAndRole/RolePlugin.d.ts +27 -18
  47. package/dist/aclAndRole/RolePlugin.js +66 -41
  48. package/dist/aclAndRole/RolePlugin.js.map +1 -1
  49. package/dist/app/ApplicationMenuPlugin.d.ts +4 -2
  50. package/dist/app/ApplicationMenuPlugin.js +12 -7
  51. package/dist/app/ApplicationMenuPlugin.js.map +1 -1
  52. package/dist/atf/ATFComposer.js +324 -324
  53. package/dist/atf/TestPlugin.d.ts +12 -10
  54. package/dist/atf/TestPlugin.js +14 -12
  55. package/dist/atf/TestPlugin.js.map +1 -1
  56. package/dist/db/ColumnPlugins.d.ts +559 -97
  57. package/dist/db/ColumnPlugins.js +28 -24
  58. package/dist/db/ColumnPlugins.js.map +1 -1
  59. package/dist/db/DBUtils.d.ts +2 -0
  60. package/dist/db/DBUtils.js +27 -0
  61. package/dist/db/DBUtils.js.map +1 -0
  62. package/dist/db/DocumentationPlugin.d.ts +58 -0
  63. package/dist/db/DocumentationPlugin.js +248 -0
  64. package/dist/db/DocumentationPlugin.js.map +1 -0
  65. package/dist/db/RecordPlugin.d.ts +15 -13
  66. package/dist/db/RecordPlugin.js +74 -79
  67. package/dist/db/RecordPlugin.js.map +1 -1
  68. package/dist/db/TablePlugin.d.ts +38 -105
  69. package/dist/db/TablePlugin.js +205 -111
  70. package/dist/db/TablePlugin.js.map +1 -1
  71. package/dist/db/index.d.ts +2 -0
  72. package/dist/db/index.js +4 -1
  73. package/dist/db/index.js.map +1 -1
  74. package/dist/index.d.ts +7 -2
  75. package/dist/index.js +12 -2
  76. package/dist/index.js.map +1 -1
  77. package/dist/scriptedRESTAPI/RESTDeserializationUtils.js +8 -6
  78. package/dist/scriptedRESTAPI/RESTDeserializationUtils.js.map +1 -1
  79. package/dist/scriptedRESTAPI/RESTSerializationUtils.js +7 -6
  80. package/dist/scriptedRESTAPI/RESTSerializationUtils.js.map +1 -1
  81. package/dist/scriptedRESTAPI/RestApiPlugin.d.ts +74 -85
  82. package/dist/scriptedRESTAPI/RestApiPlugin.js +71 -54
  83. package/dist/scriptedRESTAPI/RestApiPlugin.js.map +1 -1
  84. package/dist/scriptedRESTAPI/RestUtils.d.ts +2 -0
  85. package/dist/scriptedRESTAPI/RestUtils.js +37 -9
  86. package/dist/scriptedRESTAPI/RestUtils.js.map +1 -1
  87. package/dist/scripts/ClientScriptPlugin.d.ts +18 -16
  88. package/dist/scripts/ClientScriptPlugin.js +48 -45
  89. package/dist/scripts/ClientScriptPlugin.js.map +1 -1
  90. package/dist/scripts/scriptUtils.d.ts +0 -14
  91. package/dist/scripts/scriptUtils.js +0 -74
  92. package/dist/scripts/scriptUtils.js.map +1 -1
  93. package/dist/uxf/ExperiencePlugin.d.ts +31 -3
  94. package/dist/uxf/ExperiencePlugin.js +10 -4
  95. package/dist/uxf/ExperiencePlugin.js.map +1 -1
  96. package/dist/uxf/RoutesPlugin.d.ts +10 -3
  97. package/dist/uxf/RoutesPlugin.js +20 -14
  98. package/dist/uxf/RoutesPlugin.js.map +1 -1
  99. package/package.json +6 -6
  100. package/src/AttachmentPlugin.ts +10 -2
  101. package/src/BusinessRulePlugin.ts +79 -104
  102. package/src/CrossScopePrivilegePlugin.ts +65 -5
  103. package/src/DefaultPlugin.ts +181 -173
  104. package/src/HtmlTemplatePlugin.ts +31 -0
  105. package/src/IdPlugin.ts +59 -28
  106. package/src/JsonPlugin.ts +81 -0
  107. package/src/ListPlugin.ts +38 -19
  108. package/src/NowConfigPlugin.ts +72 -0
  109. package/src/PackageJsonPlugin.ts +24 -0
  110. package/src/PropertyPlugin.ts +60 -38
  111. package/src/ScriptTemplatePlugin.ts +22 -179
  112. package/src/ServerModulePlugin.ts +267 -0
  113. package/src/UserPreferencePlugin.ts +28 -19
  114. package/src/aclAndRole/AclPlugin.ts +78 -109
  115. package/src/aclAndRole/RolePlugin.ts +85 -58
  116. package/src/app/ApplicationMenuPlugin.ts +15 -11
  117. package/src/atf/ATFComposer.ts +1 -1
  118. package/src/atf/TestPlugin.ts +14 -12
  119. package/src/db/ColumnPlugins.ts +36 -37
  120. package/src/db/DBUtils.ts +36 -0
  121. package/src/db/DocumentationPlugin.ts +282 -0
  122. package/src/db/RecordPlugin.ts +96 -98
  123. package/src/db/TablePlugin.ts +278 -152
  124. package/src/db/index.ts +2 -0
  125. package/src/index.ts +7 -2
  126. package/src/scriptedRESTAPI/RESTDeserializationUtils.ts +15 -7
  127. package/src/scriptedRESTAPI/RESTSerializationUtils.ts +7 -6
  128. package/src/scriptedRESTAPI/RestApiPlugin.ts +85 -75
  129. package/src/scriptedRESTAPI/RestUtils.ts +44 -11
  130. package/src/scripts/ClientScriptPlugin.ts +64 -68
  131. package/src/scripts/scriptUtils.ts +0 -76
  132. package/src/uxf/ExperiencePlugin.ts +14 -13
  133. package/src/uxf/RoutesPlugin.ts +22 -27
@@ -1,19 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transformProperties = exports.PropertyDocumentSchema = void 0;
3
+ exports.PropertyDocumentSchema = void 0;
4
4
  const app_1 = require("@servicenow/sdk-core/runtime/app");
5
5
  const db_1 = require("@servicenow/sdk-core/runtime/db");
6
- const tables_1 = require("@servicenow/sdk-core/runtime/tables");
6
+ const fluent_1 = require("@servicenow/sdk-core/runtime/fluent");
7
7
  const sdk_build_core_1 = require("@servicenow/sdk-build-core");
8
8
  const RecordPlugin_1 = require("./db/RecordPlugin");
9
9
  const zod_1 = require("zod");
10
10
  const ts_morph_1 = require("ts-morph");
11
11
  const lodash_1 = require("lodash");
12
12
  const sdk_project_1 = require("@servicenow/sdk-project");
13
+ const RolePlugin_1 = require("./aclAndRole/RolePlugin");
13
14
  const PropertySchema = zod_1.z.object({
14
15
  $id: zod_1.z.string().or(zod_1.z.number()),
15
16
  name: zod_1.z.string(),
16
- type: tables_1.PropertyType.or(zod_1.z.literal('')).default(''),
17
+ type: fluent_1.PropertyType.or(zod_1.z.literal('')).default(''),
17
18
  value: zod_1.z.union([zod_1.z.string(), zod_1.z.number(), zod_1.z.boolean()]).default(''),
18
19
  description: zod_1.z.string().default(''),
19
20
  ignoreCache: zod_1.z.boolean().default(false),
@@ -32,6 +33,7 @@ const PropertyConfigSchema = zod_1.z.object({
32
33
  ignore_cache: PropertySchema.shape.ignoreCache,
33
34
  read_roles: zod_1.z.string().optional(),
34
35
  write_roles: zod_1.z.string().optional(),
36
+ choices: zod_1.z.string().optional(),
35
37
  });
36
38
  exports.PropertyDocumentSchema = zod_1.z.object({
37
39
  table: zod_1.z.literal('sys_properties'),
@@ -40,10 +42,10 @@ exports.PropertyDocumentSchema = zod_1.z.object({
40
42
  const transformProperties = (data, xmlRoles) => {
41
43
  const { read_roles, write_roles, ...rest } = data;
42
44
  let roles;
43
- if (read_roles || write_roles) {
45
+ if (read_roles !== undefined || write_roles !== undefined) {
44
46
  roles = {
45
- ...(xmlRoles.read_roles && { read: (0, app_1.getRolesArray)(xmlRoles.read_roles) }),
46
- ...(xmlRoles.write_roles && { write: (0, app_1.getRolesArray)(xmlRoles.write_roles) }),
47
+ ...(xmlRoles.read_roles !== undefined && { read: (0, app_1.getRolesArray)(xmlRoles.read_roles) }),
48
+ ...(xmlRoles.write_roles !== undefined && { write: (0, app_1.getRolesArray)(xmlRoles.write_roles) }),
47
49
  };
48
50
  }
49
51
  const result = {
@@ -54,10 +56,13 @@ const transformProperties = (data, xmlRoles) => {
54
56
  ignoreCache: rest.ignore_cache,
55
57
  isPrivate: rest.is_private,
56
58
  roles: roles,
59
+ choices: rest.choices
60
+ ?.split(/\r?\n/)
61
+ .map((choice) => choice.trim())
62
+ .filter((choice) => choice),
57
63
  };
58
64
  return (0, lodash_1.pickBy)(result, (v) => v !== undefined);
59
65
  };
60
- exports.transformProperties = transformProperties;
61
66
  exports.default = (0, sdk_build_core_1.Plugin)({
62
67
  name: 'Property',
63
68
  ownedTables: {
@@ -65,24 +70,26 @@ exports.default = (0, sdk_build_core_1.Plugin)({
65
70
  },
66
71
  extractors: {
67
72
  entity: {
68
- CallExpression: (node, context) => {
69
- const result = (0, sdk_build_core_1.extractCallExpression)(app_1.Property, 'property', node, context, (prop) => context.registerExplicitId('sys_properties', prop.$id));
70
- if (!result.handled || !(0 in result.data)) {
71
- return result;
72
- }
73
- const propertyData = result.data[0];
74
- const diagnostics = result.diagnostics;
75
- const scope = context.app.config.scope;
76
- const nameData = propertyData.getProperty('name');
77
- const nameNode = nameData.getNode();
78
- if (!nameData.getValue().startsWith(`${scope}.`)) {
79
- diagnostics.push(new sdk_build_core_1.FluentDiagnostic(nameNode, `Property name must begin with '${scope}.'`));
80
- }
81
- return {
82
- handled: true,
83
- diagnostics,
84
- data: [propertyData],
85
- };
73
+ fluent: {
74
+ CallExpression: (node, context) => {
75
+ const result = (0, sdk_build_core_1.extractCallExpression)(app_1.Property, 'property', node, context, (prop) => context.registerExplicitId('sys_properties', prop.$id));
76
+ if (!result.handled || !(0 in result.data)) {
77
+ return result;
78
+ }
79
+ const propertyData = result.data[0];
80
+ const diagnostics = result.diagnostics;
81
+ const scope = context.app.config.scope;
82
+ const nameData = propertyData.getProperty('name');
83
+ const nameNode = nameData.getNode();
84
+ if (!(0, sdk_build_core_1.isSNScope)(scope) && !nameData.getValue().startsWith(`${scope}.`)) {
85
+ diagnostics.push(new sdk_build_core_1.FluentDiagnostic(nameNode, `Property name must begin with '${scope}.'`));
86
+ }
87
+ return {
88
+ handled: true,
89
+ diagnostics,
90
+ data: [propertyData],
91
+ };
92
+ },
86
93
  },
87
94
  },
88
95
  },
@@ -94,9 +101,12 @@ exports.default = (0, sdk_build_core_1.Plugin)({
94
101
  if (!property.success) {
95
102
  return undefined;
96
103
  }
97
- const { $id, name, roles, value, isPrivate, ignoreCache, choices, type, ...rest } = property.data;
98
- const readRoles = roles.read ? (0, app_1.getRolesString)(roles.read) : '';
99
- const writeRoles = roles.write ? (0, app_1.getRolesString)(roles.write) : '';
104
+ const { $id, name, value, isPrivate, ignoreCache, choices, type, roles: _, ...rest } = property.data;
105
+ const roles = entity.getProperty('roles', 'object');
106
+ const readRoles = roles?.getProperty('read', 'array');
107
+ const writeRoles = roles?.getProperty('write', 'array');
108
+ const readRolesString = readRoles ? (0, RolePlugin_1.getRolesString)(readRoles) : '';
109
+ const writeRolesString = writeRoles ? (0, RolePlugin_1.getRolesString)(writeRoles) : '';
100
110
  const suffix = name.replace(new RegExp(`^${scope}\\.`), '');
101
111
  const propertyRecord = (0, db_1.Record)({
102
112
  table: 'sys_properties',
@@ -110,8 +120,8 @@ exports.default = (0, sdk_build_core_1.Plugin)({
110
120
  is_private: isPrivate,
111
121
  ignore_cache: ignoreCache,
112
122
  choices: choices.join('\n'),
113
- read_roles: readRoles,
114
- write_roles: writeRoles,
123
+ read_roles: readRolesString,
124
+ write_roles: writeRolesString,
115
125
  },
116
126
  });
117
127
  return context.composeEntities([
@@ -122,7 +132,8 @@ exports.default = (0, sdk_build_core_1.Plugin)({
122
132
  },
123
133
  generators: {
124
134
  record(document, context) {
125
- if (!exports.PropertyDocumentSchema.safeParse(document.data).success) {
135
+ const tableName = document.data['table'];
136
+ if (tableName !== 'sys_properties') {
126
137
  return undefined;
127
138
  }
128
139
  return (0, sdk_build_core_1.linkDocument)(document, (0, sdk_build_core_1.generateCallExpressionExportForDocument)(context, {
@@ -145,7 +156,7 @@ exports.default = (0, sdk_build_core_1.Plugin)({
145
156
  return false;
146
157
  }
147
158
  const { read_roles, write_roles } = document.xmlData.data;
148
- const data = (0, exports.transformProperties)(document.changedData['data'], {
159
+ const data = transformProperties(document.changedData['data'], {
149
160
  read_roles,
150
161
  write_roles,
151
162
  });
@@ -155,6 +166,7 @@ exports.default = (0, sdk_build_core_1.Plugin)({
155
166
  }
156
167
  (0, sdk_build_core_1.transformFunctionArguments)(document.node, app_1.Property, data);
157
168
  if (data.roles) {
169
+ removeEmptyRoles(args, data);
158
170
  (0, sdk_build_core_1.writePropertyAsReference)(args, 'roles', '{}', data.roles);
159
171
  }
160
172
  return true;
@@ -162,4 +174,13 @@ exports.default = (0, sdk_build_core_1.Plugin)({
162
174
  },
163
175
  },
164
176
  });
177
+ function removeEmptyRoles(arg, data) {
178
+ ;
179
+ ['read', 'write'].forEach((type) => {
180
+ if (data.roles?.[type].length === 0) {
181
+ arg.getProperty('roles')?.asKind(ts_morph_1.SyntaxKind.ObjectLiteralExpression)?.getProperty(type)?.remove();
182
+ delete data.roles?.[type];
183
+ }
184
+ });
185
+ }
165
186
  //# sourceMappingURL=PropertyPlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyPlugin.js","sourceRoot":"","sources":["../src/PropertyPlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PropertyPlugin.js","sourceRoot":"","sources":["../src/PropertyPlugin.ts"],"names":[],"mappings":"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"}
@@ -1,31 +1,14 @@
1
- import { Context, StringData, UndefinedData } from '@servicenow/sdk-build-core';
2
1
  import * as ts from 'ts-morph';
3
- export declare const UNIQUE_SCRIPT_FILES = "unique_script_files";
4
2
  declare const _default: {
5
3
  readonly name: "scriptTemplate";
6
4
  readonly extractors: {
7
5
  readonly raw: {
8
- readonly TaggedTemplateExpression: (node: ts.TaggedTemplateExpression) => {
9
- handled: false;
10
- diagnostics?: never;
11
- data?: never;
12
- } | {
13
- handled: true;
14
- diagnostics: never[];
15
- data: (StringData<string> | UndefinedData)[];
16
- };
17
- readonly ExportAssignment: (node: ts.ExportAssignment, context: Context) => {
18
- handled: false;
19
- diagnostics?: never;
20
- data?: never;
21
- } | {
22
- handled: true;
23
- diagnostics: never[];
24
- data: (StringData<string> | UndefinedData)[];
6
+ readonly fluent: {
7
+ readonly TaggedTemplateExpression: (node: ts.TaggedTemplateExpression, context: import("@servicenow/sdk-build-core").Context) => import("@servicenow/sdk-build-core").ExtractionResult;
25
8
  };
26
9
  };
27
10
  };
28
11
  };
29
12
  export default _default;
30
- export declare function processScript(args: ts.ObjectLiteralExpression, argName: string, script: string, docId: string, tableName: string, context: Context): void;
13
+ export declare function processScript(args: ts.ObjectLiteralExpression, argName: string, script: string): void;
31
14
  export declare function formatScript(script: string, spacing?: number): string;
@@ -23,90 +23,43 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.UNIQUE_SCRIPT_FILES = void 0;
27
26
  exports.processScript = processScript;
28
27
  exports.formatScript = formatScript;
29
28
  const sdk_build_core_1 = require("@servicenow/sdk-build-core");
30
29
  const ts = __importStar(require("ts-morph"));
31
- const path = __importStar(require("path"));
32
- const sdk_project_1 = require("@servicenow/sdk-project");
33
30
  const os = __importStar(require("os"));
34
- exports.UNIQUE_SCRIPT_FILES = 'unique_script_files';
35
31
  exports.default = (0, sdk_build_core_1.Plugin)({
36
32
  name: 'scriptTemplate',
37
33
  extractors: {
38
34
  raw: {
39
- TaggedTemplateExpression: (node) => {
40
- if (node.getTag().getText() !== 'script') {
41
- return { handled: false };
42
- }
43
- const value = getTemplateLiteralValue(node)?.trim();
44
- return {
45
- handled: true,
46
- diagnostics: [],
47
- data: [typeof value === 'string' ? new sdk_build_core_1.StringData(value, node) : new sdk_build_core_1.UndefinedData(node)],
48
- };
49
- },
50
- ExportAssignment: (node, context) => {
51
- const expression = node.getExpression();
52
- if (!expression ||
53
- expression.getKind() !== ts.SyntaxKind.TaggedTemplateExpression ||
54
- expression.asKind(ts.SyntaxKind.TaggedTemplateExpression).getTag().getText() !== 'script') {
55
- return { handled: false };
56
- }
57
- validateScriptFile(node, context);
58
- const value = getTemplateLiteralValue(node.getExpression().asKind(ts.SyntaxKind.TaggedTemplateExpression));
59
- return {
60
- handled: true,
61
- diagnostics: [],
62
- data: [typeof value === 'string' ? new sdk_build_core_1.StringData(value, node) : new sdk_build_core_1.UndefinedData(node)],
63
- };
35
+ fluent: {
36
+ TaggedTemplateExpression(node, context) {
37
+ if (node.getTag().getText() !== 'script') {
38
+ return { handled: false };
39
+ }
40
+ return context.extractAst(node.getTemplate());
41
+ },
64
42
  },
65
43
  },
66
44
  },
67
45
  });
68
- function validateScriptFile(node, context) {
69
- const filePath = path.normalize(node.getSourceFile().getFilePath());
70
- const uniqueScriptFiles = context.store[exports.UNIQUE_SCRIPT_FILES] ?? new Set();
71
- if (uniqueScriptFiles.has(filePath)) {
72
- throw Error(`Tagged template script files should be unique per entity but expression in ${filePath.replace(context.app.rootDir, '')} is referenced in multiple nodes.`);
73
- }
74
- uniqueScriptFiles.add(filePath);
75
- context.store[exports.UNIQUE_SCRIPT_FILES] = uniqueScriptFiles;
76
- }
77
- function processScript(args, argName, script, docId, tableName, context) {
46
+ function processScript(args, argName, script) {
78
47
  if (!args.getProperty(argName)) {
79
- createNewScriptTemplate(args, argName, script, docId, tableName, context);
48
+ createNewScriptTemplate(args, argName, script);
80
49
  }
81
50
  else {
82
51
  const prop = args.getProperty(argName).asKindOrThrow(ts.SyntaxKind.PropertyAssignment);
83
52
  const kind = prop.getInitializer()?.getKind();
84
53
  if (kind === ts.SyntaxKind.TaggedTemplateExpression) {
85
- if (shouldCreateScriptFile(script, context)) {
86
- args.getProperty(argName)?.remove();
87
- createNewScriptTemplate(args, argName, script, docId, tableName, context);
88
- }
89
- else {
90
- const taggedTempExp = prop.getInitializer()?.asKind(ts.SyntaxKind.TaggedTemplateExpression);
91
- updateTaggedTempExpWithScript(taggedTempExp, script);
92
- }
93
- }
94
- else if (kind === ts.SyntaxKind.Identifier && checkIfItsScriptTemplate(prop)) {
95
- const taggedTempExp = getTaggedTemplate(prop);
54
+ const taggedTempExp = prop.getInitializer()?.asKind(ts.SyntaxKind.TaggedTemplateExpression);
96
55
  updateTaggedTempExpWithScript(taggedTempExp, script);
97
56
  }
98
57
  else {
99
58
  args.getProperty(argName)?.remove();
100
- createNewScriptTemplate(args, argName, script, docId, tableName, context);
59
+ createNewScriptTemplate(args, argName, script);
101
60
  }
102
61
  }
103
62
  }
104
- function getTemplateLiteralValue(node) {
105
- return node?.getTemplate().asKind(ts.SyntaxKind.NoSubstitutionTemplateLiteral)?.getLiteralValue();
106
- }
107
- function shouldCreateScriptFile(script, context) {
108
- return script.replaceAll(/\r\n/g, '\n').split('\n').length > context.app.config.maxInlineScriptLines;
109
- }
110
63
  function formatScript(script, spacing = 4) {
111
64
  const indent = ' '.repeat(spacing);
112
65
  return script
@@ -118,91 +71,20 @@ function formatScript(script, spacing = 4) {
118
71
  .replaceAll('`', '\\`')
119
72
  .replaceAll('${', '\\${');
120
73
  }
121
- function templateScript(script) {
122
- script = formatScript(script);
123
- return `${os.EOL}export default script\`${os.EOL}${script}${os.EOL}\``;
124
- }
125
- function getUniqueScriptModuleName(sourceFile) {
126
- let uniqueScriptName = 'genScript0';
127
- let i = 1;
128
- const usedIdentifiers = new Set();
129
- sourceFile.getDescendantsOfKind(ts.SyntaxKind.Identifier).forEach((node) => {
130
- usedIdentifiers.add(node.getText().trim());
74
+ function createNewScriptTemplate(args, argName, script) {
75
+ const prop = args.addPropertyAssignment({ name: argName, initializer: '"place_holder"' });
76
+ const startPos = prop.getInitializer().getStart();
77
+ const lAndCol = args.getSourceFile().getLineAndColumnAtPos(startPos);
78
+ script = formatScript(script, lAndCol.column);
79
+ prop.setInitializer((writer) => {
80
+ writer.writeLine('script`');
81
+ writer.write(script);
82
+ writer.write('`');
131
83
  });
132
- while (usedIdentifiers.has(uniqueScriptName)) {
133
- uniqueScriptName = `genScript${i}`;
134
- i += 1;
135
- }
136
- return uniqueScriptName;
137
- }
138
- function createNewScriptTemplate(args, argName, script, docId, tableName, context) {
139
- if (shouldCreateScriptFile(script, context)) {
140
- const { filePath } = createScriptFile(script, `${tableName}_${docId}`, context);
141
- const nodeFileDir = path.dirname(path.normalize(args.getSourceFile().getFilePath()));
142
- let relativePath = path.relative(nodeFileDir, filePath).split(path.sep).join(path.posix.sep);
143
- relativePath = relativePath.replace(path.extname(relativePath), '');
144
- relativePath = relativePath.startsWith('.') ? relativePath : `./${relativePath}`;
145
- const uniqueScriptName = getUniqueScriptModuleName(args.getSourceFile());
146
- args.addPropertyAssignment({ name: argName, initializer: uniqueScriptName });
147
- (0, sdk_build_core_1.addDefaultImportIfAbsent)(args.getSourceFile(), relativePath, uniqueScriptName);
148
- }
149
- else {
150
- const prop = args.addPropertyAssignment({ name: argName, initializer: '"place_holder"' });
151
- const startPos = prop.getInitializer().getStart();
152
- const lAndCol = args.getSourceFile().getLineAndColumnAtPos(startPos);
153
- script = formatScript(script, lAndCol.column);
154
- prop.setInitializer((writer) => {
155
- writer.writeLine('script`');
156
- writer.write(script);
157
- writer.write('`');
158
- });
159
- }
160
84
  }
161
85
  function updateTaggedTempExpWithScript(node, script) {
162
86
  const literal = node.getTemplate().asKind(ts.SyntaxKind.NoSubstitutionTemplateLiteral);
163
87
  const lAndCol = literal.getSourceFile().getLineAndColumnAtPos(node.getStart());
164
88
  literal.setLiteralValue(`${os.EOL}${formatScript(script, lAndCol.column)}`);
165
89
  }
166
- function checkIfItsScriptTemplate(node) {
167
- const taggedTemp = getTaggedTemplate(node);
168
- if (!taggedTemp) {
169
- return false;
170
- }
171
- const identifer = taggedTemp.getTag();
172
- if (!identifer || identifer.getText() !== 'script') {
173
- return false;
174
- }
175
- return true;
176
- }
177
- function getTaggedTemplate(node) {
178
- const definitions = node.getInitializer()?.asKind(ts.SyntaxKind.Identifier)?.getDefinitions();
179
- if (!definitions || definitions.length > 1) {
180
- return undefined;
181
- }
182
- const exportAssignments = definitions[0]?.getSourceFile().getDescendantsOfKind(ts.SyntaxKind.ExportAssignment);
183
- if (!exportAssignments || exportAssignments.length > 1) {
184
- return undefined;
185
- }
186
- return exportAssignments[0]?.getExpression()?.asKind(ts.SyntaxKind.TaggedTemplateExpression);
187
- }
188
- const getGeneratedFilePath = (context, fileName) => {
189
- const resolvedDirPath = path.resolve(context.app.rootDir, context.app.config.generatedDir);
190
- return path.join(resolvedDirPath, fileName);
191
- };
192
- function createScriptFile(script, fileName, context) {
193
- let uniqueFileName = `${fileName}_script.now.ts`;
194
- let filePath = getGeneratedFilePath(context, uniqueFileName);
195
- let i = 0;
196
- while (sdk_project_1.FileSystem.existsSync(context.fs, filePath)) {
197
- uniqueFileName = `${fileName}_script${i}.now.ts`;
198
- filePath = getGeneratedFilePath(context, uniqueFileName);
199
- i++;
200
- }
201
- const directory = path.dirname(filePath);
202
- if (!sdk_project_1.FileSystem.existsSync(context.fs, directory)) {
203
- context.fs.mkdirSync(directory, { recursive: true });
204
- }
205
- context.fs.writeFileSync(filePath, templateScript(script), { encoding: 'utf-8' });
206
- return { filePath };
207
- }
208
90
  //# sourceMappingURL=ScriptTemplatePlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScriptTemplatePlugin.js","sourceRoot":"","sources":["../src/ScriptTemplatePlugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAkEA,sCA6BC;AAUD,oCAUC;AAnHD,+DAAiH;AACjH,6CAA8B;AAC9B,2CAA4B;AAC5B,yDAAoD;AACpD,uCAAwB;AAEX,QAAA,mBAAmB,GAAG,qBAAqB,CAAA;AAExD,kBAAe,IAAA,uBAAM,EAAC;IAClB,IAAI,EAAE,gBAAgB;IACtB,UAAU,EAAE;QACR,GAAG,EAAE;YACD,wBAAwB,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC/B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;oBACvC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;gBAC7B,CAAC;gBAED,MAAM,KAAK,GAAG,uBAAuB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAA;gBAEnD,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,WAAW,EAAE,EAAE;oBACf,IAAI,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,2BAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,8BAAa,CAAC,IAAI,CAAC,CAAC;iBAC5F,CAAA;YACL,CAAC;YAED,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;gBAChC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;gBACvC,IACI,CAAC,UAAU;oBACX,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,wBAAwB;oBAC/D,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,wBAAwB,CAAE,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,EAC5F,CAAC;oBACC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;gBAC7B,CAAC;gBAED,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;gBACjC,MAAM,KAAK,GAAG,uBAAuB,CACjC,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,wBAAwB,CAAE,CACvE,CAAA;gBAED,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,WAAW,EAAE,EAAE;oBACf,IAAI,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,2BAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,8BAAa,CAAC,IAAI,CAAC,CAAC;iBAC5F,CAAA;YACL,CAAC;SACJ;KACJ;CACJ,CAAC,CAAA;AAEF,SAAS,kBAAkB,CAAC,IAAyB,EAAE,OAAgB;IACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;IACnE,MAAM,iBAAiB,GAAI,OAAO,CAAC,KAAK,CAAC,2BAAmB,CAAiB,IAAI,IAAI,GAAG,EAAU,CAAA;IAClG,IAAI,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,MAAM,KAAK,CACP,8EAA8E,QAAQ,CAAC,OAAO,CAC1F,OAAO,CAAC,GAAG,CAAC,OAAO,EACnB,EAAE,CACL,mCAAmC,CACvC,CAAA;IACL,CAAC;IACD,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAC/B,OAAO,CAAC,KAAK,CAAC,2BAAmB,CAAC,GAAG,iBAAiB,CAAA;AAC1D,CAAC;AAED,SAAgB,aAAa,CACzB,IAAgC,EAChC,OAAe,EACf,MAAc,EACd,KAAa,EACb,SAAiB,EACjB,OAAgB;IAEhB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;IAC7E,CAAC;SAAM,CAAC;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAA;QACvF,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,CAAA;QAC7C,IAAI,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC;YAClD,IAAI,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;gBAC1C,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;gBACnC,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;YAC7E,CAAC;iBAAM,CAAC;gBACJ,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAA;gBAC3F,6BAA6B,CAAC,aAAc,EAAE,MAAM,CAAC,CAAA;YACzD,CAAC;QACL,CAAC;aAAM,IAAI,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,UAAU,IAAI,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7E,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;YAC7C,6BAA6B,CAAC,aAAc,EAAE,MAAM,CAAC,CAAA;QACzD,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;YACnC,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;QAC7E,CAAC;IACL,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAiC;IAC9D,OAAO,IAAI,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,6BAA6B,CAAC,EAAE,eAAe,EAAE,CAAA;AACrG,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAc,EAAE,OAAgB;IAC5D,OAAO,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,oBAAoB,CAAA;AACxG,CAAC;AAED,SAAgB,YAAY,CAAC,MAAc,EAAE,UAAkB,CAAC;IAC5D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAClC,OAAO,MAAM;SACR,IAAI,EAAE;SACN,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC;SACzB,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC;SACjC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;SACZ,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC;SACtB,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AACjC,CAAC;AAED,SAAS,cAAc,CAAC,MAAc;IAClC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IAC7B,OAAO,GAAG,EAAE,CAAC,GAAG,0BAA0B,EAAE,CAAC,GAAG,GAAG,MAAM,GAAG,EAAE,CAAC,GAAG,IAAI,CAAA;AAC1E,CAAC;AAED,SAAS,yBAAyB,CAAC,UAAyB;IACxD,IAAI,gBAAgB,GAAG,YAAY,CAAA;IACnC,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAA;IACzC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACvE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IACF,OAAO,eAAe,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC3C,gBAAgB,GAAG,YAAY,CAAC,EAAE,CAAA;QAClC,CAAC,IAAI,CAAC,CAAA;IACV,CAAC;IACD,OAAO,gBAAgB,CAAA;AAC3B,CAAC;AAED,SAAS,uBAAuB,CAC5B,IAAgC,EAChC,OAAe,EACf,MAAc,EACd,KAAa,EACb,SAAiB,EACjB,OAAgB;IAEhB,IAAI,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;QAC1C,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC,MAAM,EAAE,GAAG,SAAS,IAAI,KAAK,EAAE,EAAE,OAAO,CAAC,CAAA;QAC/E,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;QACpF,IAAI,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC5F,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAA;QACnE,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,YAAY,EAAE,CAAA;QAChF,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAA;QACxE,IAAI,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAA;QAC5E,IAAA,yCAAwB,EAAC,IAAI,CAAC,aAAa,EAAE,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAA;IAClF,CAAC;SAAM,CAAC;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAA;QACzF,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAG,CAAC,QAAQ,EAAE,CAAA;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAA;QACpE,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QAC7C,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,EAAE;YAC3B,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;YAC3B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YACpB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACrB,CAAC,CAAC,CAAA;IACN,CAAC;AACL,CAAC;AAED,SAAS,6BAA6B,CAAC,IAAiC,EAAE,MAAc;IACpF,MAAM,OAAO,GAAG,IAAK,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,6BAA6B,CAAE,CAAA;IACxF,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC9E,OAAO,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;AAC/E,CAAC;AAED,SAAS,wBAAwB,CAAC,IAA2B;IACzD,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,CAAA;IACrC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QACjD,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,OAAO,IAAI,CAAA;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,IAA2B;IAClD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,cAAc,EAAE,CAAA;IAC7F,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAA;IAC9G,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrD,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,OAAO,iBAAiB,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAA;AAChG,CAAC;AAED,MAAM,oBAAoB,GAAG,CAAC,OAAgB,EAAE,QAAgB,EAAE,EAAE;IAChE,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IAC1F,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAA;AAC/C,CAAC,CAAA;AAED,SAAS,gBAAgB,CAAC,MAAc,EAAE,QAAgB,EAAE,OAAgB;IACxE,IAAI,cAAc,GAAG,GAAG,QAAQ,gBAAgB,CAAA;IAChD,IAAI,QAAQ,GAAG,oBAAoB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;IAC5D,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,wBAAU,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC;QACjD,cAAc,GAAG,GAAG,QAAQ,UAAU,CAAC,SAAS,CAAA;QAChD,QAAQ,GAAG,oBAAoB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;QACxD,CAAC,EAAE,CAAA;IACP,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACxC,IAAI,CAAC,wBAAU,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC;QAChD,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACxD,CAAC;IAED,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;IACjF,OAAO,EAAE,QAAQ,EAAE,CAAA;AACvB,CAAC"}
1
+ {"version":3,"file":"ScriptTemplatePlugin.js","sourceRoot":"","sources":["../src/ScriptTemplatePlugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import { Context, Data, EntityData, ExtractionResult, ObjectData } from '@servicenow/sdk-build-core';
2
+ import { Diagnostic } from '@servicenow/sdk-project';
3
+ import { FunctionDeclaration, SourceFile, SyntaxKind, VariableDeclaration } from 'ts-morph';
4
+ export declare class ModuleEntityData extends EntityData {
5
+ constructor(content: string, file: SourceFile, context: Context);
6
+ }
7
+ export declare class ModuleFunctionData extends ObjectData<{
8
+ exportName: string;
9
+ modulePath: string;
10
+ isDefault: boolean;
11
+ }> {
12
+ constructor(name: string, module: ModuleEntityData, node: FunctionDeclaration | VariableDeclaration);
13
+ getGlueCode(callExpressionProvider: (functionName: string) => string): string;
14
+ static getGlueCode(scriptData: Data | ReturnType<ModuleFunctionData['getValue']> | undefined, callExpressionProvider: (functionName: string) => string): string;
15
+ }
16
+ declare function extractFunctionDeclaration(node: FunctionDeclaration | VariableDeclaration, context: Context): ExtractionResult<ModuleFunctionData>;
17
+ declare const _default: {
18
+ readonly name: "ServerModule";
19
+ readonly extractors: {
20
+ readonly raw: {
21
+ readonly module: {
22
+ readonly FunctionDeclaration: typeof extractFunctionDeclaration;
23
+ readonly FunctionExpression: (node: import("ts-morph").FunctionExpression, context: Context) => ExtractionResult<ModuleFunctionData>;
24
+ };
25
+ };
26
+ readonly entity: {
27
+ readonly module: {
28
+ readonly SourceFile: (file: SourceFile, context: Context) => {
29
+ handled: false;
30
+ data?: never;
31
+ diagnostics?: never;
32
+ } | {
33
+ handled: true;
34
+ data: never[];
35
+ diagnostics: Diagnostic[];
36
+ } | {
37
+ handled: true;
38
+ diagnostics: never[];
39
+ data: ModuleEntityData[];
40
+ };
41
+ };
42
+ };
43
+ };
44
+ readonly composers: {
45
+ readonly entity: {
46
+ readonly module: (module: EntityData<Record<string, unknown>>) => {
47
+ kind: string;
48
+ guid: string;
49
+ node: import("ts-morph").CallExpression<import("ts-morph").ts.CallExpression> | import("ts-morph").Node<import("ts-morph").ts.EndOfFileToken> | import("ts-morph").TypeAliasDeclaration | import("ts-morph").TypeReferenceNode | import("ts-morph").TypeLiteralNode | import("ts-morph").PropertySignature | import("ts-morph").TupleTypeNode | import("ts-morph").FunctionExpression | FunctionDeclaration | import("ts-morph").ArrayLiteralExpression | import("ts-morph").StringLiteral | import("ts-morph").NumericLiteral | import("ts-morph").TrueLiteral | import("ts-morph").FalseLiteral | import("ts-morph").Identifier | SourceFile | VariableDeclaration | import("ts-morph").ClassDeclaration | import("ts-morph").ExportDeclaration | import("ts-morph").ObjectLiteralExpression | import("ts-morph").AsExpression | import("ts-morph").ComputedPropertyName | import("ts-morph").PropertyAssignment | import("ts-morph").ShorthandPropertyAssignment | import("ts-morph").PropertyAccessExpression<import("ts-morph").ts.PropertyAccessExpression> | import("ts-morph").NoSubstitutionTemplateLiteral | import("ts-morph").ExpressionStatement | import("ts-morph").TaggedTemplateExpression | import("ts-morph").ExportAssignment | import("ts-morph").ElementAccessExpression<import("ts-morph").ts.ElementAccessExpression> | import("ts-morph").TemplateExpression | import("ts-morph").ImportClause | import("ts-morph").ImportSpecifier | import("ts-morph").ImportDeclaration | import("ts-morph").NamedImports | import("ts-morph").VariableStatement | import("ts-morph").VariableDeclarationList | import("ts-morph").Node<import("ts-morph").ts.PlusToken> | import("ts-morph").Node<import("ts-morph").ts.ExportKeyword> | import("ts-morph").Node<import("ts-morph").ts.KeywordTypeNode<SyntaxKind.AnyKeyword>> | import("ts-morph").ModuleDeclaration | import("ts-morph").ModuleBlock | import("ts-morph").Block | import("ts-morph").ParameterDeclaration | import("ts-morph").Node<import("ts-morph").ts.EqualsGreaterThanToken> | import("ts-morph").ArrowFunction | import("ts-morph").TemplateHead | import("ts-morph").TemplateMiddle | import("ts-morph").TemplateSpan | import("ts-morph").TemplateTail | import("ts-morph").PrefixUnaryExpression;
50
+ data: Record<string, unknown>;
51
+ };
52
+ };
53
+ };
54
+ readonly serializers: {
55
+ readonly module: (module: import("@servicenow/sdk-build-core").Document<string> & import("@servicenow/sdk-build-core").Arranged, context: Context) => {
56
+ name: `sys_module_${string}.xml`;
57
+ directory: "update";
58
+ content: string;
59
+ };
60
+ };
61
+ };
62
+ export default _default;