@loopback/testlab 1.7.5 → 1.8.0

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,17 @@
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.8.0](https://github.com/strongloop/loopback-next/compare/@loopback/testlab@1.7.5...@loopback/testlab@1.8.0) (2019-09-06)
7
+
8
+
9
+ ### Features
10
+
11
+ * **testlab:** add TestLab.writeJsonFile ([baa993b](https://github.com/strongloop/loopback-next/commit/baa993b))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [1.7.5](https://github.com/strongloop/loopback-next/compare/@loopback/testlab@1.7.4...@loopback/testlab@1.7.5) (2019-09-03)
7
18
 
8
19
 
@@ -41,4 +41,11 @@ export declare class TestSandbox {
41
41
  * (relative to TestSandbox). Original filename used if not specified.
42
42
  */
43
43
  copyFile(src: string, dest?: string): Promise<void>;
44
+ /**
45
+ * Creates a new file and writes the given data serialized as JSON.
46
+ *
47
+ * @param dest - Destination filename, optionally including a relative path.
48
+ * @param data - The data to write.
49
+ */
50
+ writeJsonFile(dest: string, data: unknown): Promise<void>;
44
51
  }
@@ -4,8 +4,8 @@
4
4
  // This file is licensed under the MIT License.
5
5
  // License text available at https://opensource.org/licenses/MIT
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- const path_1 = require("path");
8
7
  const fs_extra_1 = require("fs-extra");
8
+ const path_1 = require("path");
9
9
  /**
10
10
  * TestSandbox class provides a convenient way to get a reference to a
11
11
  * sandbox folder in which you can perform operations for testing purposes.
@@ -83,6 +83,18 @@ class TestSandbox {
83
83
  await fs_extra_1.appendFile(dest, `\n//# sourceMappingURL=${srcMap}`);
84
84
  }
85
85
  }
86
+ /**
87
+ * Creates a new file and writes the given data serialized as JSON.
88
+ *
89
+ * @param dest - Destination filename, optionally including a relative path.
90
+ * @param data - The data to write.
91
+ */
92
+ async writeJsonFile(dest, data) {
93
+ dest = path_1.resolve(this.path, dest);
94
+ const destDir = path_1.parse(dest).dir;
95
+ await fs_extra_1.ensureDir(destDir);
96
+ return fs_extra_1.writeJson(dest, data, { spaces: 2 });
97
+ }
86
98
  }
87
99
  exports.TestSandbox = TestSandbox;
88
100
  //# sourceMappingURL=test-sandbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"test-sandbox.js","sourceRoot":"","sources":["../src/test-sandbox.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,iCAAiC;AACjC,+CAA+C;AAC/C,gEAAgE;;AAEhE,+BAAoC;AACpC,uCAQkB;AAElB;;;GAGG;AACH,MAAa,WAAW;IAatB;;;;;OAKG;IACH,YAAY,IAAY;QACtB,2EAA2E;QAC3E,IAAI,CAAC,KAAK,GAAG,cAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,wBAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAnBD,IAAW,IAAI;QACb,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,MAAM,IAAI,KAAK,CACb,0DAA0D,CAC3D,CAAC;SACH;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAcD;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,4EAA4E;QAC5E,uEAAuE;QACvE,wCAAwC;QACxC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE;YAC/B,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC7B,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAC3B;SACF;QAED,MAAM,mBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,MAAM,iBAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK,CAAC,GAAW;QACrB,MAAM,oBAAS,CAAC,cAAO,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,QAAQ,CAAC,GAAW,EAAE,IAAa;QACvC,IAAI,GAAG,IAAI;YACT,CAAC,CAAC,cAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;YAC1B,CAAC,CAAC,cAAO,CAAC,IAAI,CAAC,IAAI,EAAE,YAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QAExC,MAAM,eAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAEtB,IAAI,YAAK,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,qBAAU,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE;YACxD,MAAM,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC;YAC5B,MAAM,qBAAU,CAAC,IAAI,EAAE,0BAA0B,MAAM,EAAE,CAAC,CAAC;SAC5D;IACH,CAAC;CACF;AAvFD,kCAuFC"}
1
+ {"version":3,"file":"test-sandbox.js","sourceRoot":"","sources":["../src/test-sandbox.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,iCAAiC;AACjC,+CAA+C;AAC/C,gEAAgE;;AAEhE,uCASkB;AAClB,+BAAoC;AAEpC;;;GAGG;AACH,MAAa,WAAW;IAatB;;;;;OAKG;IACH,YAAY,IAAY;QACtB,2EAA2E;QAC3E,IAAI,CAAC,KAAK,GAAG,cAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,wBAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAnBD,IAAW,IAAI;QACb,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,MAAM,IAAI,KAAK,CACb,0DAA0D,CAC3D,CAAC;SACH;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAcD;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,4EAA4E;QAC5E,uEAAuE;QACvE,wCAAwC;QACxC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE;YAC/B,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC7B,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAC3B;SACF;QAED,MAAM,mBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,MAAM,iBAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK,CAAC,GAAW;QACrB,MAAM,oBAAS,CAAC,cAAO,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,QAAQ,CAAC,GAAW,EAAE,IAAa;QACvC,IAAI,GAAG,IAAI;YACT,CAAC,CAAC,cAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;YAC1B,CAAC,CAAC,cAAO,CAAC,IAAI,CAAC,IAAI,EAAE,YAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QAExC,MAAM,eAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAEtB,IAAI,YAAK,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,qBAAU,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE;YACxD,MAAM,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC;YAC5B,MAAM,qBAAU,CAAC,IAAI,EAAE,0BAA0B,MAAM,EAAE,CAAC,CAAC;SAC5D;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CAAC,IAAY,EAAE,IAAa;QAC7C,IAAI,GAAG,cAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,YAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;QAChC,MAAM,oBAAS,CAAC,OAAO,CAAC,CAAC;QACzB,OAAO,oBAAS,CAAC,IAAI,EAAE,IAAI,EAAE,EAAC,MAAM,EAAE,CAAC,EAAC,CAAC,CAAC;IAC5C,CAAC;CACF;AApGD,kCAoGC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loopback/testlab",
3
- "version": "1.7.5",
3
+ "version": "1.8.0",
4
4
  "description": "A collection of test utilities we use to write LoopBack tests.",
5
5
  "engines": {
6
6
  "node": ">=8.9"
@@ -30,7 +30,7 @@
30
30
  "supertest": "^4.0.2"
31
31
  },
32
32
  "devDependencies": {
33
- "@loopback/build": "^2.0.9",
33
+ "@loopback/build": "^2.0.10",
34
34
  "@loopback/eslint-config": "^4.0.2",
35
35
  "@types/node": "^10.14.17"
36
36
  },
@@ -49,5 +49,5 @@
49
49
  "url": "https://github.com/strongloop/loopback-next.git",
50
50
  "directory": "packages/testlab"
51
51
  },
52
- "gitHead": "2cc8fa9318b1592845fa251fdd28d7f3225a70c0"
52
+ "gitHead": "4e653bbff797b26437bd1b0817ed9b8c91f3477b"
53
53
  }
@@ -3,16 +3,17 @@
3
3
  // This file is licensed under the MIT License.
4
4
  // License text available at https://opensource.org/licenses/MIT
5
5
 
6
- import {resolve, parse} from 'path';
7
6
  import {
7
+ appendFile,
8
8
  copy,
9
- ensureDirSync,
10
9
  emptyDir,
11
- remove,
12
10
  ensureDir,
11
+ ensureDirSync,
13
12
  pathExists,
14
- appendFile,
13
+ remove,
14
+ writeJson,
15
15
  } from 'fs-extra';
16
+ import {parse, resolve} from 'path';
16
17
 
17
18
  /**
18
19
  * TestSandbox class provides a convenient way to get a reference to a
@@ -105,4 +106,17 @@ export class TestSandbox {
105
106
  await appendFile(dest, `\n//# sourceMappingURL=${srcMap}`);
106
107
  }
107
108
  }
109
+
110
+ /**
111
+ * Creates a new file and writes the given data serialized as JSON.
112
+ *
113
+ * @param dest - Destination filename, optionally including a relative path.
114
+ * @param data - The data to write.
115
+ */
116
+ async writeJsonFile(dest: string, data: unknown): Promise<void> {
117
+ dest = resolve(this.path, dest);
118
+ const destDir = parse(dest).dir;
119
+ await ensureDir(destDir);
120
+ return writeJson(dest, data, {spaces: 2});
121
+ }
108
122
  }