@electron-forge/maker-base 6.0.0-beta.9 → 6.0.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/dist/Maker.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { ForgeArch, ForgeConfig, ForgePlatform } from '@electron-forge/shared-types';
1
+ import { ForgeArch, ForgePlatform, IForgeMaker, ResolvedForgeConfig } from '@electron-forge/shared-types';
2
+ export declare type EmptyConfig = Record<string, never>;
2
3
  export interface MakerOptions {
3
4
  /**
4
5
  * The directory containing the packaged Electron application
@@ -24,20 +25,28 @@ export interface MakerOptions {
24
25
  /**
25
26
  * Fully resolved forge configuration, you shouldn't really need this
26
27
  */
27
- forgeConfig: ForgeConfig;
28
+ forgeConfig: ResolvedForgeConfig;
28
29
  /**
29
- * The applications package.json file
30
+ * The application's package.json file
30
31
  */
31
32
  packageJSON: any;
32
33
  }
33
- export default abstract class Maker<C> {
34
+ export default abstract class Maker<C> implements IForgeMaker {
35
+ private configOrConfigFetcher;
36
+ protected platformsToMakeOn?: string[] | undefined;
34
37
  config: C;
35
- protected providedPlatforms: ForgePlatform[] | undefined;
36
38
  abstract name: string;
37
39
  abstract defaultPlatforms: ForgePlatform[];
40
+ requiredExternalBinaries: string[];
41
+ /** @internal */
38
42
  __isElectronForgeMaker: true;
39
- constructor(config?: C, providedPlatforms?: ForgePlatform[] | undefined);
40
- readonly platforms: ForgePlatform[];
43
+ /**
44
+ * @param configOrConfigFetcher - Either a configuration object for this maker or a simple method that returns such a configuration for a given target architecture
45
+ * @param platformsToMakeOn - If you want this maker to run on platforms different from `defaultPlatforms` you can provide those platforms here
46
+ */
47
+ constructor(configOrConfigFetcher?: C | ((arch: ForgeArch) => C), platformsToMakeOn?: string[] | undefined);
48
+ get platforms(): ForgePlatform[];
49
+ prepareConfig(targetArch: ForgeArch): void;
41
50
  /**
42
51
  * Makers must implement this method and return true or false indicating whether
43
52
  * this maker can be run on the current platform. Normally this is just a process.platform
@@ -69,9 +78,24 @@ export default abstract class Maker<C> {
69
78
  * I.e. If the file already exists it is deleted and the path created
70
79
  */
71
80
  ensureFile(file: string): Promise<void>;
81
+ /**
82
+ * Checks if the specified binaries exist, which are required for the maker to be used.
83
+ */
84
+ externalBinariesExist(): boolean;
85
+ /**
86
+ * Throws an error if any of the binaries don't exist.
87
+ */
88
+ ensureExternalBinariesExist(): void;
72
89
  /**
73
90
  * Checks if the given module is installed, used for testing if optional dependencies
74
91
  * are installed or not
75
92
  */
76
93
  isInstalled(module: string): boolean;
94
+ /**
95
+ * Normalize the given semver-formatted version to a 4-part dot delimited version number without
96
+ * prerelease information for use in Windows apps.
97
+ */
98
+ normalizeWindowsVersion(version: string): string;
77
99
  }
100
+ export { Maker as MakerBase };
101
+ //# sourceMappingURL=Maker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Maker.d.ts","sourceRoot":"","sources":["../src/Maker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAI1G,oBAAY,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAEhD,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,cAAc,EAAE,aAAa,CAAC;IAC9B;;OAEG;IACH,UAAU,EAAE,SAAS,CAAC;IACtB;;OAEG;IACH,WAAW,EAAE,mBAAmB,CAAC;IACjC;;OAEG;IACH,WAAW,EAAE,GAAG,CAAC;CAClB;AAED,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,KAAK,CAAC,CAAC,CAAE,YAAW,WAAW;IAgB/C,OAAO,CAAC,qBAAqB;IAA0C,SAAS,CAAC,iBAAiB,CAAC;IAfxG,MAAM,EAAG,CAAC,CAAC;IAElB,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B,SAAgB,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAE3C,wBAAwB,EAAE,MAAM,EAAE,CAAM;IAE/C,gBAAgB;IAChB,sBAAsB,EAAG,IAAI,CAAC;IAE9B;;;OAGG;gBACiB,qBAAqB,GAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,KAAK,CAAC,CAAW,EAAY,iBAAiB,CAAC,sBAAiB;IAQhI,IAAI,SAAS,IAAI,aAAa,EAAE,CAG/B;IAID,aAAa,CAAC,UAAU,EAAE,SAAS,GAAG,IAAI;IAQ1C;;;;;;;;OAQG;IACH,4BAA4B,IAAI,OAAO;IAOvC;;;OAGG;IAEG,IAAI,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAOjD;;OAEG;IAEH;;;;;OAKG;IACG,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjD;;;;OAIG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO7C;;OAEG;IACH,qBAAqB,IAAI,OAAO;IAIhC;;OAEG;IACH,2BAA2B,IAAI,IAAI;IAMnC;;;OAGG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAUpC;;;OAGG;IACH,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAIjD;AAED,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,CAAC"}
package/dist/Maker.js CHANGED
@@ -1,57 +1,44 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
5
4
  });
6
- exports.default = void 0;
7
-
8
- require("source-map-support/register");
9
-
10
- var _fsExtra = _interopRequireDefault(require("fs-extra"));
11
-
5
+ exports.MakerBase = exports.default = void 0;
12
6
  var _path = _interopRequireDefault(require("path"));
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _next(value) { step("next", value); } function _throw(err) { step("throw", err); } _next(); }); }; }
17
-
7
+ var _fsExtra = _interopRequireDefault(require("fs-extra"));
8
+ var _which = _interopRequireDefault(require("which"));
9
+ function _interopRequireDefault(obj) {
10
+ return obj && obj.__esModule ? obj : {
11
+ default: obj
12
+ };
13
+ }
18
14
  class Maker {
19
- /* tslint:disable variable-name */
20
-
21
- /* tslint:enable variable-name */
22
- constructor(config = {}, providedPlatforms) {
23
- this.config = config;
24
- this.providedPlatforms = providedPlatforms;
25
- Object.defineProperty(this, "name", {
26
- configurable: true,
27
- enumerable: true,
28
- writable: true,
29
- value: void 0
30
- });
31
- Object.defineProperty(this, "defaultPlatforms", {
32
- configurable: true,
33
- enumerable: true,
34
- writable: true,
35
- value: void 0
36
- });
37
- Object.defineProperty(this, "__isElectronForgeMaker", {
38
- configurable: true,
39
- enumerable: true,
40
- writable: true,
41
- value: void 0
42
- });
43
- Object.defineProperty(this, '__isElectronForgeMaker', {
44
- value: true,
45
- enumerable: false,
46
- configurable: false
47
- });
48
- }
49
-
50
- get platforms() {
51
- if (this.providedPlatforms) return this.providedPlatforms;
52
- return this.defaultPlatforms;
53
- }
54
- /**
15
+ /**
16
+ * @param configOrConfigFetcher - Either a configuration object for this maker or a simple method that returns such a configuration for a given target architecture
17
+ * @param platformsToMakeOn - If you want this maker to run on platforms different from `defaultPlatforms` you can provide those platforms here
18
+ */ constructor(configOrConfigFetcher = {}, platformsToMakeOn){
19
+ this.configOrConfigFetcher = configOrConfigFetcher;
20
+ this.platformsToMakeOn = platformsToMakeOn;
21
+ this.requiredExternalBinaries = [];
22
+ Object.defineProperty(this, '__isElectronForgeMaker', {
23
+ value: true,
24
+ enumerable: false,
25
+ configurable: false
26
+ });
27
+ }
28
+ get platforms() {
29
+ if (this.platformsToMakeOn) return this.platformsToMakeOn;
30
+ return this.defaultPlatforms;
31
+ }
32
+ // TODO: Remove this, it is an eye-sore and is a nasty hack to provide forge
33
+ // v5 style functionality in the new API
34
+ prepareConfig(targetArch) {
35
+ if (typeof this.configOrConfigFetcher === 'function') {
36
+ this.config = this.configOrConfigFetcher(targetArch);
37
+ } else {
38
+ this.config = this.configOrConfigFetcher;
39
+ }
40
+ }
41
+ /**
55
42
  * Makers must implement this method and return true or false indicating whether
56
43
  * this maker can be run on the current platform. Normally this is just a process.platform
57
44
  * check but it can be a deeper check for dependencies like fake-root or other
@@ -59,80 +46,81 @@ class Maker {
59
46
  *
60
47
  * If the issue is a missing dependency you should log out a HELPFUL error message
61
48
  * telling the developer exactly what is missing and if possible how to get it.
62
- */
63
-
64
-
65
- isSupportedOnCurrentPlatform() {
66
- throw new Error(`Maker ${this.name} did not implement the isSupportedOnCurrentPlatform method`);
67
- }
68
- /**
49
+ */ isSupportedOnCurrentPlatform() {
50
+ if (this.isSupportedOnCurrentPlatform === Maker.prototype.isSupportedOnCurrentPlatform) {
51
+ throw new Error(`Maker ${this.name} did not implement the isSupportedOnCurrentPlatform method`);
52
+ }
53
+ return true;
54
+ }
55
+ /**
69
56
  * Makers must implement this method and return an array of absolute paths
70
57
  * to the artifacts generated by your maker
71
- */
72
-
73
-
74
- make(opts) {
75
- var _this = this;
76
-
77
- return _asyncToGenerator(function* () {
78
- throw new Error(`Maker ${_this.name} did not implement the make method`);
79
- })();
80
- }
81
- /**
58
+ */ // eslint-disable-next-line @typescript-eslint/no-unused-vars
59
+ async make(opts) {
60
+ if (this.make === Maker.prototype.make) {
61
+ throw new Error(`Maker ${this.name} did not implement the make method`);
62
+ }
63
+ return [];
64
+ }
65
+ /**
82
66
  * Helpers
83
- */
84
-
85
- /**
67
+ */ /**
86
68
  * Ensures the directory exists and is forced to be empty.
87
69
  *
88
70
  * I.e. If the directory already exists it is deleted and recreated, this
89
71
  * is a destructive operation
90
- */
91
-
92
-
93
- ensureDirectory(dir) {
94
- return _asyncToGenerator(function* () {
95
- if (yield _fsExtra.default.pathExists(dir)) {
96
- yield _fsExtra.default.remove(dir);
97
- }
98
-
99
- return _fsExtra.default.mkdirs(dir);
100
- })();
101
- }
102
- /**
72
+ */ async ensureDirectory(dir) {
73
+ if (await _fsExtra.default.pathExists(dir)) {
74
+ await _fsExtra.default.remove(dir);
75
+ }
76
+ return _fsExtra.default.mkdirs(dir);
77
+ }
78
+ /**
103
79
  * Ensures the path to the file exists and the file does not exist
104
80
  *
105
81
  * I.e. If the file already exists it is deleted and the path created
106
- */
107
-
108
-
109
- ensureFile(file) {
110
- return _asyncToGenerator(function* () {
111
- if (yield _fsExtra.default.pathExists(file)) {
112
- yield _fsExtra.default.remove(file);
113
- }
114
-
115
- yield _fsExtra.default.mkdirs(_path.default.dirname(file));
116
- })();
117
- }
118
- /**
82
+ */ async ensureFile(file) {
83
+ if (await _fsExtra.default.pathExists(file)) {
84
+ await _fsExtra.default.remove(file);
85
+ }
86
+ await _fsExtra.default.mkdirs(_path.default.dirname(file));
87
+ }
88
+ /**
89
+ * Checks if the specified binaries exist, which are required for the maker to be used.
90
+ */ externalBinariesExist() {
91
+ return this.requiredExternalBinaries.every((binary)=>_which.default.sync(binary, {
92
+ nothrow: true
93
+ }) !== null
94
+ );
95
+ }
96
+ /**
97
+ * Throws an error if any of the binaries don't exist.
98
+ */ ensureExternalBinariesExist() {
99
+ if (!this.externalBinariesExist()) {
100
+ throw new Error(`Cannot make for ${this.name}, the following external binaries need to be installed: ${this.requiredExternalBinaries.join(', ')}`);
101
+ }
102
+ }
103
+ /**
119
104
  * Checks if the given module is installed, used for testing if optional dependencies
120
105
  * are installed or not
121
- */
122
-
123
-
124
- isInstalled(module) {
125
- try {
126
- require(module);
127
-
128
- return true;
129
- } catch (e) {
130
- // Package doesn't exist -- must not be installable on this platform
131
- return false;
106
+ */ isInstalled(module) {
107
+ try {
108
+ require(module);
109
+ return true;
110
+ } catch (e) {
111
+ // Package doesn't exist -- must not be installable on this platform
112
+ return false;
113
+ }
114
+ }
115
+ /**
116
+ * Normalize the given semver-formatted version to a 4-part dot delimited version number without
117
+ * prerelease information for use in Windows apps.
118
+ */ normalizeWindowsVersion(version) {
119
+ const noPrerelease = version.replace(/-.*/, '');
120
+ return `${noPrerelease}.0`;
132
121
  }
133
- }
134
-
135
122
  }
136
-
137
123
  exports.default = Maker;
138
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9NYWtlci50cyJdLCJuYW1lcyI6WyJNYWtlciIsImNvbnN0cnVjdG9yIiwiY29uZmlnIiwicHJvdmlkZWRQbGF0Zm9ybXMiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsInZhbHVlIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsInBsYXRmb3JtcyIsImRlZmF1bHRQbGF0Zm9ybXMiLCJpc1N1cHBvcnRlZE9uQ3VycmVudFBsYXRmb3JtIiwiRXJyb3IiLCJuYW1lIiwibWFrZSIsIm9wdHMiLCJlbnN1cmVEaXJlY3RvcnkiLCJkaXIiLCJmcyIsInBhdGhFeGlzdHMiLCJyZW1vdmUiLCJta2RpcnMiLCJlbnN1cmVGaWxlIiwiZmlsZSIsInBhdGgiLCJkaXJuYW1lIiwiaXNJbnN0YWxsZWQiLCJtb2R1bGUiLCJyZXF1aXJlIiwiZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBR0E7O0FBQ0E7Ozs7OztBQWtDZSxNQUFlQSxLQUFmLENBQXdCO0FBR3JDOztBQUVBO0FBRUFDLGNBQW1CQyxTQUFZLEVBQS9CLEVBQWtEQyxpQkFBbEQsRUFBdUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ3JGQyxXQUFPQyxjQUFQLENBQXNCLElBQXRCLEVBQTRCLHdCQUE1QixFQUFzRDtBQUNwREMsYUFBTyxJQUQ2QztBQUVwREMsa0JBQVksS0FGd0M7QUFHcERDLG9CQUFjO0FBSHNDLEtBQXREO0FBS0Q7O0FBRUQsTUFBSUMsU0FBSixHQUFnQjtBQUNkLFFBQUksS0FBS04saUJBQVQsRUFBNEIsT0FBTyxLQUFLQSxpQkFBWjtBQUM1QixXQUFPLEtBQUtPLGdCQUFaO0FBQ0Q7QUFFRDs7Ozs7Ozs7Ozs7QUFTQUMsaUNBQXdDO0FBQ3RDLFVBQU0sSUFBSUMsS0FBSixDQUFXLFNBQVEsS0FBS0MsSUFBSyw0REFBN0IsQ0FBTjtBQUNEO0FBRUQ7Ozs7OztBQUlNQyxNQUFOLENBQVdDLElBQVgsRUFBa0Q7QUFBQTs7QUFBQTtBQUNoRCxZQUFNLElBQUlILEtBQUosQ0FBVyxTQUFRLE1BQUtDLElBQUssb0NBQTdCLENBQU47QUFEZ0Q7QUFFakQ7QUFHRDs7OztBQUlBOzs7Ozs7OztBQU1NRyxpQkFBTixDQUFzQkMsR0FBdEIsRUFBa0Q7QUFBQTtBQUNoRCxnQkFBVUMsaUJBQUdDLFVBQUgsQ0FBY0YsR0FBZCxDQUFWLEVBQThCO0FBQzVCLGNBQU1DLGlCQUFHRSxNQUFILENBQVVILEdBQVYsQ0FBTjtBQUNEOztBQUNELGFBQU9DLGlCQUFHRyxNQUFILENBQVVKLEdBQVYsQ0FBUDtBQUpnRDtBQUtqRDtBQUVEOzs7Ozs7O0FBS01LLFlBQU4sQ0FBaUJDLElBQWpCLEVBQThDO0FBQUE7QUFDNUMsZ0JBQVVMLGlCQUFHQyxVQUFILENBQWNJLElBQWQsQ0FBVixFQUErQjtBQUM3QixjQUFNTCxpQkFBR0UsTUFBSCxDQUFVRyxJQUFWLENBQU47QUFDRDs7QUFDRCxZQUFNTCxpQkFBR0csTUFBSCxDQUFVRyxjQUFLQyxPQUFMLENBQWFGLElBQWIsQ0FBVixDQUFOO0FBSjRDO0FBSzdDO0FBRUQ7Ozs7OztBQUlBRyxjQUFZQyxNQUFaLEVBQXFDO0FBQ25DLFFBQUk7QUFDRkMsY0FBUUQsTUFBUjs7QUFDQSxhQUFPLElBQVA7QUFDRCxLQUhELENBR0UsT0FBT0UsQ0FBUCxFQUFVO0FBQ1Y7QUFDQSxhQUFPLEtBQVA7QUFDRDtBQUNGOztBQW5Gb0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby11bnVzZWQtdmFycyAqL1xuXG5pbXBvcnQgeyBGb3JnZUFyY2gsIEZvcmdlQ29uZmlnLCBGb3JnZVBsYXRmb3JtLCBJRm9yZ2VNYWtlciB9IGZyb20gJ0BlbGVjdHJvbi1mb3JnZS9zaGFyZWQtdHlwZXMnO1xuaW1wb3J0IGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1ha2VyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIHBhY2thZ2VkIEVsZWN0cm9uIGFwcGxpY2F0aW9uXG4gICAqL1xuICBkaXI6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBkaXJlY3RvcnkgeW91IHNob3VsZCBwdXQgYWxsIHlvdXIgYXJ0aWZhY3RzIGluIChwb3RlbnRpYWxseSBpbiBzdWIgZm9sZGVycylcbiAgICogTk9URTogdGhpcyBkaXJlY3RvcnkgaXMgbm90IGd1YXJ1bnRlZWQgdG8gYWxyZWFkeSBleGlzdFxuICAgKi9cbiAgbWFrZURpcjogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHJlc29sdmVkIGh1bWFuIGZyaWVuZGx5IG5hbWUgb2YgdGhlIHByb2plY3RcbiAgICovXG4gIGFwcE5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSB0YXJnZXQgcGxhdGZvcm0geW91IHNob3VsZCBtYWtlIGZvclxuICAgKi9cbiAgdGFyZ2V0UGxhdGZvcm06IEZvcmdlUGxhdGZvcm07XG4gIC8qKlxuICAgKiBUaGUgdGFyZ2V0IGFyY2hpdGVjdHVyZSB5b3Ugc2hvdWxkIG1ha2UgZm9yXG4gICAqL1xuICB0YXJnZXRBcmNoOiBGb3JnZUFyY2g7XG4gIC8qKlxuICAgKiBGdWxseSByZXNvbHZlZCBmb3JnZSBjb25maWd1cmF0aW9uLCB5b3Ugc2hvdWxkbid0IHJlYWxseSBuZWVkIHRoaXNcbiAgICovXG4gIGZvcmdlQ29uZmlnOiBGb3JnZUNvbmZpZztcbiAgLyoqXG4gICAqIFRoZSBhcHBsaWNhdGlvbnMgcGFja2FnZS5qc29uIGZpbGVcbiAgICovXG4gIHBhY2thZ2VKU09OOiBhbnk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGFic3RyYWN0IGNsYXNzIE1ha2VyPEM+IHtcbiAgcHVibGljIGFic3RyYWN0IG5hbWU6IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IGRlZmF1bHRQbGF0Zm9ybXM6IEZvcmdlUGxhdGZvcm1bXTtcbiAgLyogdHNsaW50OmRpc2FibGUgdmFyaWFibGUtbmFtZSAqL1xuICBfX2lzRWxlY3Ryb25Gb3JnZU1ha2VyITogdHJ1ZTtcbiAgLyogdHNsaW50OmVuYWJsZSB2YXJpYWJsZS1uYW1lICovXG5cbiAgY29uc3RydWN0b3IocHVibGljIGNvbmZpZzogQyA9IHt9IGFzIEMsIHByb3RlY3RlZCBwcm92aWRlZFBsYXRmb3Jtcz86IEZvcmdlUGxhdGZvcm1bXSkge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnX19pc0VsZWN0cm9uRm9yZ2VNYWtlcicsIHtcbiAgICAgIHZhbHVlOiB0cnVlLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0IHBsYXRmb3JtcygpIHtcbiAgICBpZiAodGhpcy5wcm92aWRlZFBsYXRmb3JtcykgcmV0dXJuIHRoaXMucHJvdmlkZWRQbGF0Zm9ybXM7XG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdFBsYXRmb3JtcztcbiAgfVxuXG4gIC8qKlxuICAgKiBNYWtlcnMgbXVzdCBpbXBsZW1lbnQgdGhpcyBtZXRob2QgYW5kIHJldHVybiB0cnVlIG9yIGZhbHNlIGluZGljYXRpbmcgd2hldGhlclxuICAgKiB0aGlzIG1ha2VyIGNhbiBiZSBydW4gb24gdGhlIGN1cnJlbnQgcGxhdGZvcm0uICBOb3JtYWxseSB0aGlzIGlzIGp1c3QgYSBwcm9jZXNzLnBsYXRmb3JtXG4gICAqIGNoZWNrIGJ1dCBpdCBjYW4gYmUgYSBkZWVwZXIgY2hlY2sgZm9yIGRlcGVuZGVuY2llcyBsaWtlIGZha2Utcm9vdCBvciBvdGhlclxuICAgKiByZXF1aXJlZCBleHRlcm5hbCBidWlsZCB0b29scy5cbiAgICpcbiAgICogSWYgdGhlIGlzc3VlIGlzIGEgbWlzc2luZyBkZXBlbmRlbmN5IHlvdSBzaG91bGQgbG9nIG91dCBhIEhFTFBGVUwgZXJyb3IgbWVzc2FnZVxuICAgKiB0ZWxsaW5nIHRoZSBkZXZlbG9wZXIgZXhhY3RseSB3aGF0IGlzIG1pc3NpbmcgYW5kIGlmIHBvc3NpYmxlIGhvdyB0byBnZXQgaXQuXG4gICAqL1xuICBpc1N1cHBvcnRlZE9uQ3VycmVudFBsYXRmb3JtKCk6IGJvb2xlYW4ge1xuICAgIHRocm93IG5ldyBFcnJvcihgTWFrZXIgJHt0aGlzLm5hbWV9IGRpZCBub3QgaW1wbGVtZW50IHRoZSBpc1N1cHBvcnRlZE9uQ3VycmVudFBsYXRmb3JtIG1ldGhvZGApO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ha2VycyBtdXN0IGltcGxlbWVudCB0aGlzIG1ldGhvZCBhbmQgcmV0dXJuIGFuIGFycmF5IG9mIGFic29sdXRlIHBhdGhzXG4gICAqIHRvIHRoZSBhcnRpZmFjdHMgZ2VuZXJhdGVkIGJ5IHlvdXIgbWFrZXJcbiAgICovXG4gIGFzeW5jIG1ha2Uob3B0czogTWFrZXJPcHRpb25zKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAgIHRocm93IG5ldyBFcnJvcihgTWFrZXIgJHt0aGlzLm5hbWV9IGRpZCBub3QgaW1wbGVtZW50IHRoZSBtYWtlIG1ldGhvZGApO1xuICB9XG5cblxuICAvKipcbiAgICogSGVscGVyc1xuICAgKi9cblxuICAvKipcbiAgICogRW5zdXJlcyB0aGUgZGlyZWN0b3J5IGV4aXN0cyBhbmQgaXMgZm9yY2VkIHRvIGJlIGVtcHR5LlxuICAgKlxuICAgKiBJLmUuIElmIHRoZSBkaXJlY3RvcnkgYWxyZWFkeSBleGlzdHMgaXQgaXMgZGVsZXRlZCBhbmQgcmVjcmVhdGVkLCB0aGlzXG4gICAqIGlzIGEgZGVzdHJ1Y3RpdmUgb3BlcmF0aW9uXG4gICAqL1xuICBhc3luYyBlbnN1cmVEaXJlY3RvcnkoZGlyOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoYXdhaXQgZnMucGF0aEV4aXN0cyhkaXIpKSB7XG4gICAgICBhd2FpdCBmcy5yZW1vdmUoZGlyKTtcbiAgICB9XG4gICAgcmV0dXJuIGZzLm1rZGlycyhkaXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVuc3VyZXMgdGhlIHBhdGggdG8gdGhlIGZpbGUgZXhpc3RzIGFuZCB0aGUgZmlsZSBkb2VzIG5vdCBleGlzdFxuICAgKlxuICAgKiBJLmUuIElmIHRoZSBmaWxlIGFscmVhZHkgZXhpc3RzIGl0IGlzIGRlbGV0ZWQgYW5kIHRoZSBwYXRoIGNyZWF0ZWRcbiAgICovXG4gIGFzeW5jIGVuc3VyZUZpbGUoZmlsZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKGF3YWl0IGZzLnBhdGhFeGlzdHMoZmlsZSkpIHtcbiAgICAgIGF3YWl0IGZzLnJlbW92ZShmaWxlKTtcbiAgICB9XG4gICAgYXdhaXQgZnMubWtkaXJzKHBhdGguZGlybmFtZShmaWxlKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBnaXZlbiBtb2R1bGUgaXMgaW5zdGFsbGVkLCB1c2VkIGZvciB0ZXN0aW5nIGlmIG9wdGlvbmFsIGRlcGVuZGVuY2llc1xuICAgKiBhcmUgaW5zdGFsbGVkIG9yIG5vdFxuICAgKi9cbiAgaXNJbnN0YWxsZWQobW9kdWxlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICB0cnkge1xuICAgICAgcmVxdWlyZShtb2R1bGUpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gUGFja2FnZSBkb2Vzbid0IGV4aXN0IC0tIG11c3Qgbm90IGJlIGluc3RhbGxhYmxlIG9uIHRoaXMgcGxhdGZvcm1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
124
+ exports.MakerBase = Maker;
125
+
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9NYWtlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcblxuaW1wb3J0IHsgRm9yZ2VBcmNoLCBGb3JnZVBsYXRmb3JtLCBJRm9yZ2VNYWtlciwgUmVzb2x2ZWRGb3JnZUNvbmZpZyB9IGZyb20gJ0BlbGVjdHJvbi1mb3JnZS9zaGFyZWQtdHlwZXMnO1xuaW1wb3J0IGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCB3aGljaCBmcm9tICd3aGljaCc7XG5cbmV4cG9ydCB0eXBlIEVtcHR5Q29uZmlnID0gUmVjb3JkPHN0cmluZywgbmV2ZXI+O1xuXG5leHBvcnQgaW50ZXJmYWNlIE1ha2VyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIHBhY2thZ2VkIEVsZWN0cm9uIGFwcGxpY2F0aW9uXG4gICAqL1xuICBkaXI6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBkaXJlY3RvcnkgeW91IHNob3VsZCBwdXQgYWxsIHlvdXIgYXJ0aWZhY3RzIGluIChwb3RlbnRpYWxseSBpbiBzdWIgZm9sZGVycylcbiAgICogTk9URTogdGhpcyBkaXJlY3RvcnkgaXMgbm90IGd1YXJ1bnRlZWQgdG8gYWxyZWFkeSBleGlzdFxuICAgKi9cbiAgbWFrZURpcjogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHJlc29sdmVkIGh1bWFuIGZyaWVuZGx5IG5hbWUgb2YgdGhlIHByb2plY3RcbiAgICovXG4gIGFwcE5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSB0YXJnZXQgcGxhdGZvcm0geW91IHNob3VsZCBtYWtlIGZvclxuICAgKi9cbiAgdGFyZ2V0UGxhdGZvcm06IEZvcmdlUGxhdGZvcm07XG4gIC8qKlxuICAgKiBUaGUgdGFyZ2V0IGFyY2hpdGVjdHVyZSB5b3Ugc2hvdWxkIG1ha2UgZm9yXG4gICAqL1xuICB0YXJnZXRBcmNoOiBGb3JnZUFyY2g7XG4gIC8qKlxuICAgKiBGdWxseSByZXNvbHZlZCBmb3JnZSBjb25maWd1cmF0aW9uLCB5b3Ugc2hvdWxkbid0IHJlYWxseSBuZWVkIHRoaXNcbiAgICovXG4gIGZvcmdlQ29uZmlnOiBSZXNvbHZlZEZvcmdlQ29uZmlnO1xuICAvKipcbiAgICogVGhlIGFwcGxpY2F0aW9uJ3MgcGFja2FnZS5qc29uIGZpbGVcbiAgICovXG4gIHBhY2thZ2VKU09OOiBhbnk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxufVxuXG5leHBvcnQgZGVmYXVsdCBhYnN0cmFjdCBjbGFzcyBNYWtlcjxDPiBpbXBsZW1lbnRzIElGb3JnZU1ha2VyIHtcbiAgcHVibGljIGNvbmZpZyE6IEM7XG5cbiAgcHVibGljIGFic3RyYWN0IG5hbWU6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3QgZGVmYXVsdFBsYXRmb3JtczogRm9yZ2VQbGF0Zm9ybVtdO1xuXG4gIHB1YmxpYyByZXF1aXJlZEV4dGVybmFsQmluYXJpZXM6IHN0cmluZ1tdID0gW107XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfX2lzRWxlY3Ryb25Gb3JnZU1ha2VyITogdHJ1ZTtcblxuICAvKipcbiAgICogQHBhcmFtIGNvbmZpZ09yQ29uZmlnRmV0Y2hlciAtIEVpdGhlciBhIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGZvciB0aGlzIG1ha2VyIG9yIGEgc2ltcGxlIG1ldGhvZCB0aGF0IHJldHVybnMgc3VjaCBhIGNvbmZpZ3VyYXRpb24gZm9yIGEgZ2l2ZW4gdGFyZ2V0IGFyY2hpdGVjdHVyZVxuICAgKiBAcGFyYW0gcGxhdGZvcm1zVG9NYWtlT24gLSBJZiB5b3Ugd2FudCB0aGlzIG1ha2VyIHRvIHJ1biBvbiBwbGF0Zm9ybXMgZGlmZmVyZW50IGZyb20gYGRlZmF1bHRQbGF0Zm9ybXNgIHlvdSBjYW4gcHJvdmlkZSB0aG9zZSBwbGF0Zm9ybXMgaGVyZVxuICAgKi9cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maWdPckNvbmZpZ0ZldGNoZXI6IEMgfCAoKGFyY2g6IEZvcmdlQXJjaCkgPT4gQykgPSB7fSBhcyBDLCBwcm90ZWN0ZWQgcGxhdGZvcm1zVG9NYWtlT24/OiBGb3JnZVBsYXRmb3JtW10pIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ19faXNFbGVjdHJvbkZvcmdlTWFrZXInLCB7XG4gICAgICB2YWx1ZTogdHJ1ZSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBwbGF0Zm9ybXMoKTogRm9yZ2VQbGF0Zm9ybVtdIHtcbiAgICBpZiAodGhpcy5wbGF0Zm9ybXNUb01ha2VPbikgcmV0dXJuIHRoaXMucGxhdGZvcm1zVG9NYWtlT247XG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdFBsYXRmb3JtcztcbiAgfVxuXG4gIC8vIFRPRE86IFJlbW92ZSB0aGlzLCBpdCBpcyBhbiBleWUtc29yZSBhbmQgaXMgYSBuYXN0eSBoYWNrIHRvIHByb3ZpZGUgZm9yZ2VcbiAgLy8gICAgICAgdjUgc3R5bGUgZnVuY3Rpb25hbGl0eSBpbiB0aGUgbmV3IEFQSVxuICBwcmVwYXJlQ29uZmlnKHRhcmdldEFyY2g6IEZvcmdlQXJjaCk6IHZvaWQge1xuICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWdPckNvbmZpZ0ZldGNoZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRoaXMuY29uZmlnID0gKHRoaXMuY29uZmlnT3JDb25maWdGZXRjaGVyIGFzIHVua25vd24gYXMgKGFyY2g6IEZvcmdlQXJjaCkgPT4gQykodGFyZ2V0QXJjaCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29uZmlnID0gdGhpcy5jb25maWdPckNvbmZpZ0ZldGNoZXIgYXMgQztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTWFrZXJzIG11c3QgaW1wbGVtZW50IHRoaXMgbWV0aG9kIGFuZCByZXR1cm4gdHJ1ZSBvciBmYWxzZSBpbmRpY2F0aW5nIHdoZXRoZXJcbiAgICogdGhpcyBtYWtlciBjYW4gYmUgcnVuIG9uIHRoZSBjdXJyZW50IHBsYXRmb3JtLiAgTm9ybWFsbHkgdGhpcyBpcyBqdXN0IGEgcHJvY2Vzcy5wbGF0Zm9ybVxuICAgKiBjaGVjayBidXQgaXQgY2FuIGJlIGEgZGVlcGVyIGNoZWNrIGZvciBkZXBlbmRlbmNpZXMgbGlrZSBmYWtlLXJvb3Qgb3Igb3RoZXJcbiAgICogcmVxdWlyZWQgZXh0ZXJuYWwgYnVpbGQgdG9vbHMuXG4gICAqXG4gICAqIElmIHRoZSBpc3N1ZSBpcyBhIG1pc3NpbmcgZGVwZW5kZW5jeSB5b3Ugc2hvdWxkIGxvZyBvdXQgYSBIRUxQRlVMIGVycm9yIG1lc3NhZ2VcbiAgICogdGVsbGluZyB0aGUgZGV2ZWxvcGVyIGV4YWN0bHkgd2hhdCBpcyBtaXNzaW5nIGFuZCBpZiBwb3NzaWJsZSBob3cgdG8gZ2V0IGl0LlxuICAgKi9cbiAgaXNTdXBwb3J0ZWRPbkN1cnJlbnRQbGF0Zm9ybSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5pc1N1cHBvcnRlZE9uQ3VycmVudFBsYXRmb3JtID09PSBNYWtlci5wcm90b3R5cGUuaXNTdXBwb3J0ZWRPbkN1cnJlbnRQbGF0Zm9ybSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNYWtlciAke3RoaXMubmFtZX0gZGlkIG5vdCBpbXBsZW1lbnQgdGhlIGlzU3VwcG9ydGVkT25DdXJyZW50UGxhdGZvcm0gbWV0aG9kYCk7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ha2VycyBtdXN0IGltcGxlbWVudCB0aGlzIG1ldGhvZCBhbmQgcmV0dXJuIGFuIGFycmF5IG9mIGFic29sdXRlIHBhdGhzXG4gICAqIHRvIHRoZSBhcnRpZmFjdHMgZ2VuZXJhdGVkIGJ5IHlvdXIgbWFrZXJcbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgYXN5bmMgbWFrZShvcHRzOiBNYWtlck9wdGlvbnMpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gICAgaWYgKHRoaXMubWFrZSA9PT0gTWFrZXIucHJvdG90eXBlLm1ha2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTWFrZXIgJHt0aGlzLm5hbWV9IGRpZCBub3QgaW1wbGVtZW50IHRoZSBtYWtlIG1ldGhvZGApO1xuICAgIH1cbiAgICByZXR1cm4gW107XG4gIH1cblxuICAvKipcbiAgICogSGVscGVyc1xuICAgKi9cblxuICAvKipcbiAgICogRW5zdXJlcyB0aGUgZGlyZWN0b3J5IGV4aXN0cyBhbmQgaXMgZm9yY2VkIHRvIGJlIGVtcHR5LlxuICAgKlxuICAgKiBJLmUuIElmIHRoZSBkaXJlY3RvcnkgYWxyZWFkeSBleGlzdHMgaXQgaXMgZGVsZXRlZCBhbmQgcmVjcmVhdGVkLCB0aGlzXG4gICAqIGlzIGEgZGVzdHJ1Y3RpdmUgb3BlcmF0aW9uXG4gICAqL1xuICBhc3luYyBlbnN1cmVEaXJlY3RvcnkoZGlyOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoYXdhaXQgZnMucGF0aEV4aXN0cyhkaXIpKSB7XG4gICAgICBhd2FpdCBmcy5yZW1vdmUoZGlyKTtcbiAgICB9XG4gICAgcmV0dXJuIGZzLm1rZGlycyhkaXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVuc3VyZXMgdGhlIHBhdGggdG8gdGhlIGZpbGUgZXhpc3RzIGFuZCB0aGUgZmlsZSBkb2VzIG5vdCBleGlzdFxuICAgKlxuICAgKiBJLmUuIElmIHRoZSBmaWxlIGFscmVhZHkgZXhpc3RzIGl0IGlzIGRlbGV0ZWQgYW5kIHRoZSBwYXRoIGNyZWF0ZWRcbiAgICovXG4gIGFzeW5jIGVuc3VyZUZpbGUoZmlsZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKGF3YWl0IGZzLnBhdGhFeGlzdHMoZmlsZSkpIHtcbiAgICAgIGF3YWl0IGZzLnJlbW92ZShmaWxlKTtcbiAgICB9XG4gICAgYXdhaXQgZnMubWtkaXJzKHBhdGguZGlybmFtZShmaWxlKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBzcGVjaWZpZWQgYmluYXJpZXMgZXhpc3QsIHdoaWNoIGFyZSByZXF1aXJlZCBmb3IgdGhlIG1ha2VyIHRvIGJlIHVzZWQuXG4gICAqL1xuICBleHRlcm5hbEJpbmFyaWVzRXhpc3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWlyZWRFeHRlcm5hbEJpbmFyaWVzLmV2ZXJ5KChiaW5hcnkpID0+IHdoaWNoLnN5bmMoYmluYXJ5LCB7IG5vdGhyb3c6IHRydWUgfSkgIT09IG51bGwpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRocm93cyBhbiBlcnJvciBpZiBhbnkgb2YgdGhlIGJpbmFyaWVzIGRvbid0IGV4aXN0LlxuICAgKi9cbiAgZW5zdXJlRXh0ZXJuYWxCaW5hcmllc0V4aXN0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5leHRlcm5hbEJpbmFyaWVzRXhpc3QoKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgbWFrZSBmb3IgJHt0aGlzLm5hbWV9LCB0aGUgZm9sbG93aW5nIGV4dGVybmFsIGJpbmFyaWVzIG5lZWQgdG8gYmUgaW5zdGFsbGVkOiAke3RoaXMucmVxdWlyZWRFeHRlcm5hbEJpbmFyaWVzLmpvaW4oJywgJyl9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gbW9kdWxlIGlzIGluc3RhbGxlZCwgdXNlZCBmb3IgdGVzdGluZyBpZiBvcHRpb25hbCBkZXBlbmRlbmNpZXNcbiAgICogYXJlIGluc3RhbGxlZCBvciBub3RcbiAgICovXG4gIGlzSW5zdGFsbGVkKG1vZHVsZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgdHJ5IHtcbiAgICAgIHJlcXVpcmUobW9kdWxlKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIFBhY2thZ2UgZG9lc24ndCBleGlzdCAtLSBtdXN0IG5vdCBiZSBpbnN0YWxsYWJsZSBvbiB0aGlzIHBsYXRmb3JtXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE5vcm1hbGl6ZSB0aGUgZ2l2ZW4gc2VtdmVyLWZvcm1hdHRlZCB2ZXJzaW9uIHRvIGEgNC1wYXJ0IGRvdCBkZWxpbWl0ZWQgdmVyc2lvbiBudW1iZXIgd2l0aG91dFxuICAgKiBwcmVyZWxlYXNlIGluZm9ybWF0aW9uIGZvciB1c2UgaW4gV2luZG93cyBhcHBzLlxuICAgKi9cbiAgbm9ybWFsaXplV2luZG93c1ZlcnNpb24odmVyc2lvbjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBub1ByZXJlbGVhc2UgPSB2ZXJzaW9uLnJlcGxhY2UoLy0uKi8sICcnKTtcbiAgICByZXR1cm4gYCR7bm9QcmVyZWxlYXNlfS4wYDtcbiAgfVxufVxuXG5leHBvcnQgeyBNYWtlciBhcyBNYWtlckJhc2UgfTtcbiJdLCJuYW1lcyI6WyJNYWtlciIsImNvbmZpZ09yQ29uZmlnRmV0Y2hlciIsInBsYXRmb3Jtc1RvTWFrZU9uIiwicmVxdWlyZWRFeHRlcm5hbEJpbmFyaWVzIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJwbGF0Zm9ybXMiLCJkZWZhdWx0UGxhdGZvcm1zIiwicHJlcGFyZUNvbmZpZyIsInRhcmdldEFyY2giLCJjb25maWciLCJpc1N1cHBvcnRlZE9uQ3VycmVudFBsYXRmb3JtIiwicHJvdG90eXBlIiwiRXJyb3IiLCJuYW1lIiwibWFrZSIsIm9wdHMiLCJlbnN1cmVEaXJlY3RvcnkiLCJkaXIiLCJmcyIsInBhdGhFeGlzdHMiLCJyZW1vdmUiLCJta2RpcnMiLCJlbnN1cmVGaWxlIiwiZmlsZSIsInBhdGgiLCJkaXJuYW1lIiwiZXh0ZXJuYWxCaW5hcmllc0V4aXN0IiwiZXZlcnkiLCJiaW5hcnkiLCJ3aGljaCIsInN5bmMiLCJub3Rocm93IiwiZW5zdXJlRXh0ZXJuYWxCaW5hcmllc0V4aXN0Iiwiam9pbiIsImlzSW5zdGFsbGVkIiwibW9kdWxlIiwicmVxdWlyZSIsImUiLCJub3JtYWxpemVXaW5kb3dzVmVyc2lvbiIsInZlcnNpb24iLCJub1ByZXJlbGVhc2UiLCJyZXBsYWNlIiwiTWFrZXJCYXNlIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFpQixHQUFNLENBQU4sS0FBTTtBQUdSLEdBQVUsQ0FBVixRQUFVO0FBQ1AsR0FBTyxDQUFQLE1BQU87Ozs7OztNQW9DS0EsS0FBSztJQVlqQyxFQUdHLEFBSEg7OztHQUdHLEFBSEgsRUFHRyxhQUNpQkMscUJBQW1ELEdBQUcsQ0FBQyxDQUFDLEVBQWlCQyxpQkFBbUMsQ0FBRSxDQUFDO2FBQS9HRCxxQkFBbUQsR0FBbkRBLHFCQUFtRDthQUFzQkMsaUJBQW1DLEdBQW5DQSxpQkFBbUM7UUFoQm5ILElBc0lkLENBL0hRQyx3QkFBd0IsR0FBYSxDQUFDLENBQUM7UUFVNUNDLE1BQU0sQ0FBQ0MsY0FBYyxDQUFDLElBQUksRUFBRSxDQUF3Qix5QkFBRSxDQUFDO1lBQ3JEQyxLQUFLLEVBQUUsSUFBSTtZQUNYQyxVQUFVLEVBQUUsS0FBSztZQUNqQkMsWUFBWSxFQUFFLEtBQUs7UUFDckIsQ0FBQztJQUNILENBQUM7UUFFR0MsU0FBUyxHQUFvQixDQUFDO1FBQ2hDLEVBQUUsRUFBRSxJQUFJLENBQUNQLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUNBLGlCQUFpQjtRQUN6RCxNQUFNLENBQUMsSUFBSSxDQUFDUSxnQkFBZ0I7SUFDOUIsQ0FBQztJQUVELEVBQTRFLEFBQTVFLDBFQUE0RTtJQUM1RSxFQUE4QyxBQUE5Qyw0Q0FBOEM7SUFDOUNDLGFBQWEsQ0FBQ0MsVUFBcUIsRUFBUSxDQUFDO1FBQzFDLEVBQUUsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDWCxxQkFBcUIsS0FBSyxDQUFVLFdBQUUsQ0FBQztZQUNyRCxJQUFJLENBQUNZLE1BQU0sR0FBSSxJQUFJLENBQUNaLHFCQUFxQixDQUF1Q1csVUFBVTtRQUM1RixDQUFDLE1BQU0sQ0FBQztZQUNOLElBQUksQ0FBQ0MsTUFBTSxHQUFHLElBQUksQ0FBQ1oscUJBQXFCO1FBQzFDLENBQUM7SUFDSCxDQUFDO0lBRUQsRUFRRyxBQVJIOzs7Ozs7OztHQVFHLEFBUkgsRUFRRyxDQUNIYSw0QkFBNEIsR0FBWSxDQUFDO1FBQ3ZDLEVBQUUsRUFBRSxJQUFJLENBQUNBLDRCQUE0QixLQUFLZCxLQUFLLENBQUNlLFNBQVMsQ0FBQ0QsNEJBQTRCLEVBQUUsQ0FBQztZQUN2RixLQUFLLENBQUMsR0FBRyxDQUFDRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQ0MsSUFBSSxDQUFDLDBEQUEwRDtRQUMvRixDQUFDO1FBQ0QsTUFBTSxDQUFDLElBQUk7SUFDYixDQUFDO0lBRUQsRUFHRyxBQUhIOzs7R0FHRyxBQUhILEVBR0csQ0FDSCxFQUE2RCxBQUE3RCwyREFBNkQ7VUFDdkRDLElBQUksQ0FBQ0MsSUFBa0IsRUFBcUIsQ0FBQztRQUNqRCxFQUFFLEVBQUUsSUFBSSxDQUFDRCxJQUFJLEtBQUtsQixLQUFLLENBQUNlLFNBQVMsQ0FBQ0csSUFBSSxFQUFFLENBQUM7WUFDdkMsS0FBSyxDQUFDLEdBQUcsQ0FBQ0YsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUNDLElBQUksQ0FBQyxrQ0FBa0M7UUFDdkUsQ0FBQztRQUNELE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsRUFFRyxBQUZIOztHQUVHLEFBRkgsRUFFRyxDQUVILEVBS0csQUFMSDs7Ozs7R0FLRyxBQUxILEVBS0csT0FDR0csZUFBZSxDQUFDQyxHQUFXLEVBQWlCLENBQUM7UUFDakQsRUFBRSxFQUFFLEtBQUssQ0FBQ0MsUUFBRSxTQUFDQyxVQUFVLENBQUNGLEdBQUcsR0FBRyxDQUFDO1lBQzdCLEtBQUssQ0FBQ0MsUUFBRSxTQUFDRSxNQUFNLENBQUNILEdBQUc7UUFDckIsQ0FBQztRQUNELE1BQU0sQ0FBQ0MsUUFBRSxTQUFDRyxNQUFNLENBQUNKLEdBQUc7SUFDdEIsQ0FBQztJQUVELEVBSUcsQUFKSDs7OztHQUlHLEFBSkgsRUFJRyxPQUNHSyxVQUFVLENBQUNDLElBQVksRUFBaUIsQ0FBQztRQUM3QyxFQUFFLEVBQUUsS0FBSyxDQUFDTCxRQUFFLFNBQUNDLFVBQVUsQ0FBQ0ksSUFBSSxHQUFHLENBQUM7WUFDOUIsS0FBSyxDQUFDTCxRQUFFLFNBQUNFLE1BQU0sQ0FBQ0csSUFBSTtRQUN0QixDQUFDO1FBQ0QsS0FBSyxDQUFDTCxRQUFFLFNBQUNHLE1BQU0sQ0FBQ0csS0FBSSxTQUFDQyxPQUFPLENBQUNGLElBQUk7SUFDbkMsQ0FBQztJQUVELEVBRUcsQUFGSDs7R0FFRyxBQUZILEVBRUcsQ0FDSEcscUJBQXFCLEdBQVksQ0FBQztRQUNoQyxNQUFNLENBQUMsSUFBSSxDQUFDM0Isd0JBQXdCLENBQUM0QixLQUFLLEVBQUVDLE1BQU0sR0FBS0MsTUFBSyxTQUFDQyxJQUFJLENBQUNGLE1BQU0sRUFBRSxDQUFDO2dCQUFDRyxPQUFPLEVBQUUsSUFBSTtZQUFDLENBQUMsTUFBTSxJQUFJOztJQUN2RyxDQUFDO0lBRUQsRUFFRyxBQUZIOztHQUVHLEFBRkgsRUFFRyxDQUNIQywyQkFBMkIsR0FBUyxDQUFDO1FBQ25DLEVBQUUsR0FBRyxJQUFJLENBQUNOLHFCQUFxQixJQUFJLENBQUM7WUFDbEMsS0FBSyxDQUFDLEdBQUcsQ0FBQ2QsS0FBSyxFQUFFLGdCQUFnQixFQUFFLElBQUksQ0FBQ0MsSUFBSSxDQUFDLHdEQUF3RCxFQUFFLElBQUksQ0FBQ2Qsd0JBQXdCLENBQUNrQyxJQUFJLENBQUMsQ0FBSTtRQUNoSixDQUFDO0lBQ0gsQ0FBQztJQUVELEVBR0csQUFISDs7O0dBR0csQUFISCxFQUdHLENBQ0hDLFdBQVcsQ0FBQ0MsTUFBYyxFQUFXLENBQUM7UUFDcEMsR0FBRyxDQUFDLENBQUM7WUFDSEMsT0FBTyxDQUFDRCxNQUFNO1lBQ2QsTUFBTSxDQUFDLElBQUk7UUFDYixDQUFDLENBQUMsS0FBSyxFQUFFRSxDQUFDLEVBQUUsQ0FBQztZQUNYLEVBQW9FLEFBQXBFLGtFQUFvRTtZQUNwRSxNQUFNLENBQUMsS0FBSztRQUNkLENBQUM7SUFDSCxDQUFDO0lBRUQsRUFHRyxBQUhIOzs7R0FHRyxBQUhILEVBR0csQ0FDSEMsdUJBQXVCLENBQUNDLE9BQWUsRUFBVSxDQUFDO1FBQ2hELEtBQUssQ0FBQ0MsWUFBWSxHQUFHRCxPQUFPLENBQUNFLE9BQU8sUUFBUSxDQUFFO1FBQzlDLE1BQU0sSUFBSUQsWUFBWSxDQUFDLEVBQUU7SUFDM0IsQ0FBQzs7a0JBckkyQjVDLEtBQUs7UUF3SWpCOEMsU0FBUyxHQUFsQjlDLEtBQUsifQ==
package/index.ts ADDED
@@ -0,0 +1,5 @@
1
+ // ⚠️ AUTOGENERATED ⚠️ AUTOGENERATED ⚠️ AUTOGENERATED ⚠️
2
+ // This file was automatically generated by `tools/gen-ts-glue.ts`. Do not modify directly if you want to keep your changes.
3
+ export * from "./src/Maker";
4
+ import defaultExport from "./src/Maker";
5
+ export default defaultExport;
package/package.json CHANGED
@@ -1,24 +1,23 @@
1
1
  {
2
2
  "name": "@electron-forge/maker-base",
3
- "version": "6.0.0-beta.9",
3
+ "version": "6.0.0",
4
4
  "description": "Base maker for Electron Forge",
5
- "repository": "https://github.com/electron-userland/electron-forge",
5
+ "repository": "https://github.com/electron/forge",
6
6
  "author": "Samuel Attard",
7
7
  "license": "MIT",
8
8
  "main": "dist/Maker.js",
9
9
  "typings": "dist/Maker.d.ts",
10
- "scripts": {
11
- "test": "mocha --require ts-node/register test/**/*_spec.ts test/**/**/*_spec.ts --opts ../../../mocha.opts"
12
- },
13
10
  "devDependencies": {
14
- "chai": "^4.0.0",
15
- "mocha": "^5.0.0"
11
+ "chai": "^4.3.3",
12
+ "mocha": "^9.0.1",
13
+ "sinon": "^13.0.1"
16
14
  },
17
15
  "engines": {
18
- "node": ">= 6.0"
16
+ "node": ">= 14.17.5"
19
17
  },
20
18
  "dependencies": {
21
- "@electron-forge/shared-types": "6.0.0-beta.9",
22
- "fs-extra": "^5.0.0"
19
+ "@electron-forge/shared-types": "6.0.0",
20
+ "fs-extra": "^10.0.0",
21
+ "which": "^2.0.2"
23
22
  }
24
23
  }
package/tsconfig.json CHANGED
@@ -1,23 +1,36 @@
1
1
  {
2
- "compilerOptions": {
3
- "module": "commonjs",
4
- "target": "es6",
5
- "outDir": "dist",
6
- "lib": [
7
- "es6",
8
- "dom",
9
- "es7"
10
- ],
11
- "sourceMap": true,
12
- "rootDir": "src",
13
- "experimentalDecorators": true,
14
- "strict": true,
15
- "esModuleInterop": true,
16
- "declaration": true
17
- },
18
- "exclude": [
19
- "node_modules",
20
- "dist",
21
- "test"
22
- ]
2
+ "//": "⚠️ AUTOGENERATED ⚠️ This file was automatically generated by tools/gen-tsconfigs.ts, do not edit manually.",
3
+ "compilerOptions": {
4
+ "module": "commonjs",
5
+ "target": "es2019",
6
+ "outDir": "dist",
7
+ "lib": [
8
+ "dom",
9
+ "es2019"
10
+ ],
11
+ "sourceMap": true,
12
+ "rootDir": "src",
13
+ "experimentalDecorators": true,
14
+ "strict": true,
15
+ "esModuleInterop": true,
16
+ "declaration": true,
17
+ "composite": true,
18
+ "declarationMap": true,
19
+ "typeRoots": [
20
+ "../../../typings",
21
+ "../../../node_modules/@types"
22
+ ]
23
+ },
24
+ "exclude": [
25
+ "node_modules",
26
+ "dist",
27
+ "test",
28
+ "index.ts",
29
+ "tmpl"
30
+ ],
31
+ "references": [
32
+ {
33
+ "path": "../../utils/types"
34
+ }
35
+ ]
23
36
  }