@servicenow/sdk-build-plugins 2.1.4 → 2.2.2
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/dist/AttachmentPlugin.d.ts +6 -7
- package/dist/AttachmentPlugin.js +8 -6
- package/dist/AttachmentPlugin.js.map +1 -1
- package/dist/BusinessRulePlugin.d.ts +5 -5
- package/dist/BusinessRulePlugin.js +4 -4
- package/dist/BusinessRulePlugin.js.map +1 -1
- package/dist/CrossScopePrivilegePlugin.d.ts +5 -5
- package/dist/CrossScopePrivilegePlugin.js +1 -2
- package/dist/CrossScopePrivilegePlugin.js.map +1 -1
- package/dist/DefaultPlugin.d.ts +19 -11
- package/dist/DefaultPlugin.js +23 -51
- package/dist/DefaultPlugin.js.map +1 -1
- package/dist/HtmlTemplatePlugin.d.ts +2 -2
- package/dist/HtmlTemplatePlugin.js +3 -26
- package/dist/HtmlTemplatePlugin.js.map +1 -1
- package/dist/IdPlugin.d.ts +5 -4
- package/dist/IdPlugin.js +5 -9
- package/dist/IdPlugin.js.map +1 -1
- package/dist/JsonPlugin.d.ts +8 -3
- package/dist/JsonPlugin.js +6 -11
- package/dist/JsonPlugin.js.map +1 -1
- package/dist/ListPlugin.d.ts +6 -7
- package/dist/ListPlugin.js +17 -19
- package/dist/ListPlugin.js.map +1 -1
- package/dist/NowConfigPlugin.d.ts +1 -1
- package/dist/NowConfigPlugin.js +5 -31
- package/dist/NowConfigPlugin.js.map +1 -1
- package/dist/PackageJsonPlugin.d.ts +1 -1
- package/dist/PackageJsonPlugin.js +1 -1
- package/dist/PackageJsonPlugin.js.map +1 -1
- package/dist/PropertyPlugin.d.ts +5 -66
- package/dist/PropertyPlugin.js +6 -12
- package/dist/PropertyPlugin.js.map +1 -1
- package/dist/ScriptTemplatePlugin.d.ts +1 -1
- package/dist/ScriptTemplatePlugin.js +5 -5
- package/dist/ScriptTemplatePlugin.js.map +1 -1
- package/dist/ServerModulePlugin.d.ts +5 -6
- package/dist/ServerModulePlugin.js +10 -39
- package/dist/ServerModulePlugin.js.map +1 -1
- package/dist/UserPreferencePlugin.d.ts +1 -1
- package/dist/aclAndRole/AclPlugin.d.ts +44 -28
- package/dist/aclAndRole/AclPlugin.js +30 -33
- package/dist/aclAndRole/AclPlugin.js.map +1 -1
- package/dist/aclAndRole/RolePlugin.d.ts +5 -6
- package/dist/aclAndRole/RolePlugin.js +6 -7
- package/dist/aclAndRole/RolePlugin.js.map +1 -1
- package/dist/aclAndRole/Util.js +7 -30
- package/dist/aclAndRole/Util.js.map +1 -1
- package/dist/app/ApplicationMenuPlugin.d.ts +5 -5
- package/dist/app/ApplicationMenuPlugin.js +2 -3
- package/dist/app/ApplicationMenuPlugin.js.map +1 -1
- package/dist/atf/TestPlugin.d.ts +3 -3
- package/dist/atf/TestPlugin.js +1 -1
- package/dist/atf/TestPlugin.js.map +1 -1
- package/dist/db/ColumnPlugins.d.ts +85 -85
- package/dist/db/ColumnPlugins.js +17 -19
- package/dist/db/ColumnPlugins.js.map +1 -1
- package/dist/db/DocumentationPlugin.d.ts +6 -6
- package/dist/db/DocumentationPlugin.js +17 -49
- package/dist/db/DocumentationPlugin.js.map +1 -1
- package/dist/db/RecordPlugin.d.ts +7 -101
- package/dist/db/RecordPlugin.js +25 -24
- package/dist/db/RecordPlugin.js.map +1 -1
- package/dist/db/TablePlugin.d.ts +9 -610
- package/dist/db/TablePlugin.js +185 -84
- package/dist/db/TablePlugin.js.map +1 -1
- package/dist/scriptedRESTAPI/RESTDeserializationUtils.d.ts +0 -2
- package/dist/scriptedRESTAPI/RESTDeserializationUtils.js +17 -18
- package/dist/scriptedRESTAPI/RESTDeserializationUtils.js.map +1 -1
- package/dist/scriptedRESTAPI/RESTSerializationUtils.d.ts +1 -3
- package/dist/scriptedRESTAPI/RESTSerializationUtils.js +0 -1
- package/dist/scriptedRESTAPI/RESTSerializationUtils.js.map +1 -1
- package/dist/scriptedRESTAPI/RestApiPlugin.d.ts +3 -4
- package/dist/scriptedRESTAPI/RestApiPlugin.js +7 -33
- package/dist/scriptedRESTAPI/RestApiPlugin.js.map +1 -1
- package/dist/scriptedRESTAPI/RestUtils.d.ts +1 -10
- package/dist/scriptedRESTAPI/RestUtils.js +11 -35
- package/dist/scriptedRESTAPI/RestUtils.js.map +1 -1
- package/dist/scripts/ClientScriptPlugin.d.ts +3 -4
- package/dist/scripts/ClientScriptPlugin.js +11 -37
- package/dist/scripts/ClientScriptPlugin.js.map +1 -1
- package/dist/uxf/ExperiencePlugin.d.ts +2 -2
- package/dist/uxf/RoutesPlugin.d.ts +2 -2
- package/dist/uxf/RoutesPlugin.js +2 -3
- package/dist/uxf/RoutesPlugin.js.map +1 -1
- package/dist/uxf/tectonicIdGenerator.d.ts +1 -1
- package/dist/uxf/tectonicIdGenerator.js +5 -28
- package/dist/uxf/tectonicIdGenerator.js.map +1 -1
- package/package.json +6 -8
- package/src/AttachmentPlugin.ts +5 -7
- package/src/BusinessRulePlugin.ts +12 -6
- package/src/CrossScopePrivilegePlugin.ts +2 -3
- package/src/DefaultPlugin.ts +22 -26
- package/src/HtmlTemplatePlugin.ts +2 -2
- package/src/IdPlugin.ts +6 -10
- package/src/JsonPlugin.ts +7 -12
- package/src/ListPlugin.ts +20 -22
- package/src/NowConfigPlugin.ts +10 -13
- package/src/PackageJsonPlugin.ts +1 -1
- package/src/PropertyPlugin.ts +8 -14
- package/src/ScriptTemplatePlugin.ts +1 -1
- package/src/ServerModulePlugin.ts +15 -20
- package/src/aclAndRole/AclPlugin.ts +37 -6
- package/src/aclAndRole/RolePlugin.ts +7 -9
- package/src/aclAndRole/Util.ts +2 -2
- package/src/app/ApplicationMenuPlugin.ts +3 -4
- package/src/atf/TestPlugin.ts +3 -3
- package/src/db/ColumnPlugins.ts +20 -22
- package/src/db/DocumentationPlugin.ts +7 -41
- package/src/db/RecordPlugin.ts +23 -26
- package/src/db/TablePlugin.ts +222 -115
- package/src/scriptedRESTAPI/RESTDeserializationUtils.ts +18 -19
- package/src/scriptedRESTAPI/RESTSerializationUtils.ts +1 -1
- package/src/scriptedRESTAPI/RestApiPlugin.ts +15 -18
- package/src/scriptedRESTAPI/RestUtils.ts +7 -7
- package/src/scripts/ClientScriptPlugin.ts +10 -12
- package/src/uxf/RoutesPlugin.ts +2 -3
- package/src/uxf/tectonicIdGenerator.ts +3 -6
package/src/db/RecordPlugin.ts
CHANGED
|
@@ -6,7 +6,6 @@ import {
|
|
|
6
6
|
isGUID,
|
|
7
7
|
removeNode,
|
|
8
8
|
transformFunctionArguments,
|
|
9
|
-
fixFunctionArgumentTypes,
|
|
10
9
|
unloadBuilder,
|
|
11
10
|
linkDocument,
|
|
12
11
|
generateCallExpressionExportForDocument,
|
|
@@ -20,10 +19,10 @@ import {
|
|
|
20
19
|
ObjectData,
|
|
21
20
|
} from '@servicenow/sdk-build-core'
|
|
22
21
|
import { z } from 'zod'
|
|
23
|
-
import {
|
|
22
|
+
import { ts } from '@servicenow/sdk-project'
|
|
24
23
|
|
|
25
24
|
// TODO: This schema should live with the Record entity function itself
|
|
26
|
-
|
|
25
|
+
const RecordEntitySchema = z.object({
|
|
27
26
|
$id: z.string().or(z.number()),
|
|
28
27
|
data: z.record(z.any()),
|
|
29
28
|
table: z.string(),
|
|
@@ -43,17 +42,15 @@ export const TextStringSchema = z.object({ '#text': z.string() }).transform((val
|
|
|
43
42
|
export const TextBooleanSchema = z.object({ '#text': z.boolean() }).transform((val) => val['#text'])
|
|
44
43
|
export const TextNumberSchema = z.object({ '#text': z.number().or(z.literal('')) }).transform((val) => val['#text'])
|
|
45
44
|
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
const ignoreTables = ['sys_metadata_link', 'sys_module', 'sys_ux_lib_asset', 'sys_app', 'sys_store_app']
|
|
45
|
+
const ignoreTables = [
|
|
46
|
+
'sys_metadata_link',
|
|
47
|
+
'sys_module',
|
|
48
|
+
'sys_ux_lib_asset',
|
|
49
|
+
'sys_app',
|
|
50
|
+
'sys_store_app',
|
|
51
|
+
'ua_table_licensing_config',
|
|
52
|
+
'sys_index',
|
|
53
|
+
]
|
|
57
54
|
const ignoreFields = [
|
|
58
55
|
'sys_created_by',
|
|
59
56
|
'sys_created_on',
|
|
@@ -89,7 +86,7 @@ export const RecordXmlSchema = z
|
|
|
89
86
|
)
|
|
90
87
|
)
|
|
91
88
|
|
|
92
|
-
|
|
89
|
+
const RecordDocumentSchema = z.object({
|
|
93
90
|
data: z.record(z.union([z.string(), z.number(), z.boolean(), z.undefined(), z.null()])),
|
|
94
91
|
table: z.string(),
|
|
95
92
|
})
|
|
@@ -123,11 +120,11 @@ export const RecordPlugin = Plugin({
|
|
|
123
120
|
(record): record is Record => RecordEntitySchema.safeParse(record).success
|
|
124
121
|
)
|
|
125
122
|
|
|
126
|
-
if (!result.handled || !
|
|
123
|
+
if (!result.handled || !result.data) {
|
|
127
124
|
return result
|
|
128
125
|
}
|
|
129
126
|
|
|
130
|
-
const record = result.data
|
|
127
|
+
const record = result.data
|
|
131
128
|
const diagnostics = result.diagnostics
|
|
132
129
|
const tableName = record.getProperty('table').getValue()
|
|
133
130
|
const pluginInfo = context.getPluginForTable(tableName)
|
|
@@ -135,7 +132,7 @@ export const RecordPlugin = Plugin({
|
|
|
135
132
|
if (pluginInfo) {
|
|
136
133
|
const { logLevel, api } = pluginInfo
|
|
137
134
|
const tableNode = node
|
|
138
|
-
.getFirstChildByKindOrThrow(SyntaxKind.ObjectLiteralExpression)
|
|
135
|
+
.getFirstChildByKindOrThrow(ts.SyntaxKind.ObjectLiteralExpression)
|
|
139
136
|
.getPropertyOrThrow('table')
|
|
140
137
|
|
|
141
138
|
diagnostics.push(
|
|
@@ -152,10 +149,10 @@ export const RecordPlugin = Plugin({
|
|
|
152
149
|
if (tableName === 'sys_ui_view') {
|
|
153
150
|
const viewName = record.getProperty('data').getProperty('name')?.getValue()
|
|
154
151
|
const viewDataNode = node
|
|
155
|
-
.getFirstChildByKindOrThrow(SyntaxKind.ObjectLiteralExpression)
|
|
152
|
+
.getFirstChildByKindOrThrow(ts.SyntaxKind.ObjectLiteralExpression)
|
|
156
153
|
.getPropertyOrThrow('data')
|
|
157
|
-
.asKindOrThrow(SyntaxKind.PropertyAssignment)
|
|
158
|
-
.getInitializerIfKind(SyntaxKind.ObjectLiteralExpression)
|
|
154
|
+
.asKindOrThrow(ts.SyntaxKind.PropertyAssignment)
|
|
155
|
+
.getInitializerIfKind(ts.SyntaxKind.ObjectLiteralExpression)
|
|
159
156
|
|
|
160
157
|
const viewNameNode = viewDataNode?.getPropertyOrThrow('name')
|
|
161
158
|
const nameRegex = new RegExp(`^[a-zA-Z0-9_]+$`)
|
|
@@ -173,7 +170,7 @@ export const RecordPlugin = Plugin({
|
|
|
173
170
|
return {
|
|
174
171
|
handled: true,
|
|
175
172
|
diagnostics,
|
|
176
|
-
data:
|
|
173
|
+
data: record,
|
|
177
174
|
}
|
|
178
175
|
},
|
|
179
176
|
},
|
|
@@ -318,7 +315,7 @@ export const RecordPlugin = Plugin({
|
|
|
318
315
|
},
|
|
319
316
|
Record,
|
|
320
317
|
{ $id: document.guid }
|
|
321
|
-
).getExpressionIfKindOrThrow(SyntaxKind.CallExpression)
|
|
318
|
+
).getExpressionIfKindOrThrow(ts.SyntaxKind.CallExpression)
|
|
322
319
|
)
|
|
323
320
|
},
|
|
324
321
|
},
|
|
@@ -358,7 +355,7 @@ export const RecordPlugin = Plugin({
|
|
|
358
355
|
data: properties,
|
|
359
356
|
})
|
|
360
357
|
|
|
361
|
-
|
|
358
|
+
context.argTypesToFix.push(document.node)
|
|
362
359
|
return true
|
|
363
360
|
},
|
|
364
361
|
},
|
|
@@ -373,7 +370,7 @@ export function extractCallExpressionAsRecord<
|
|
|
373
370
|
fn: (...args: A) => E,
|
|
374
371
|
asRecord: (entity: EntityData<E>) => ObjectData<Record<T>>,
|
|
375
372
|
guid: (entity: E) => string,
|
|
376
|
-
node: CallExpression,
|
|
373
|
+
node: ts.CallExpression,
|
|
377
374
|
context: Context
|
|
378
375
|
): ExtractionResult<EntityData<Record<T>>> {
|
|
379
376
|
const result = extractCallExpression(fn, 'record', node, context, guid)
|
|
@@ -384,6 +381,6 @@ export function extractCallExpressionAsRecord<
|
|
|
384
381
|
return {
|
|
385
382
|
handled: true,
|
|
386
383
|
diagnostics: result.diagnostics,
|
|
387
|
-
data: result.data
|
|
384
|
+
data: result.data ? new EntityData('record', result.data.getGuid(), asRecord(result.data), node) : undefined,
|
|
388
385
|
}
|
|
389
386
|
}
|