@squiz/component-cli-lib 1.2.10 → 1.2.11

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/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.2.11](https://gitlab.squiz.net/developer-experience/cmp/compare/v1.2.2...v1.2.11) (2022-11-11)
7
+
8
+ **Note:** Version bump only for package @squiz/component-cli-lib
9
+
10
+
11
+
12
+
13
+
6
14
  ## [1.2.10](https://gitlab.squiz.net/developer-experience/cmp/compare/v1.2.2...v1.2.10) (2022-11-09)
7
15
 
8
16
  **Note:** Version bump only for package @squiz/component-cli-lib
@@ -54,5 +54,20 @@ describe('component-dev', () => {
54
54
  expect(response.text).toEqual('hello');
55
55
  });
56
56
  });
57
+ describe('It should pass a simple test and not launch the browser if the -nb flag is present', () => {
58
+ let server;
59
+ let request;
60
+ beforeAll(async () => {
61
+ server = (0, component_dev_1.startDevelopmentRender)(render_runtime_lib_1.TestHelpers.getTestComponentFolder(), { port: 0, noBrowser: true });
62
+ request = (0, supertest_1.default)(server);
63
+ });
64
+ afterAll(async () => {
65
+ server.close();
66
+ });
67
+ it('should find the component', async () => {
68
+ const response = await request.get(`/r/set/unit-test-components/test-component/1.0.0?something=hello`);
69
+ expect(response.text).toEqual('<div>hello - {"something":"hello"}</div>');
70
+ });
71
+ });
57
72
  });
58
73
  //# sourceMappingURL=component-dev-folder-structures.integration.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component-dev-folder-structures.integration.spec.js","sourceRoot":"","sources":["../src/component-dev-folder-structures.integration.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"component-dev-folder-structures.integration.spec.js","sourceRoot":"","sources":["../src/component-dev-folder-structures.integration.spec.ts"],"names":[],"mappings":"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"}
@@ -12,4 +12,5 @@ import { LoggerOptions } from '@squiz/dx-logger-lib';
12
12
  export declare function startDevelopmentRender(componentPath: string, options: {
13
13
  port: number;
14
14
  loggingFormat?: LoggerOptions['format'];
15
+ noBrowser?: boolean;
15
16
  }): import("http").Server;
@@ -1 +1 @@
1
- {"version":3,"file":"component-dev.integration.spec.js","sourceRoot":"","sources":["../src/component-dev.integration.spec.ts"],"names":[],"mappings":";;;;;AAAA,kEAAoE;AACpE,mDAAyD;AACzD,0DAAkC;AAGlC,IAAI,CAAC,UAAU,CAAC,KAAM,CAAC,CAAC;AAExB,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAC1C,IAAI,MAAc,CAAC;QACnB,IAAI,OAA4C,CAAC;QACjD,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,MAAM,GAAG,IAAA,sCAAsB,EAAC,gCAAW,CAAC,sBAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACnF,OAAO,GAAG,IAAA,mBAAS,EAAC,MAAM,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;YAClB,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;YAC3F,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,6FAA6F,CAC9F,CAAC;YAEF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;gBAC5B,OAAO,EAAE,8DAA8D;aACxE,CAAC,CAAC;YACH,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;YACjC,MAAM,MAAM,GAAG,IAAA,sCAAsB,EAAC,gCAAW,CAAC,sBAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACzF,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,IAAA,mBAAS,EAAC,MAAM,CAAC,CAAC;YACxC,+BAAU,CAAC,UAAU,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YACrD,QAAQ,CAAC,GAAG,EAAE;gBACZ,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;YAC7B,MAAM,MAAM,GAAG,IAAA,sCAAsB,EAAC,gCAAW,CAAC,sBAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACzF,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,IAAA,mBAAS,EAAC,MAAM,CAAC,CAAC;YACxC,+BAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC3B,QAAQ,CAAC,GAAG,EAAE;gBACZ,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;YAC7B,MAAM,MAAM,GAAG,IAAA,sCAAsB,EAAC,gCAAW,CAAC,sBAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACzF,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,IAAA,mBAAS,EAAC,MAAM,CAAC,CAAC;YACxC,+BAAU,CAAC,MAAM,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YACjD,QAAQ,CAAC,GAAG,EAAE;gBACZ,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;YAC7B,+BAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"component-dev.integration.spec.js","sourceRoot":"","sources":["../src/component-dev.integration.spec.ts"],"names":[],"mappings":";;;;;AAAA,kEAAoE;AACpE,mDAAyD;AACzD,0DAAkC;AAGlC,IAAI,CAAC,UAAU,CAAC,KAAM,CAAC,CAAC;AAExB,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAC1C,IAAI,MAAc,CAAC;QACnB,IAAI,OAA4C,CAAC;QAEjD,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,MAAM,GAAG,IAAA,sCAAsB,EAAC,gCAAW,CAAC,sBAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACnF,OAAO,GAAG,IAAA,mBAAS,EAAC,MAAM,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;YAClB,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;YAC3F,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,6FAA6F,CAC9F,CAAC;YAEF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;gBAC5B,OAAO,EAAE,8DAA8D;aACxE,CAAC,CAAC;YACH,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;YACjC,MAAM,MAAM,GAAG,IAAA,sCAAsB,EAAC,gCAAW,CAAC,sBAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACzF,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,IAAA,mBAAS,EAAC,MAAM,CAAC,CAAC;YACxC,+BAAU,CAAC,UAAU,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YACrD,QAAQ,CAAC,GAAG,EAAE;gBACZ,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;YAC7B,MAAM,MAAM,GAAG,IAAA,sCAAsB,EAAC,gCAAW,CAAC,sBAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACzF,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,IAAA,mBAAS,EAAC,MAAM,CAAC,CAAC;YACxC,+BAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC3B,QAAQ,CAAC,GAAG,EAAE;gBACZ,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;YAC7B,MAAM,MAAM,GAAG,IAAA,sCAAsB,EAAC,gCAAW,CAAC,sBAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACzF,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,IAAA,mBAAS,EAAC,MAAM,CAAC,CAAC;YACxC,+BAAU,CAAC,MAAM,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YACjD,QAAQ,CAAC,GAAG,EAAE;gBACZ,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;YAC7B,+BAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -8,6 +8,7 @@ const render_runtime_lib_1 = require("@squiz/render-runtime-lib");
8
8
  const dx_logger_lib_1 = require("@squiz/dx-logger-lib");
9
9
  const path_1 = __importDefault(require("path"));
10
10
  const component_lib_1 = require("@squiz/component-lib");
11
+ const open_1 = __importDefault(require("open"));
11
12
  /**
12
13
  * startDevelopmentRender starts a dev-mode render stack for any
13
14
  * local directory. This should start an express server on a random unused port
@@ -40,6 +41,9 @@ function startDevelopmentRender(componentPath, options) {
40
41
  const server = webServer.listen(options.port, () => {
41
42
  logger.info(`Component development webserver started on port ${options.port}`);
42
43
  });
44
+ if ((options === null || options === void 0 ? void 0 : options.noBrowser) !== true) {
45
+ (0, open_1.default)(rootUrl);
46
+ }
43
47
  server.on('close', async () => {
44
48
  await componentRunnerService.stop();
45
49
  });
@@ -1 +1 @@
1
- {"version":3,"file":"component-dev.js","sourceRoot":"","sources":["../src/component-dev.ts"],"names":[],"mappings":";;;;;;AAAA,kEAImC;AACnC,wDAAgE;AAChE,gDAAwB;AACxB,wDAAuH;AAEvH;;;;;;;;GAQG;AACH,SAAgB,sBAAsB,CACpC,aAAqB,EACrB,OAAkE;IAElE,MAAM,MAAM,GAAG,IAAA,yBAAS,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,aAAa,IAAI,OAAO,EAAE,CAAC,CAAC;IAC9F,MAAM,OAAO,GAAG,oBAAoB,OAAO,CAAC,IAAI,EAAE,CAAC;IACnD,MAAM,cAAc,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,CAAC,CAAC;IAElE,MAAM,sBAAsB,GAAG,IAAI,sDAAiC,CAClE;QACE,cAAc;QACd,oBAAoB,EAAE,KAAK;QAC3B,aAAa,EAAE,IAAK;KACrB,EACD,MAAM,CACP,CAAC;IACF,MAAM,wBAAwB,GAAG,IAAI,wCAAwB,CAAC,OAAO,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,IAAA,6CAAwB,EACxC;QACE,MAAM;QACN,sBAAsB;QACtB,wBAAwB;QACxB,uBAAuB,EAAE,IAAI,oDAA+B,CAAC,sBAAsB,EAAE,wBAAwB,EAAE;YAC7G,OAAO;SACR,CAAC;QACF,mBAAmB,EAAE,IAAI,8CAA8B,CAAC,MAAM,CAAC;QAC/D,eAAe,EAAE,IAAI,qCAAqB,CAAC,cAAc,EAAE,MAAM,CAAC;KACnE,EACD,EAAE,OAAO,EAAE,CACZ,CAAC;IAEF,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,IAAI,CAAC,mDAAmD,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QAC5B,MAAM,sBAAsB,CAAC,IAAI,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAxCD,wDAwCC"}
1
+ {"version":3,"file":"component-dev.js","sourceRoot":"","sources":["../src/component-dev.ts"],"names":[],"mappings":";;;;;;AAAA,kEAImC;AACnC,wDAAgE;AAChE,gDAAwB;AACxB,wDAAuH;AACvH,gDAAwB;AAExB;;;;;;;;GAQG;AACH,SAAgB,sBAAsB,CACpC,aAAqB,EACrB,OAAuF;IAEvF,MAAM,MAAM,GAAG,IAAA,yBAAS,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,aAAa,IAAI,OAAO,EAAE,CAAC,CAAC;IAC9F,MAAM,OAAO,GAAG,oBAAoB,OAAO,CAAC,IAAI,EAAE,CAAC;IACnD,MAAM,cAAc,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,CAAC,CAAC;IAElE,MAAM,sBAAsB,GAAG,IAAI,sDAAiC,CAClE;QACE,cAAc;QACd,oBAAoB,EAAE,KAAK;QAC3B,aAAa,EAAE,IAAK;KACrB,EACD,MAAM,CACP,CAAC;IACF,MAAM,wBAAwB,GAAG,IAAI,wCAAwB,CAAC,OAAO,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,IAAA,6CAAwB,EACxC;QACE,MAAM;QACN,sBAAsB;QACtB,wBAAwB;QACxB,uBAAuB,EAAE,IAAI,oDAA+B,CAAC,sBAAsB,EAAE,wBAAwB,EAAE;YAC7G,OAAO;SACR,CAAC;QACF,mBAAmB,EAAE,IAAI,8CAA8B,CAAC,MAAM,CAAC;QAC/D,eAAe,EAAE,IAAI,qCAAqB,CAAC,cAAc,EAAE,MAAM,CAAC;KACnE,EACD,EAAE,OAAO,EAAE,CACZ,CAAC;IAEF,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,IAAI,CAAC,mDAAmD,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,MAAK,IAAI,EAAE;QAC/B,IAAA,cAAI,EAAC,OAAO,CAAC,CAAC;KACf;IAED,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QAC5B,MAAM,sBAAsB,CAAC,IAAI,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AA5CD,wDA4CC"}
@@ -1,4 +1,4 @@
1
- import { ComponentSetWebModel } from '@squiz/component-lib';
1
+ import { ComponentSetWebModelForCreate } from '@squiz/component-lib';
2
2
  import { ContentApi } from '@squiz/component-web-api-lib';
3
3
  interface Config {
4
4
  managementServiceUrl: string;
@@ -19,6 +19,6 @@ export declare function getTestComponents(): string[];
19
19
  export declare function createFile(filePath: string, sizeInMB: number): Promise<void>;
20
20
  export declare function removeFile(filePath: string): void;
21
21
  export declare function deleteComponentSet(webPath: string): Promise<void>;
22
- export declare function addComponentSet(componentSet: ComponentSetWebModel): Promise<void>;
22
+ export declare function addComponentSet(componentSet: ComponentSetWebModelForCreate): Promise<void>;
23
23
  export declare function addContentItem(contentItem: ContentApi.ContentItemWebModel): Promise<void>;
24
24
  export declare function deleteContentItem(contentItemId: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../src/integration-tests/helper.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,4CAAoB;AACpB,gDAAwB;AAExB,2DAA8B;AAC9B,mCAAqC;AAErC,wDAAyD;AAEzD,mCAAgC;AAEhC,IAAA,eAAM,GAAE,CAAC;AAUT,MAAM,SAAS,GAAW;IACxB,oBAAoB,EAAE,IAAA,iCAAiB,EAAC,kCAAkC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAC/F,gBAAgB,EAAE,IAAA,iCAAiB,EAAC,8BAA8B,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IACvF,iBAAiB,EAAE,IAAA,iCAAiB,EAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAC3E,eAAe,EAAE,IAAA,iCAAiB,EAAC,qBAAqB,CAAC;IACzD,cAAc,EAAE,IAAA,iCAAiB,EAAC,oBAAoB,CAAC;CACxD,CAAC;AAEF,kBAAe,SAAS,CAAC;AAEZ,QAAA,iBAAiB,GAAG,eAAK,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,SAAS,CAAC,oBAAoB,GAAG,KAAK;CAChD,CAAC,CAAC;AAEU,QAAA,qBAAqB,GAAG,eAAK,CAAC,MAAM,CAAC;IAChD,OAAO,EAAE,SAAS,CAAC,oBAAoB;CACxC,CAAC,CAAC;AAEU,QAAA,aAAa,GAAG,eAAK,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,SAAS,CAAC,gBAAgB;CACpC,CAAC,CAAC;AAEU,QAAA,cAAc,GAAG,eAAK,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,SAAS,CAAC,iBAAiB;CACrC,CAAC,CAAC;AAEU,QAAA,eAAe,GAAG,SAAS,CAAC,eAAe,CAAC;AAC5C,QAAA,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC;AAEvD,SAAgB,iBAAiB;IAC/B,MAAM,SAAS,GAAG,EAAE,CAAC;IACrB,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,YAAE,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,MAAM,IAAI,GAAG,YAAE,CAAC,QAAQ,CAAC,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,EAAE;YACzD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACtB;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAXD,8CAWC;AACM,KAAK,UAAU,UAAU,CAAC,QAAgB,EAAE,QAAgB;IACjE,MAAM,OAAO,GAAG,IAAA,oBAAW,EAAC,QAAQ,GAAG,OAAO,CAAC,CAAC;IAChD,MAAM,kBAAG,CAAC,SAAS,CAAC,GAAG,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAHD,gCAGC;AAED,SAAgB,UAAU,CAAC,QAAgB;IACzC,kBAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACvB,CAAC;AAFD,gCAEC;AAEM,KAAK,UAAU,kBAAkB,CAAC,OAAe;IACtD,IAAI;QACF,MAAM,yBAAiB,CAAC,MAAM,CAAC,kBAAkB,OAAO,EAAE,CAAC,CAAC;KAC7D;IAAC,OAAO,KAAK,EAAE;QACd,SAAS;KACV;AACH,CAAC;AAND,gDAMC;AAEM,KAAK,UAAU,eAAe,CAAC,YAAkC;IACtE,IAAI;QACF,MAAM,yBAAiB,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;KAC9D;IAAC,OAAO,KAAK,EAAE;QACd,QAAQ;KACT;AACH,CAAC;AAND,0CAMC;AAEM,KAAK,UAAU,cAAc,CAAC,WAA2C;IAC9E,IAAI;QACF,MAAM,sBAAc,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;KACzD;IAAC,OAAO,KAAK,EAAE;QACd,QAAQ;KACT;AACH,CAAC;AAND,wCAMC;AAEM,KAAK,UAAU,iBAAiB,CAAC,aAAqB;IAC3D,IAAI;QACF,MAAM,sBAAc,CAAC,MAAM,CAAC,iBAAiB,aAAa,EAAE,CAAC,CAAC;KAC/D;IAAC,OAAO,KAAK,EAAE;QACd,QAAQ;KACT;AACH,CAAC;AAND,8CAMC"}
1
+ {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../src/integration-tests/helper.ts"],"names":[],"mappings":"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"}
@@ -37,139 +37,147 @@ const crypto_1 = require("crypto");
37
37
  const mockConsoleError = jest.fn();
38
38
  const mockConsoleLog = jest.fn();
39
39
  const orgConsoleError = console.error;
40
- const webPath = 'set';
40
+ const webPath = 'set-' + (0, crypto_1.randomUUID)();
41
41
  const contentItemId = (0, crypto_1.randomUUID)();
42
42
  const testFilesDir = path_1.default.resolve(__dirname, 'test-files');
43
- beforeAll(async () => {
44
- await promises_1.default.rm(testFilesDir, { force: true, recursive: true });
45
- await promises_1.default.mkdir(testFilesDir);
46
- });
47
- afterAll(async () => {
48
- // clean up the component added by the test
49
- await (0, helper_1.deleteComponentSet)(webPath);
50
- await (0, helper_1.deleteContentItem)(contentItemId);
51
- for (const componentName of (0, helper_1.getTestComponents)()) {
52
- try {
53
- await helper_1.managementService.delete(`/component/smoke-test-components/${componentName}`);
54
- }
55
- catch {
56
- // no op
57
- }
58
- }
59
- // clean up the test componnet files
60
- await promises_1.default.rm(testFilesDir, { force: true, recursive: true });
61
- });
62
- describe('Test isolated test cases', () => {
63
- beforeEach(() => {
64
- jest.spyOn(upload_component_folder_1.logger, 'error').mockImplementation(mockConsoleError);
65
- jest.spyOn(upload_component_folder_1.logger, 'info').mockImplementation(mockConsoleLog);
66
- });
67
- it('Should fail uploading a component without manifest.json', async () => {
68
- mockConsoleError.mockClear();
69
- const componentPath = path_1.default.join(__dirname, '/__components__/invalid-upload');
70
- await (0, index_1.uploadComponentFolder)(componentPath, helper_1.default.managementServiceUrl + '/v1', helper_1.default.renderServiceUrl, testFilesDir);
71
- expect(mockConsoleError.mock.calls[0][0]).toEqual(cli_color_1.default.red('manifest could not be found'));
72
- });
73
- it('Should fail uploading a component that has invalid manifest.json', async () => {
74
- mockConsoleError.mockClear();
75
- const componentPath = path_1.default.join(__dirname, '/__components__/invalid-manifest');
76
- await (0, index_1.uploadComponentFolder)(componentPath, helper_1.default.managementServiceUrl + '/v1', helper_1.default.renderServiceUrl, testFilesDir);
77
- expect(mockConsoleError.mock.calls[0][0]).toEqual(cli_color_1.default.red('failed validation: /name pattern must match pattern "^[a-zA-Z0-9_\\-]+$"'));
78
- });
79
- it('Should fail uploading the component that has size more than 100MB', async () => {
80
- mockConsoleError.mockClear();
81
- const componentPath = path_1.default.join(__dirname, '/__components__/big-package');
82
- const filePath = `${componentPath}/105mb-file`;
83
- await (0, helper_1.createFile)(filePath, 105); // Higher limit has been used because compression reduces the size if you use closer to 100MB
84
- await (0, index_1.uploadComponentFolder)(componentPath, helper_1.default.managementServiceUrl + '/v1', helper_1.default.renderServiceUrl, testFilesDir);
85
- expect(mockConsoleError.mock.calls[0][0]).toEqual(cli_color_1.default.red(['File size exceeds the maximum limit of 100MB'].join('')));
86
- (0, helper_1.removeFile)(filePath);
87
- });
88
- });
89
- describe('Deploy basic component having a static file', () => {
90
- // component to deploy for this test
91
- const componentPath = path_1.default.join(__dirname, '/__components__/cmp-static-file-test');
43
+ describe('uploading a component', () => {
92
44
  beforeAll(async () => {
45
+ await promises_1.default.rm(testFilesDir, { force: true, recursive: true });
46
+ await promises_1.default.mkdir(testFilesDir);
47
+ });
48
+ afterAll(async () => {
49
+ // clean up the component added by the test
93
50
  await (0, helper_1.deleteComponentSet)(webPath);
94
51
  await (0, helper_1.deleteContentItem)(contentItemId);
95
52
  for (const componentName of (0, helper_1.getTestComponents)()) {
96
53
  try {
97
- await helper_1.managementService.delete(`/component/${componentName}`);
54
+ await helper_1.managementService.delete(`/component/smoke-test-components/${componentName}`);
98
55
  }
99
56
  catch {
100
57
  // no op
101
58
  }
102
59
  }
60
+ // clean up the test componnet files
61
+ await promises_1.default.rm(testFilesDir, { force: true, recursive: true });
103
62
  });
104
- beforeEach(() => {
105
- console.error = mockConsoleError;
106
- console.log = mockConsoleLog;
107
- });
108
- afterEach(() => {
109
- console.error = orgConsoleError;
110
- });
111
- it('Should upload the component and return a valid url to preview', async () => {
112
- var _a;
113
- await (0, index_1.uploadComponentFolder)(componentPath, helper_1.default.managementServiceUrl + '/v1', helper_1.default.renderServiceUrl, testFilesDir);
114
- const uploadedComponent = '<a href="/preview/smoke-test-components/cmp-static-file-test/1.0.0">1.0.0</a>';
115
- const get = await (0, supertest_1.default)(helper_1.default.renderServiceUrl).get('/');
116
- expect(get.status).toEqual(200);
117
- expect((_a = get === null || get === void 0 ? void 0 : get.res) === null || _a === void 0 ? void 0 : _a.text).toContain(uploadedComponent);
118
- });
119
- it('Should fail upload the component with same version', async () => {
120
- mockConsoleError.mockClear();
121
- await (0, index_1.uploadComponentFolder)(componentPath, helper_1.default.managementServiceUrl + '/v1', helper_1.default.renderServiceUrl, testFilesDir);
122
- expect(mockConsoleError.mock.calls[0][0]).toEqual(cli_color_1.default.red('Cannot upload component version, smoke-test-components/cmp-static-file-test 1.0.0 already exists'));
123
- });
124
- it('Should render component', async () => {
125
- const componentSet = {
126
- webPath,
127
- displayName: 'Set',
128
- description: 'Set description',
129
- headers: {},
130
- environmentVariables: {},
131
- components: {
132
- 'smoke-test-components/cmp-static-file-test': [{ environmentVariables: {}, version: '1.0.0' }],
133
- },
134
- componentVersionRules: {},
135
- };
136
- await (0, helper_1.addComponentSet)(componentSet);
137
- const response = await helper_1.renderService.get('/r/set/smoke-test-components/cmp-static-file-test/1.0.0/?something=hello');
138
- expect(response.status).toEqual(200);
139
- expect(response.data).toEqual([
140
- '<div>Input: hello</div>',
141
- '<div>smoke-test-components/cmp-static-file-test 1.0.0 ',
142
- `${helper_1.default.renderServiceUrl}/s/set/smoke-test-components/cmp-static-file-test/1.0.0/birthday-cake.png</div>`,
143
- ].join(''));
63
+ describe('Test isolated test cases', () => {
64
+ beforeEach(() => {
65
+ jest.spyOn(upload_component_folder_1.logger, 'error').mockImplementation(mockConsoleError);
66
+ jest.spyOn(upload_component_folder_1.logger, 'info').mockImplementation(mockConsoleLog);
67
+ });
68
+ it('Should fail uploading a component without manifest.json', async () => {
69
+ mockConsoleError.mockClear();
70
+ const componentPath = path_1.default.join(__dirname, '/__components__/invalid-upload');
71
+ await (0, index_1.uploadComponentFolder)(componentPath, helper_1.default.managementServiceUrl + '/v1', helper_1.default.renderServiceUrl, testFilesDir);
72
+ expect(mockConsoleError.mock.calls[0][0]).toEqual(cli_color_1.default.red('manifest could not be found'));
73
+ });
74
+ it('Should fail uploading a component that has invalid manifest.json', async () => {
75
+ mockConsoleError.mockClear();
76
+ const componentPath = path_1.default.join(__dirname, '/__components__/invalid-manifest');
77
+ await (0, index_1.uploadComponentFolder)(componentPath, helper_1.default.managementServiceUrl + '/v1', helper_1.default.renderServiceUrl, testFilesDir);
78
+ expect(mockConsoleError.mock.calls[0][0]).toEqual(cli_color_1.default.red('failed validation: /name pattern must match pattern "^[a-zA-Z0-9_\\-]+$"'));
79
+ });
80
+ it('Should fail uploading the component that has size more than 100MB', async () => {
81
+ mockConsoleError.mockClear();
82
+ const componentPath = path_1.default.join(__dirname, '/__components__/big-package');
83
+ const filePath = `${componentPath}/105mb-file`;
84
+ await (0, helper_1.createFile)(filePath, 105); // Higher limit has been used because compression reduces the size if you use closer to 100MB
85
+ await (0, index_1.uploadComponentFolder)(componentPath, helper_1.default.managementServiceUrl + '/v1', helper_1.default.renderServiceUrl, testFilesDir);
86
+ expect(mockConsoleError.mock.calls[0][0]).toEqual(cli_color_1.default.red(['File size exceeds the maximum limit of 100MB'].join('')));
87
+ (0, helper_1.removeFile)(filePath);
88
+ });
144
89
  });
145
- it('Should render component with content item ID input', async () => {
146
- const componentSet = {
147
- webPath,
148
- displayName: 'Set',
149
- description: 'Set description',
150
- headers: {},
151
- environmentVariables: {},
152
- components: {
153
- 'smoke-test-components/cmp-static-file-test': [{ environmentVariables: {}, version: '1.0.0' }],
154
- },
155
- componentVersionRules: {},
156
- };
157
- await (0, helper_1.addComponentSet)(componentSet);
158
- // add a component item for the test
159
- await (0, helper_1.addContentItem)({
160
- id: contentItemId,
161
- schemaName: 'smoke-test-components/cmp-static-file-test/1.0.0/main',
162
- content: {
163
- something: 'from-content-item-service',
164
- },
90
+ describe('Deploy basic component having a static file', () => {
91
+ // component to deploy for this test
92
+ const componentPath = path_1.default.join(__dirname, '/__components__/cmp-static-file-test');
93
+ beforeAll(async () => {
94
+ await (0, helper_1.deleteComponentSet)(webPath);
95
+ await (0, helper_1.deleteContentItem)(contentItemId);
96
+ for (const componentName of (0, helper_1.getTestComponents)()) {
97
+ try {
98
+ await helper_1.managementService.delete(`/component/${componentName}`);
99
+ }
100
+ catch {
101
+ // no op
102
+ }
103
+ }
104
+ });
105
+ beforeEach(() => {
106
+ console.error = mockConsoleError;
107
+ console.log = mockConsoleLog;
108
+ });
109
+ afterEach(() => {
110
+ console.error = orgConsoleError;
111
+ });
112
+ it('Should upload the component and return a valid url to preview', async () => {
113
+ var _a;
114
+ await (0, index_1.uploadComponentFolder)(componentPath, helper_1.default.managementServiceUrl + '/v1', helper_1.default.renderServiceUrl, testFilesDir);
115
+ const uploadedComponent = '<a href="/preview/smoke-test-components/cmp-static-file-test/1.0.0">1.0.0</a>';
116
+ const get = await (0, supertest_1.default)(helper_1.default.renderServiceUrl).get('/');
117
+ expect(get.status).toEqual(200);
118
+ expect((_a = get === null || get === void 0 ? void 0 : get.res) === null || _a === void 0 ? void 0 : _a.text).toContain(uploadedComponent);
119
+ });
120
+ it('Should fail upload the component with same version', async () => {
121
+ mockConsoleError.mockClear();
122
+ await (0, index_1.uploadComponentFolder)(componentPath, helper_1.default.managementServiceUrl + '/v1', helper_1.default.renderServiceUrl, testFilesDir);
123
+ expect(mockConsoleError.mock.calls[0][0]).toEqual(cli_color_1.default.red('Cannot upload component version, smoke-test-components/cmp-static-file-test 1.0.0 already exists'));
124
+ });
125
+ it('Should render component', async () => {
126
+ const componentSet = {
127
+ webPath,
128
+ displayName: 'some-display-name',
129
+ description: 'Set description',
130
+ headers: {},
131
+ environmentVariables: {},
132
+ components: {
133
+ 'smoke-test-components/cmp-static-file-test': [
134
+ {
135
+ environmentVariables: {},
136
+ version: '1.0.0',
137
+ },
138
+ ],
139
+ },
140
+ componentVersionRules: {},
141
+ };
142
+ await (0, helper_1.addComponentSet)(componentSet);
143
+ const response = await helper_1.renderService.get(`/r/${webPath}/smoke-test-components/cmp-static-file-test/1.0.0/?something=hello`);
144
+ expect(response.status).toEqual(200);
145
+ expect(response.data).toEqual([
146
+ '<div>Input: hello</div>',
147
+ '<div>smoke-test-components/cmp-static-file-test 1.0.0 ',
148
+ `${helper_1.default.renderServiceUrl}/s/${webPath}/smoke-test-components/cmp-static-file-test/1.0.0/birthday-cake.png</div>`,
149
+ ].join(''));
150
+ });
151
+ it('Should render component with content item ID input', async () => {
152
+ const componentSet = {
153
+ webPath,
154
+ displayName: 'some-display-name',
155
+ description: 'Set description',
156
+ headers: {},
157
+ environmentVariables: {},
158
+ components: {
159
+ 'smoke-test-components/cmp-static-file-test': [{ environmentVariables: {}, version: '1.0.0' }],
160
+ },
161
+ componentVersionRules: {},
162
+ };
163
+ await (0, helper_1.addComponentSet)(componentSet);
164
+ // add a component item for the test
165
+ await (0, helper_1.addContentItem)({
166
+ id: contentItemId,
167
+ schemaName: 'smoke-test-components/cmp-static-file-test/1.0.0/main',
168
+ content: {
169
+ something: 'from-content-item-service',
170
+ },
171
+ });
172
+ console.log(`/r/${webPath}/smoke-test-components/cmp-static-file-test/1.0.0/?_contentItemId=` + contentItemId);
173
+ const response = await helper_1.renderService.get(`/r/${webPath}/smoke-test-components/cmp-static-file-test/1.0.0/?_contentItemId=` + contentItemId);
174
+ expect(response.status).toEqual(200);
175
+ expect(response.data).toEqual([
176
+ '<div>Input: from-content-item-service</div>',
177
+ '<div>smoke-test-components/cmp-static-file-test 1.0.0 ',
178
+ `${helper_1.default.renderServiceUrl}/s/${webPath}/smoke-test-components/cmp-static-file-test/1.0.0/birthday-cake.png</div>`,
179
+ ].join(''));
165
180
  });
166
- const response = await helper_1.renderService.get('/r/set/smoke-test-components/cmp-static-file-test/1.0.0/?_contentItemId=' + contentItemId);
167
- expect(response.status).toEqual(200);
168
- expect(response.data).toEqual([
169
- '<div>Input: from-content-item-service</div>',
170
- '<div>smoke-test-components/cmp-static-file-test 1.0.0 ',
171
- `${helper_1.default.renderServiceUrl}/s/set/smoke-test-components/cmp-static-file-test/1.0.0/birthday-cake.png</div>`,
172
- ].join(''));
173
181
  });
174
182
  });
175
183
  //# sourceMappingURL=upload-and-render-component.integration.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"upload-and-render-component.integration.spec.js","sourceRoot":"","sources":["../../src/integration-tests/upload-and-render-component.integration.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upload-and-render-component.integration.spec.js","sourceRoot":"","sources":["../../src/integration-tests/upload-and-render-component.integration.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@squiz/component-cli-lib",
3
- "version": "1.2.10",
3
+ "version": "1.2.11",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -27,16 +27,17 @@
27
27
  "typescript": "4.7.4"
28
28
  },
29
29
  "dependencies": {
30
- "@squiz/component-lib": "1.2.10",
31
- "@squiz/component-web-api-lib": "1.2.10",
32
- "@squiz/dx-common-lib": "1.2.10",
33
- "@squiz/dx-logger-lib": "1.2.10",
34
- "@squiz/render-runtime-lib": "1.2.10",
35
- "@squiz/virus-scanner-lib": "^1.2.2",
30
+ "@squiz/component-lib": "1.2.11",
31
+ "@squiz/component-web-api-lib": "1.2.11",
32
+ "@squiz/dx-common-lib": "1.2.11",
33
+ "@squiz/dx-logger-lib": "1.2.11",
34
+ "@squiz/render-runtime-lib": "1.2.11",
35
+ "@squiz/virus-scanner-lib": "1.2.11",
36
36
  "archiver": "5.3.1",
37
37
  "axios": "0.27.2",
38
38
  "cli-color": "^2.0.2",
39
+ "open": "^8.4.0",
39
40
  "supertest": "^6.2.3"
40
41
  },
41
- "gitHead": "a245165ef36e9b72faece39b0ad8f2182fa310b3"
42
+ "gitHead": "518ba2388f1f52bb5e457d54885b61feee0b4744"
42
43
  }
@@ -66,4 +66,20 @@ describe('component-dev', () => {
66
66
  expect(response.text).toEqual('hello');
67
67
  });
68
68
  });
69
+
70
+ describe('It should pass a simple test and not launch the browser if the -nb flag is present', () => {
71
+ let server: Server;
72
+ let request: supertest.SuperTest<supertest.Test>;
73
+ beforeAll(async () => {
74
+ server = startDevelopmentRender(TestHelpers.getTestComponentFolder(), { port: 0, noBrowser: true });
75
+ request = supertest(server);
76
+ });
77
+ afterAll(async () => {
78
+ server.close();
79
+ });
80
+ it('should find the component', async () => {
81
+ const response = await request.get(`/r/set/unit-test-components/test-component/1.0.0?something=hello`);
82
+ expect(response.text).toEqual('<div>hello - {"something":"hello"}</div>');
83
+ });
84
+ });
69
85
  });
@@ -9,6 +9,7 @@ describe('component-dev', () => {
9
9
  describe('accessing local dev routes', () => {
10
10
  let server: Server;
11
11
  let request: supertest.SuperTest<supertest.Test>;
12
+
12
13
  beforeAll(async () => {
13
14
  server = startDevelopmentRender(TestHelpers.getTestComponentFolder(), { port: 0 });
14
15
  request = supertest(server);
@@ -6,6 +6,7 @@ import {
6
6
  import { getLogger, LoggerOptions } from '@squiz/dx-logger-lib';
7
7
  import path from 'path';
8
8
  import { ComponentFunctionService, ComponentSetServiceForLocalDev, ManifestServiceForDev } from '@squiz/component-lib';
9
+ import open from 'open';
9
10
 
10
11
  /**
11
12
  * startDevelopmentRender starts a dev-mode render stack for any
@@ -18,7 +19,7 @@ import { ComponentFunctionService, ComponentSetServiceForLocalDev, ManifestServi
18
19
  */
19
20
  export function startDevelopmentRender(
20
21
  componentPath: string,
21
- options: { port: number; loggingFormat?: LoggerOptions['format'] },
22
+ options: { port: number; loggingFormat?: LoggerOptions['format']; noBrowser?: boolean },
22
23
  ) {
23
24
  const logger = getLogger({ name: 'component-dev', format: options.loggingFormat || 'human' });
24
25
  const rootUrl = `http://localhost:${options.port}`;
@@ -51,6 +52,10 @@ export function startDevelopmentRender(
51
52
  logger.info(`Component development webserver started on port ${options.port}`);
52
53
  });
53
54
 
55
+ if (options?.noBrowser !== true) {
56
+ open(rootUrl);
57
+ }
58
+
54
59
  server.on('close', async () => {
55
60
  await componentRunnerService.stop();
56
61
  });
@@ -4,7 +4,7 @@ import path from 'path';
4
4
 
5
5
  import fsp from 'fs/promises';
6
6
  import { randomBytes } from 'crypto';
7
- import { ComponentSetWebModel } from '@squiz/component-lib';
7
+ import { ComponentSetWebModelForCreate } from '@squiz/component-lib';
8
8
  import { parseEnvVarForVar } from '@squiz/dx-common-lib';
9
9
  import { ContentApi } from '@squiz/component-web-api-lib';
10
10
  import { config } from 'dotenv';
@@ -77,7 +77,7 @@ export async function deleteComponentSet(webPath: string) {
77
77
  }
78
78
  }
79
79
 
80
- export async function addComponentSet(componentSet: ComponentSetWebModel) {
80
+ export async function addComponentSet(componentSet: ComponentSetWebModelForCreate) {
81
81
  try {
82
82
  await managementService.post(`/component-set`, componentSet);
83
83
  } catch (error) {