@servicenow/sdk-build-core 3.0.1 → 3.0.3

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/XML.d.ts CHANGED
@@ -7,7 +7,7 @@ export declare function unloadBuilder(context: Context): {
7
7
  end: () => string;
8
8
  record: (tableName: string, id: string | number, action?: Action) => {
9
9
  fields(fields: Record<string, XmlValue>): void;
10
- field(columnName: string, value: unknown, attributes?: Record<string, string>): {
10
+ field(columnName: string, value: unknown, attributes?: Record<string, string>, needsCDATA?: boolean): {
11
11
  choices(_choices: unknown): void;
12
12
  };
13
13
  addSysScope(context: Context): XMLBuilder;
@@ -25,7 +25,7 @@ export declare function recordXml(xml: XMLBuilder, tableName: string, id: string
25
25
  context?: Context;
26
26
  }): {
27
27
  fields(fields: Record<string, XmlValue>): void;
28
- field(columnName: string, value: unknown, attributes?: Record<string, string>): {
28
+ field(columnName: string, value: unknown, attributes?: Record<string, string>, needsCDATA?: boolean): {
29
29
  choices(_choices: unknown): void;
30
30
  };
31
31
  addSysScope(context: Context): XMLBuilder;
package/dist/XML.js CHANGED
@@ -11,7 +11,7 @@ function isValidXmlValue(value) {
11
11
  }
12
12
  function unloadBuilder(context) {
13
13
  const xml = (0, xmlbuilder2_1.create)({ version: '1.0' }).ele('record_update');
14
- const end = () => xml.end({ prettyPrint: true });
14
+ const end = () => xml.end({ prettyPrint: true }).replaceAll('&nbsp;', '&amp;nbsp;');
15
15
  // Root Builder
16
16
  return {
17
17
  xml,
@@ -42,7 +42,7 @@ function recordXml(xml, tableName, id, options = {}) {
42
42
  this.field(columnName, value);
43
43
  }
44
44
  },
45
- field(columnName, value, attributes = {}) {
45
+ field(columnName, value, attributes = {}, needsCDATA = false) {
46
46
  if (!isValidXmlValue(value)) {
47
47
  throw new Error(`Invalid XML value for "${columnName}" column: ${value}`);
48
48
  }
@@ -52,12 +52,19 @@ function recordXml(xml, tableName, id, options = {}) {
52
52
  columnName === 'operation_script' ||
53
53
  tag === 'script' ||
54
54
  tag === 'html' ||
55
- tag === 'xml') {
55
+ tag === 'xml' ||
56
+ needsCDATA) {
56
57
  value = tag === 'xml' ? sanitizeNestedCdataTags(value) : value;
57
58
  fieldXml = recordXml.ele(columnName, attributes).dat(value);
58
59
  }
59
60
  else {
60
- fieldXml = recordXml.ele(columnName, attributes).txt(`${value}`);
61
+ /*
62
+ &nbsp is not a predefined entity for XML, to overcome that the platform uses &amp;nbsp; in XMLs.
63
+ When we transform XML that contains &amp;nbsp; that translates to `&nbsp;`.
64
+ But when fluent generates the XML from source it creates XML with &nbsp; which makes the XML invalid since `nbsp` is not defined.
65
+ So we are replacing &nbsp; with &amp;nbsp; to ensure the XML is valid.
66
+ */
67
+ fieldXml = recordXml.ele(columnName, attributes).txt(`${value}`.replaceAll('&nbsp;', '&amp;nbsp;'));
61
68
  }
62
69
  // Field Builder
63
70
  return {
package/dist/XML.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"XML.js","sourceRoot":"","sources":["../src/XML.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"XML.js","sourceRoot":"","sources":["../src/XML.ts"],"names":[],"mappings":"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"}
@@ -53,6 +53,7 @@ export declare abstract class Data<D = unknown> {
53
53
  static isEntity(data?: unknown): data is EntityData;
54
54
  abstract getValue(resolveReferences?: boolean): D;
55
55
  getNode(): SupportedNode;
56
+ needsCDATATag(): boolean;
56
57
  }
57
58
  export declare class UndefinedData extends Data<undefined> {
58
59
  constructor(node: SupportedNode);
@@ -60,8 +61,12 @@ export declare class UndefinedData extends Data<undefined> {
60
61
  }
61
62
  export declare class StringData<const D extends string = string> extends Data<D> {
62
63
  private readonly value;
63
- constructor(value: D, node: SupportedNode);
64
+ private options;
65
+ constructor(value: D, node: SupportedNode, options?: {
66
+ needsCDATA: boolean;
67
+ });
64
68
  getValue(): D;
69
+ needsCDATATag(): boolean;
65
70
  }
66
71
  export declare class NumberData<const D extends number = number> extends Data<D> {
67
72
  private readonly value;
@@ -95,6 +95,9 @@ class Data {
95
95
  getNode() {
96
96
  return this.node;
97
97
  }
98
+ needsCDATATag() {
99
+ return false;
100
+ }
98
101
  }
99
102
  exports.Data = Data;
100
103
  class UndefinedData extends Data {
@@ -108,13 +111,18 @@ class UndefinedData extends Data {
108
111
  exports.UndefinedData = UndefinedData;
109
112
  class StringData extends Data {
110
113
  value;
111
- constructor(value, node) {
114
+ options;
115
+ constructor(value, node, options = { needsCDATA: false }) {
112
116
  super(node);
113
117
  this.value = value;
118
+ this.options = options;
114
119
  }
115
120
  getValue() {
116
121
  return this.value;
117
122
  }
123
+ needsCDATATag() {
124
+ return this.options.needsCDATA;
125
+ }
118
126
  }
119
127
  exports.StringData = StringData;
120
128
  class NumberData extends Data {
@@ -1 +1 @@
1
- {"version":3,"file":"Data.js","sourceRoot":"","sources":["../../../../src/plugins/behaviors/extractors/Data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Data.js","sourceRoot":"","sources":["../../../../src/plugins/behaviors/extractors/Data.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicenow/sdk-build-core",
3
- "version": "3.0.1",
3
+ "version": "3.0.3",
4
4
  "description": "ServiceNow SDK Build System Core Libraries",
5
5
  "license": "MIT",
6
6
  "main": "./dist/index.js",
@@ -13,8 +13,8 @@
13
13
  "lodash": "4.17.21",
14
14
  "xmlbuilder2": "3.1.1",
15
15
  "zod": "3.22.4",
16
- "@servicenow/sdk-core": "3.0.1",
17
- "@servicenow/sdk-project": "3.0.1"
16
+ "@servicenow/sdk-project": "3.0.3",
17
+ "@servicenow/sdk-core": "3.0.3"
18
18
  },
19
19
  "overrides": {
20
20
  "micromatch": "4.0.7"
package/src/XML.ts CHANGED
@@ -11,7 +11,7 @@ export function isValidXmlValue(value: unknown): value is XmlValue {
11
11
 
12
12
  export function unloadBuilder(context: Context) {
13
13
  const xml = create({ version: '1.0' }).ele('record_update')
14
- const end = () => xml.end({ prettyPrint: true })
14
+ const end = () => xml.end({ prettyPrint: true }).replaceAll('&nbsp;', '&amp;nbsp;')
15
15
 
16
16
  // Root Builder
17
17
  return {
@@ -55,7 +55,7 @@ export function recordXml(
55
55
  this.field(columnName, value)
56
56
  }
57
57
  },
58
- field(columnName: string, value: unknown, attributes: Record<string, string> = {}) {
58
+ field(columnName: string, value: unknown, attributes: Record<string, string> = {}, needsCDATA = false) {
59
59
  if (!isValidXmlValue(value)) {
60
60
  throw new Error(`Invalid XML value for "${columnName}" column: ${value}`)
61
61
  }
@@ -67,12 +67,19 @@ export function recordXml(
67
67
  columnName === 'operation_script' ||
68
68
  tag === 'script' ||
69
69
  tag === 'html' ||
70
- tag === 'xml'
70
+ tag === 'xml' ||
71
+ needsCDATA
71
72
  ) {
72
73
  value = tag === 'xml' ? sanitizeNestedCdataTags(value as string) : value
73
74
  fieldXml = recordXml.ele(columnName, attributes).dat(value as string)
74
75
  } else {
75
- fieldXml = recordXml.ele(columnName, attributes).txt(`${value}`)
76
+ /*
77
+ &nbsp is not a predefined entity for XML, to overcome that the platform uses &amp;nbsp; in XMLs.
78
+ When we transform XML that contains &amp;nbsp; that translates to `&nbsp;`.
79
+ But when fluent generates the XML from source it creates XML with &nbsp; which makes the XML invalid since `nbsp` is not defined.
80
+ So we are replacing &nbsp; with &amp;nbsp; to ensure the XML is valid.
81
+ */
82
+ fieldXml = recordXml.ele(columnName, attributes).txt(`${value}`.replaceAll('&nbsp;', '&amp;nbsp;'))
76
83
  }
77
84
 
78
85
  // Field Builder
@@ -146,6 +146,10 @@ export abstract class Data<D = unknown> {
146
146
  getNode(): SupportedNode {
147
147
  return this.node
148
148
  }
149
+
150
+ needsCDATATag(): boolean {
151
+ return false
152
+ }
149
153
  }
150
154
 
151
155
  export class UndefinedData extends Data<undefined> {
@@ -161,7 +165,10 @@ export class UndefinedData extends Data<undefined> {
161
165
  export class StringData<const D extends string = string> extends Data<D> {
162
166
  constructor(
163
167
  private readonly value: D,
164
- node: SupportedNode
168
+ node: SupportedNode,
169
+ private options: {
170
+ needsCDATA: boolean
171
+ } = { needsCDATA: false }
165
172
  ) {
166
173
  super(node)
167
174
  }
@@ -169,6 +176,10 @@ export class StringData<const D extends string = string> extends Data<D> {
169
176
  getValue() {
170
177
  return this.value
171
178
  }
179
+
180
+ override needsCDATATag() {
181
+ return this.options.needsCDATA
182
+ }
172
183
  }
173
184
 
174
185
  export class NumberData<const D extends number = number> extends Data<D> {