@builder.io/sdk 1.1.23 → 1.1.24

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@builder.io/sdk",
3
- "version": "1.1.23-14",
3
+ "version": "1.1.23",
4
4
  "unpkg": "./dist/index.browser.js",
5
5
  "main": "./dist/index.cjs.js",
6
6
  "module": "./dist/index.esm.js",
@@ -22,13 +22,15 @@
22
22
  "release:patch:nightly": "npm run build && npm version patch && ALLOW_PUBLISH=true npm publish",
23
23
  "release:dev": "npm run build && npm version prerelease --no-git-tag-version && ALLOW_PUBLISH=true npm publish --tag dev",
24
24
  "prepublishOnly": "block-publish",
25
- "ci:build": "npm run build"
25
+ "ci:build": "npm run build",
26
+ "test": "jest --color"
26
27
  },
27
28
  "devDependencies": {
28
29
  "@builder.io/block-publish": "^1.1.2",
29
30
  "@medv/finder": "^1.1.1",
30
31
  "@types/axios": "^0.14.0",
31
32
  "@types/es6-promise": "^3.3.0",
33
+ "@types/jest": "27.4.0",
32
34
  "@types/js-cookie": "^2.1.0",
33
35
  "@types/json-stable-stringify": "^1.0.32",
34
36
  "@types/node": "^9.4.6",
@@ -37,6 +39,9 @@
37
39
  "@types/query-string": "^5.0.1",
38
40
  "@types/ua-parser-js": "^0.7.32",
39
41
  "@types/virtual-dom": "^2.0.27",
42
+ "esbuild": "0.14.14",
43
+ "esbuild-runner": "2.2.1",
44
+ "jest": "27.4.7",
40
45
  "rollup": "^0.58.2",
41
46
  "rollup-plugin-alias": "^1.4.0",
42
47
  "rollup-plugin-commonjs": "^9.1.3",
@@ -260,6 +260,18 @@ export interface Input {
260
260
  mediaWidth?: number;
261
261
  hideFromUI?: boolean;
262
262
  modelId?: string;
263
+ /**
264
+ * Number field type validation maximum accepted input
265
+ */
266
+ max?: number;
267
+ /**
268
+ * Number field type validation minimum accepted input
269
+ */
270
+ min?: number;
271
+ /**
272
+ * Number field type step size when using arrows
273
+ */
274
+ step?: number;
263
275
  /**
264
276
  * Set this to `true` to show the editor for this input when
265
277
  * children of this component are selected. This is useful for things
@@ -347,6 +359,10 @@ export interface Component {
347
359
  hideFromInsertMenu?: boolean;
348
360
  tag?: string;
349
361
  static?: boolean;
362
+ /**
363
+ * Passing a list of model names will restrict using the component to only the models listed here, otherwise it'll be available for all models
364
+ */
365
+ models?: string[];
350
366
  /**
351
367
  * Specify restrictions direct children must match
352
368
  */
@@ -437,7 +453,6 @@ export declare class Builder {
437
453
  static animator: Animator;
438
454
  static nextTick: typeof nextTick;
439
455
  static throttle: typeof throttle;
440
- authToken: string;
441
456
  static editors: any[];
442
457
  static trustedHosts: string[];
443
458
  static plugins: any[];
@@ -501,6 +516,7 @@ export declare class Builder {
501
516
  set canTrack(canTrack: boolean);
502
517
  private canTrack$;
503
518
  private apiKey$;
519
+ private authToken$;
504
520
  userAttributesChanged: BehaviorSubject<any, any>;
505
521
  get editingMode(): boolean;
506
522
  set editingMode(value: boolean);
@@ -542,7 +558,9 @@ export declare class Builder {
542
558
  component(info?: Partial<Component>): (component: Class) => Class;
543
559
  get apiKey(): string | null;
544
560
  set apiKey(key: string | null);
545
- constructor(apiKey?: string | null, request?: IncomingMessage | undefined, response?: ServerResponse | undefined, forceNewInstance?: boolean);
561
+ get authToken(): string | null;
562
+ set authToken(token: string | null);
563
+ constructor(apiKey?: string | null, request?: IncomingMessage | undefined, response?: ServerResponse | undefined, forceNewInstance?: boolean, authToken?: string | null);
546
564
  private modifySearch;
547
565
  setTestsFromUrl(): void;
548
566
  resetOverrides(): void;
@@ -557,7 +575,7 @@ export declare class Builder {
557
575
  [key: string]: boolean;
558
576
  };
559
577
  get defaultCanTrack(): boolean;
560
- init(apiKey: string, canTrack?: boolean, req?: IncomingMessage, res?: ServerResponse): this;
578
+ init(apiKey: string, canTrack?: boolean, req?: IncomingMessage, res?: ServerResponse, authToken?: string): this;
561
579
  get previewingModel(): string;
562
580
  getLocation(): Url;
563
581
  getUserAttributes(userAgent?: string): UserAttributes;
@@ -581,9 +599,14 @@ export declare class Builder {
581
599
  req?: IncomingMessage;
582
600
  res?: ServerResponse;
583
601
  apiKey?: string;
602
+ authToken?: string;
584
603
  }): BehaviorSubject<any, any>;
585
604
  queueGetContent(modelName: string, options?: GetContentOptions): BehaviorSubject<BuilderContent[], any>;
586
- requestUrl(url: string): Promise<any>;
605
+ requestUrl(url: string, options?: {
606
+ headers: {
607
+ [header: string]: number | string | string[] | undefined;
608
+ };
609
+ }): Promise<any>;
587
610
  get host(): string;
588
611
  private flushGetContentQueue;
589
612
  private testCookiePrefix;
@@ -142,13 +142,13 @@ function BuilderComponent(info) {
142
142
  }
143
143
  exports.BuilderComponent = BuilderComponent;
144
144
  var Builder = /** @class */ (function () {
145
- function Builder(apiKey, request, response, forceNewInstance) {
145
+ function Builder(apiKey, request, response, forceNewInstance, authToken) {
146
146
  var _this = this;
147
147
  if (apiKey === void 0) { apiKey = null; }
148
148
  if (forceNewInstance === void 0) { forceNewInstance = false; }
149
+ if (authToken === void 0) { authToken = null; }
149
150
  this.request = request;
150
151
  this.response = response;
151
- this.authToken = '';
152
152
  this.eventsQueue = [];
153
153
  this.throttledClearEventsQueue = throttle_function_1.throttle(function () {
154
154
  _this.processEventsQueue();
@@ -169,6 +169,7 @@ var Builder = /** @class */ (function () {
169
169
  this.preview = false;
170
170
  this.canTrack$ = new observable_class_1.BehaviorSubject(!this.browserTrackingDisabled);
171
171
  this.apiKey$ = new observable_class_1.BehaviorSubject(null);
172
+ this.authToken$ = new observable_class_1.BehaviorSubject(null);
172
173
  this.userAttributesChanged = new observable_class_1.BehaviorSubject(null);
173
174
  this.editingMode$ = new observable_class_1.BehaviorSubject(exports.isIframe);
174
175
  // TODO: decorator to do this stuff with the get/set (how do with typing too? compiler?)
@@ -204,6 +205,9 @@ var Builder = /** @class */ (function () {
204
205
  if (apiKey) {
205
206
  this.apiKey = apiKey;
206
207
  }
208
+ if (authToken) {
209
+ this.authToken = authToken;
210
+ }
207
211
  if (exports.isBrowser) {
208
212
  this.bindMessageListeners();
209
213
  // TODO: postmessage to parent the builder info for every package
@@ -400,7 +404,10 @@ var Builder = /** @class */ (function () {
400
404
  var _a;
401
405
  var spec = __assign(__assign({ class: component }, component.builderOptions), options);
402
406
  this.addComponent(spec);
403
- if (exports.isBrowser) {
407
+ var editable = options.models && this.singletonInstance.editingModel
408
+ ? exports.isBrowser && options.models.includes(this.singletonInstance.editingModel)
409
+ : exports.isBrowser;
410
+ if (editable) {
404
411
  var sendSpec = this.prepareComponentSpecToSend(spec);
405
412
  (_a = window.parent) === null || _a === void 0 ? void 0 : _a.postMessage({
406
413
  type: 'builder.registerComponent',
@@ -570,9 +577,14 @@ var Builder = /** @class */ (function () {
570
577
  if (exports.isIframe || !exports.isBrowser || Builder.isPreviewing) {
571
578
  return;
572
579
  }
580
+ var apiKey = this.apiKey;
581
+ if (!apiKey) {
582
+ console.error('Builder integration error: Looks like the Builder SDK has not been initialized properly (your API key has not been set). Make sure you are calling `builder.init("«YOUR-API-KEY»");` as early as possible in your application\'s code.');
583
+ return;
584
+ }
573
585
  var eventData = JSON.parse(JSON.stringify({
574
586
  type: eventName,
575
- data: __assign(__assign({}, omit_function_1.omit(properties, 'meta')), { metadata: __assign(__assign({ sdkVersion: Builder.VERSION, url: location.href }, properties.meta), properties.metadata), ownerId: this.apiKey, userAttributes: this.getUserAttributes(), sessionId: this.sessionId, visitorId: this.visitorId }),
587
+ data: __assign(__assign({}, omit_function_1.omit(properties, 'meta')), { metadata: __assign(__assign({ sdkVersion: Builder.VERSION, url: location.href }, properties.meta), properties.metadata), ownerId: apiKey, userAttributes: this.getUserAttributes(), sessionId: this.sessionId, visitorId: this.visitorId }),
576
588
  }));
577
589
  for (var _i = 0, _a = this.trackingHooks; _i < _a.length; _i++) {
578
590
  var hook = _a[_i];
@@ -737,6 +749,16 @@ var Builder = /** @class */ (function () {
737
749
  enumerable: true,
738
750
  configurable: true
739
751
  });
752
+ Object.defineProperty(Builder.prototype, "authToken", {
753
+ get: function () {
754
+ return this.authToken$.value;
755
+ },
756
+ set: function (token) {
757
+ this.authToken$.next(token);
758
+ },
759
+ enumerable: true,
760
+ configurable: true
761
+ });
740
762
  Builder.prototype.modifySearch = function (search) {
741
763
  return search.replace(/(^|&|\?)(builder_.*?)=/gi, function (_match, group1, group2) { return group1 + group2.replace(/_/g, '.') + '='; });
742
764
  };
@@ -1001,7 +1023,7 @@ var Builder = /** @class */ (function () {
1001
1023
  enumerable: true,
1002
1024
  configurable: true
1003
1025
  });
1004
- Builder.prototype.init = function (apiKey, canTrack, req, res) {
1026
+ Builder.prototype.init = function (apiKey, canTrack, req, res, authToken) {
1005
1027
  if (canTrack === void 0) { canTrack = this.defaultCanTrack; }
1006
1028
  if (req) {
1007
1029
  this.request = req;
@@ -1011,6 +1033,9 @@ var Builder = /** @class */ (function () {
1011
1033
  }
1012
1034
  this.canTrack = canTrack;
1013
1035
  this.apiKey = apiKey;
1036
+ if (authToken) {
1037
+ this.authToken = authToken;
1038
+ }
1014
1039
  return this;
1015
1040
  };
1016
1041
  Object.defineProperty(Builder.prototype, "previewingModel", {
@@ -1092,13 +1117,16 @@ var Builder = /** @class */ (function () {
1092
1117
  if (options === void 0) { options = {}; }
1093
1118
  var instance = this;
1094
1119
  if (!Builder.isBrowser) {
1095
- instance = new Builder(options.apiKey || this.apiKey, options.req, options.res);
1120
+ instance = new Builder(options.apiKey || this.apiKey, options.req, options.res, undefined, options.authToken || this.authToken);
1096
1121
  instance.setUserAttributes(this.getUserAttributes());
1097
1122
  }
1098
1123
  else {
1099
1124
  if (options.apiKey && !this.apiKey) {
1100
1125
  this.apiKey = options.apiKey;
1101
1126
  }
1127
+ if (options.authToken && !this.authToken) {
1128
+ this.authToken = options.authToken;
1129
+ }
1102
1130
  }
1103
1131
  return instance.queueGetContent(modelName, options).map(
1104
1132
  /* map( */ function (matches) {
@@ -1200,21 +1228,21 @@ var Builder = /** @class */ (function () {
1200
1228
  }
1201
1229
  return observable;
1202
1230
  };
1203
- Builder.prototype.requestUrl = function (url) {
1231
+ Builder.prototype.requestUrl = function (url, options) {
1204
1232
  if (Builder.isBrowser) {
1205
- // TODO: send auth header if builder.authToken
1206
- return fetch_function_1.fetch(url, this.authToken
1207
- ? {
1208
- headers: {
1209
- Authorization: "Bearer " + this.authToken,
1210
- },
1211
- }
1212
- : undefined).then(function (res) { return res.json(); });
1233
+ return fetch_function_1.fetch(url, options).then(function (res) { return res.json(); });
1213
1234
  }
1214
1235
  return new Promise(function (resolve, reject) {
1215
- var module = url.indexOf('http:') === 0 ? server_only_require_function_1.default('http') : server_only_require_function_1.default('https');
1236
+ var parsedUrl = parse(url);
1237
+ var module = parsedUrl.protocol === 'http:' ? server_only_require_function_1.default('http') : server_only_require_function_1.default('https');
1238
+ var requestOptions = {
1239
+ host: parsedUrl.hostname,
1240
+ port: parsedUrl.port,
1241
+ path: parsedUrl.pathname + parsedUrl.search,
1242
+ headers: __assign({}, options === null || options === void 0 ? void 0 : options.headers),
1243
+ };
1216
1244
  module
1217
- .get(url, function (resp) {
1245
+ .get(requestOptions, function (resp) {
1218
1246
  var data = '';
1219
1247
  // A chunk of data has been recieved.
1220
1248
  resp.on('data', function (chunk) {
@@ -1392,7 +1420,11 @@ var Builder = /** @class */ (function () {
1392
1420
  }
1393
1421
  var queryStr = query_string_class_1.QueryString.stringifyDeep(queryParams);
1394
1422
  var format = queryParams.format;
1395
- var promise = this.requestUrl(host + "/api/v1/" + (format === 'solid' || format === 'react' ? 'codegen' : 'query') + "/" + this.apiKey + "/" + keyNames + (queryParams && hasParams ? "?" + queryStr : '')).then(function (result) {
1423
+ var requestOptions = { headers: {} };
1424
+ if (this.authToken) {
1425
+ requestOptions.headers = __assign(__assign({}, requestOptions.headers), { Authorization: "Bearer " + this.authToken });
1426
+ }
1427
+ var promise = this.requestUrl(host + "/api/v1/" + (format === 'solid' || format === 'react' ? 'codegen' : 'query') + "/" + this.apiKey + "/" + keyNames + (queryParams && hasParams ? "?" + queryStr : ''), requestOptions).then(function (result) {
1396
1428
  for (var _i = 0, queue_3 = queue; _i < queue_3.length; _i++) {
1397
1429
  var options = queue_3[_i];
1398
1430
  var keyName = options.key;
@@ -1530,7 +1562,9 @@ var Builder = /** @class */ (function () {
1530
1562
  .getContent(modelName, __assign(__assign({ limit: 30 }, options), { key: options.key ||
1531
1563
  // Make the key include all options so we don't reuse cache for the same conent fetched
1532
1564
  // with different options
1533
- Builder.isBrowser ? modelName + ":" + hash_sum_1.default(omit_function_1.omit(options, 'initialContent', 'req', 'res')) : undefined }))
1565
+ Builder.isBrowser
1566
+ ? modelName + ":" + hash_sum_1.default(omit_function_1.omit(options, 'initialContent', 'req', 'res'))
1567
+ : undefined }))
1534
1568
  .promise();
1535
1569
  };
1536
1570
  Builder.VERSION = package_json_1.version;
@@ -1 +1 @@
1
- {"version":3,"file":"builder.class.js","sourceRoot":"","sources":["../../src/builder.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.class.js","sourceRoot":"","sources":["../../src/builder.class.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,4 @@
1
- export declare type StringMap = {
2
- [key: string]: string;
3
- };
1
+ export declare type StringMap = Record<string, string>;
4
2
  export declare class QueryString {
5
3
  static parseDeep(queryString: string): any;
6
4
  static stringifyDeep(obj: any): string;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ var PROPERTY_NAME_DENY_LIST = Object.freeze(['__proto__', 'prototype']);
3
4
  // TODO: unit tests
4
5
  var QueryString = /** @class */ (function () {
5
6
  function QueryString() {
@@ -41,15 +42,17 @@ var QueryString = /** @class */ (function () {
41
42
  return str;
42
43
  };
43
44
  QueryString.deepen = function (map) {
44
- var output = {};
45
- var temporaryOutput = output;
45
+ // FIXME; Should be type Tree = Record<string, string | Tree>
46
+ // requires a typescript upgrade.
47
+ var output = Object.create(null);
46
48
  for (var k in map) {
47
49
  var t = output;
48
50
  var parts = k.split('.');
49
51
  var key = parts.pop();
50
- while (parts.length) {
51
- var part = parts.shift();
52
- t = t[part] = t[part] || {};
52
+ for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) {
53
+ var part = parts_1[_i];
54
+ assertAllowedPropertyName(part);
55
+ t = t[part] = t[part] || Object.create(null);
53
56
  }
54
57
  t[key] = map[k];
55
58
  }
@@ -72,4 +75,8 @@ var QueryString = /** @class */ (function () {
72
75
  return QueryString;
73
76
  }());
74
77
  exports.QueryString = QueryString;
78
+ function assertAllowedPropertyName(name) {
79
+ if (PROPERTY_NAME_DENY_LIST.indexOf(name) >= 0)
80
+ throw new Error("Property name \"" + name + "\" is not allowed");
81
+ }
75
82
  //# sourceMappingURL=query-string.class.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-string.class.js","sourceRoot":"","sources":["../../../src/classes/query-string.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-string.class.js","sourceRoot":"","sources":["../../../src/classes/query-string.class.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var query_string_class_1 = require("./query-string.class");
4
+ test.each([
5
+ // prettier-ignore
6
+ ['__proto__.foo.baz=1'],
7
+ ['prototype.foo=1'],
8
+ ])('(regression) prototype pollution %#', function (input) {
9
+ expect(function () {
10
+ query_string_class_1.QueryString.parseDeep(input);
11
+ }).toThrowError(/Property name \".*\" is not allowed/);
12
+ var pollutedObject = {};
13
+ expect(pollutedObject.foo).toBeUndefined();
14
+ });
15
+ describe('.parseDeep', function () {
16
+ test('input string may be prefixed with a question mark', function () {
17
+ var result = query_string_class_1.QueryString.parseDeep('?foo=1');
18
+ expect(result).toEqual({ foo: '1' });
19
+ });
20
+ test('converts the paths to a single object', function () {
21
+ var result = query_string_class_1.QueryString.parseDeep('foo.bar.baz=1&foo.boo=2');
22
+ expect(result).toEqual({ foo: { bar: { baz: '1' }, boo: '2' } });
23
+ });
24
+ });
25
+ //# sourceMappingURL=query-string.class.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-string.class.test.js","sourceRoot":"","sources":["../../../src/classes/query-string.class.test.ts"],"names":[],"mappings":";;AAAA,2DAAmD;AAEnD,IAAI,CAAC,IAAI,CAAC;IACR,kBAAkB;IAClB,CAAC,qBAAqB,CAAC;IACvB,CAAC,iBAAiB,CAAC;CACpB,CAAC,CAAC,qCAAqC,EAAE,UAAA,KAAK;IAC7C,MAAM,CAAC;QACL,gCAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC,YAAY,CAAC,qCAAqC,CAAC,CAAC;IAEvD,IAAM,cAAc,GAAQ,EAAE,CAAC;IAE/B,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,YAAY,EAAE;IACrB,IAAI,CAAC,mDAAmD,EAAE;QACxD,IAAM,MAAM,GAAG,gCAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAE/C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uCAAuC,EAAE;QAC5C,IAAM,MAAM,GAAG,gCAAW,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;QAEhE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}