mrpj 0.0.6 → 0.0.7

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/.jsii CHANGED
@@ -74,6 +74,15 @@
74
74
  "url": "git@github.com:mrgrain/projen-projects.git"
75
75
  },
76
76
  "schema": "jsii/0.10.0",
77
+ "submodules": {
78
+ "mrpj.utils": {
79
+ "locationInModule": {
80
+ "filename": "src/index.ts",
81
+ "line": 7
82
+ },
83
+ "symbolId": "src/utils:"
84
+ }
85
+ },
77
86
  "targets": {
78
87
  "js": {
79
88
  "npm": "mrpj"
@@ -8038,6 +8047,6 @@
8038
8047
  "symbolId": "src/typescript-project-options:TypeScriptProjectOptions"
8039
8048
  }
8040
8049
  },
8041
- "version": "0.0.6",
8042
- "fingerprint": "aWGkPrek19IYDdHNMszP1tP5ayZsw39J/jOBCJGX2wM="
8050
+ "version": "0.0.7",
8051
+ "fingerprint": "EeX4uYV3DNUrA7YUTXvkYzE/GD9rQ1T6xaRw1IEdDSw="
8043
8052
  }
@@ -10,6 +10,6 @@ const projen_1 = require("projen");
10
10
  class ConstructProject extends projen_1.awscdk.AwsCdkConstructLibrary {
11
11
  }
12
12
  _a = JSII_RTTI_SYMBOL_1;
13
- ConstructProject[_a] = { fqn: "mrpj.ConstructProject", version: "0.0.6" };
13
+ ConstructProject[_a] = { fqn: "mrpj.ConstructProject", version: "0.0.7" };
14
14
  exports.ConstructProject = ConstructProject;
15
15
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RydWN0LXByb2plY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uc3RydWN0LXByb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBZ0M7QUFFaEM7O0dBRUc7QUFDSCxNQUFhLGdCQUFpQixTQUFRLGVBQU0sQ0FBQyxzQkFBc0I7Ozs7QUFBdEQsNENBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXdzY2RrIH0gZnJvbSAncHJvamVuJztcblxuLyoqXG4gKiBAcGppZCBjb25zdHJ1Y3RcbiAqL1xuZXhwb3J0IGNsYXNzIENvbnN0cnVjdFByb2plY3QgZXh0ZW5kcyBhd3NjZGsuQXdzQ2RrQ29uc3RydWN0TGlicmFyeSB7XG59Il19
package/lib/index.d.ts CHANGED
@@ -4,3 +4,4 @@ export * from './projen-project';
4
4
  export * from './projen-project-options';
5
5
  export * from './typescript-project';
6
6
  export * from './typescript-project-options';
7
+ export * as utils from './utils';
package/lib/index.js CHANGED
@@ -14,10 +14,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.utils = void 0;
17
18
  __exportStar(require("./construct-project"), exports);
18
19
  __exportStar(require("./construct-project-options"), exports);
19
20
  __exportStar(require("./projen-project"), exports);
20
21
  __exportStar(require("./projen-project-options"), exports);
21
22
  __exportStar(require("./typescript-project"), exports);
22
23
  __exportStar(require("./typescript-project-options"), exports);
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUFvQztBQUNwQyw4REFBNEM7QUFDNUMsbURBQWlDO0FBQ2pDLDJEQUF5QztBQUN6Qyx1REFBcUM7QUFDckMsK0RBQTZDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb25zdHJ1Y3QtcHJvamVjdCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnN0cnVjdC1wcm9qZWN0LW9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9qZW4tcHJvamVjdCc7XG5leHBvcnQgKiBmcm9tICcuL3Byb2plbi1wcm9qZWN0LW9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlc2NyaXB0LXByb2plY3QnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlc2NyaXB0LXByb2plY3Qtb3B0aW9ucyc7Il19
24
+ exports.utils = require("./utils");
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzREFBb0M7QUFDcEMsOERBQTRDO0FBQzVDLG1EQUFpQztBQUNqQywyREFBeUM7QUFDekMsdURBQXFDO0FBQ3JDLCtEQUE2QztBQUM3QyxtQ0FBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbnN0cnVjdC1wcm9qZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vY29uc3RydWN0LXByb2plY3Qtb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3Byb2plbi1wcm9qZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vcHJvamVuLXByb2plY3Qtb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzY3JpcHQtcHJvamVjdCc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzY3JpcHQtcHJvamVjdC1vcHRpb25zJztcbmV4cG9ydCAqIGFzIHV0aWxzIGZyb20gJy4vdXRpbHMnOyJdfQ==
@@ -62,7 +62,7 @@ class ProjenProject extends projen_1.cdk.JsiiProject {
62
62
  }
63
63
  }
64
64
  _a = JSII_RTTI_SYMBOL_1;
65
- ProjenProject[_a] = { fqn: "mrpj.ProjenProject", version: "0.0.6" };
65
+ ProjenProject[_a] = { fqn: "mrpj.ProjenProject", version: "0.0.7" };
66
66
  exports.ProjenProject = ProjenProject;
67
67
  function packageInfo(repo) {
68
68
  const githubUser = repo.split('/')[0];
@@ -10,6 +10,6 @@ const projen_1 = require("projen");
10
10
  class TypeScriptProject extends projen_1.typescript.TypeScriptProject {
11
11
  }
12
12
  _a = JSII_RTTI_SYMBOL_1;
13
- TypeScriptProject[_a] = { fqn: "mrpj.TypeScriptProject", version: "0.0.6" };
13
+ TypeScriptProject[_a] = { fqn: "mrpj.TypeScriptProject", version: "0.0.7" };
14
14
  exports.TypeScriptProject = TypeScriptProject;
15
15
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdC1wcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3R5cGVzY3JpcHQtcHJvamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUFvQztBQUVwQzs7R0FFRztBQUNILE1BQWEsaUJBQWtCLFNBQVEsbUJBQVUsQ0FBQyxpQkFBaUI7Ozs7QUFBdEQsOENBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZXNjcmlwdCB9IGZyb20gJ3Byb2plbic7XG5cbi8qKlxuICogQHBqaWQgdHNcbiAqL1xuZXhwb3J0IGNsYXNzIFR5cGVTY3JpcHRQcm9qZWN0IGV4dGVuZHMgdHlwZXNjcmlwdC5UeXBlU2NyaXB0UHJvamVjdCB7XG59Il19
package/lib/utils.d.ts CHANGED
@@ -11,3 +11,15 @@ export declare function noEmpties(list: any[]): any[];
11
11
  * User options take precedence.
12
12
  */
13
13
  export declare function deepDefaults<T>(options?: Partial<T>, defaults?: Partial<T>): T;
14
+ /**
15
+ * Immutable deep merging objects.
16
+ */
17
+ export declare function deepMerge(...data: any[]): any;
18
+ /**
19
+ * Is this thing an object
20
+ */
21
+ export declare function isObject(x: any): x is object;
22
+ /**
23
+ * Is this thing a plain object (i.e. `{a: 1}`)
24
+ */
25
+ export declare function isPlainObject(x: any): x is object;
package/lib/utils.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deepDefaults = exports.noEmpties = exports.ifSet = void 0;
3
+ exports.isPlainObject = exports.isObject = exports.deepMerge = exports.deepDefaults = exports.noEmpties = exports.ifSet = void 0;
4
4
  /**
5
5
  * Return a value if the check value is truthy, undefined otherwise.
6
6
  */
@@ -23,28 +23,50 @@ exports.noEmpties = noEmpties;
23
23
  * User options take precedence.
24
24
  */
25
25
  function deepDefaults(options = {}, defaults = {}) {
26
- return mergeDeep(defaults, options);
26
+ return deepMerge(defaults, options);
27
27
  }
28
28
  exports.deepDefaults = deepDefaults;
29
- function mergeDeep(...data) {
30
- return data.reduce((result, current) => {
29
+ /**
30
+ * Immutable deep merging objects.
31
+ */
32
+ function deepMerge(...data) {
33
+ return [{}, ...data].reduce((result, current) => {
31
34
  Object.keys(current).forEach(key => {
32
35
  const resultValue = result[key];
33
36
  const currentValue = current[key];
34
37
  if (Array.isArray(resultValue) && Array.isArray(currentValue)) {
35
38
  result[key] = resultValue.concat(...currentValue);
36
39
  }
37
- else if (isObject(resultValue) && isObject(currentValue)) {
38
- result[key] = mergeDeep(resultValue, currentValue);
40
+ else if (Array.isArray(currentValue)) {
41
+ result[key] = [...currentValue];
42
+ }
43
+ else if (isPlainObject(resultValue) && isPlainObject(currentValue)) {
44
+ result[key] = deepMerge(resultValue, currentValue);
45
+ }
46
+ else if (isPlainObject(currentValue)) {
47
+ result[key] = deepMerge({}, currentValue);
39
48
  }
40
49
  else {
41
50
  result[key] = currentValue;
42
51
  }
52
+ ;
43
53
  });
44
54
  return result;
45
55
  }, {});
46
56
  }
57
+ exports.deepMerge = deepMerge;
58
+ /**
59
+ * Is this thing an object
60
+ */
47
61
  function isObject(x) {
48
- return (x && typeof x === 'object' && !Array.isArray(x));
62
+ return Boolean(x && typeof x === 'object' && !Array.isArray(x));
63
+ }
64
+ exports.isObject = isObject;
65
+ /**
66
+ * Is this thing a plain object (i.e. `{a: 1}`)
67
+ */
68
+ function isPlainObject(x) {
69
+ return Boolean(isObject(x) && Object.getPrototypeOf(x) === Object.prototype);
49
70
  }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0E7O0dBRUc7QUFDSCxTQUFnQixLQUFLLENBQUMsS0FBVSxFQUFFLElBQVM7SUFDekMsSUFBSSxLQUFLLEVBQUU7UUFDVCxPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUxELHNCQUtDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixTQUFTLENBQUMsSUFBVztJQUNuQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssU0FBUyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztBQUN6RCxDQUFDO0FBRkQsOEJBRUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixZQUFZLENBQUksVUFBc0IsRUFBUyxFQUFFLFdBQXVCLEVBQVM7SUFDL0YsT0FBTyxTQUFTLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3RDLENBQUM7QUFGRCxvQ0FFQztBQUVELFNBQVMsU0FBUyxDQUFDLEdBQUcsSUFBVztJQUMvQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDckMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDakMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2hDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUVsQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRTtnQkFDN0QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FBQzthQUNuRDtpQkFBTSxJQUFJLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxRQUFRLENBQUMsWUFBWSxDQUFDLEVBQUU7Z0JBQzFELE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUFDO2FBQ3BEO2lCQUFNO2dCQUNMLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxZQUFZLENBQUM7YUFDNUI7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNULENBQUM7QUFFRCxTQUFTLFFBQVEsQ0FBQyxDQUFNO0lBQ3RCLE9BQU8sQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qKlxuICogUmV0dXJuIGEgdmFsdWUgaWYgdGhlIGNoZWNrIHZhbHVlIGlzIHRydXRoeSwgdW5kZWZpbmVkIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlmU2V0KGNoZWNrOiBhbnksIHRoZW46IGFueSk6IGFueSB7XG4gIGlmIChjaGVjaykge1xuICAgIHJldHVybiB0aGVuO1xuICB9XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogUmV0dXJuIHRoZSBsaXN0IHdpdGhvdXQgdW5kZWZpbmVkIG9yIG51bGwgZWxlbWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub0VtcHRpZXMobGlzdDogYW55W10pOiBhbnlbXSB7XG4gIHJldHVybiBsaXN0LmZpbHRlcihlID0+IGUgIT09IHVuZGVmaW5lZCAmJiBlICE9PSBudWxsKTtcbn1cblxuLyoqXG4gKiBEZWVwIG1lcmdlIGEgdXNlciBwcm92aWRlZCBvcHRpb25zIG9iamVjdCB3aXRoIGRlZmF1bHRzLlxuICogVXNlciBvcHRpb25zIHRha2UgcHJlY2VkZW5jZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlZXBEZWZhdWx0czxUPihvcHRpb25zOiBQYXJ0aWFsPFQ+ID0ge30gYXMgYW55LCBkZWZhdWx0czogUGFydGlhbDxUPiA9IHt9IGFzIGFueSk6IFQge1xuICByZXR1cm4gbWVyZ2VEZWVwKGRlZmF1bHRzLCBvcHRpb25zKTtcbn1cblxuZnVuY3Rpb24gbWVyZ2VEZWVwKC4uLmRhdGE6IGFueVtdKTogYW55IHtcbiAgcmV0dXJuIGRhdGEucmVkdWNlKChyZXN1bHQsIGN1cnJlbnQpID0+IHtcbiAgICBPYmplY3Qua2V5cyhjdXJyZW50KS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBjb25zdCByZXN1bHRWYWx1ZSA9IHJlc3VsdFtrZXldO1xuICAgICAgY29uc3QgY3VycmVudFZhbHVlID0gY3VycmVudFtrZXldO1xuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShyZXN1bHRWYWx1ZSkgJiYgQXJyYXkuaXNBcnJheShjdXJyZW50VmFsdWUpKSB7XG4gICAgICAgIHJlc3VsdFtrZXldID0gcmVzdWx0VmFsdWUuY29uY2F0KC4uLmN1cnJlbnRWYWx1ZSk7XG4gICAgICB9IGVsc2UgaWYgKGlzT2JqZWN0KHJlc3VsdFZhbHVlKSAmJiBpc09iamVjdChjdXJyZW50VmFsdWUpKSB7XG4gICAgICAgIHJlc3VsdFtrZXldID0gbWVyZ2VEZWVwKHJlc3VsdFZhbHVlLCBjdXJyZW50VmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzdWx0W2tleV0gPSBjdXJyZW50VmFsdWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9LCB7fSk7XG59XG5cbmZ1bmN0aW9uIGlzT2JqZWN0KHg6IGFueSk6IHggaXMgb2JqZWN0IHtcbiAgcmV0dXJuICh4ICYmIHR5cGVvZiB4ID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheSh4KSk7XG59Il19
71
+ exports.isPlainObject = isPlainObject;
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0E7O0dBRUc7QUFDSCxTQUFnQixLQUFLLENBQUMsS0FBVSxFQUFFLElBQVM7SUFDekMsSUFBSSxLQUFLLEVBQUU7UUFDVCxPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUxELHNCQUtDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixTQUFTLENBQUMsSUFBVztJQUNuQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssU0FBUyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztBQUN6RCxDQUFDO0FBRkQsOEJBRUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixZQUFZLENBQUksVUFBc0IsRUFBUyxFQUFFLFdBQXVCLEVBQVM7SUFDL0YsT0FBTyxTQUFTLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3RDLENBQUM7QUFGRCxvQ0FFQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsU0FBUyxDQUFDLEdBQUcsSUFBVztJQUN0QyxPQUFPLENBQUMsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxFQUFFO1FBQzlDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2pDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoQyxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFbEMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUU7Z0JBQzdELE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUM7YUFDbkQ7aUJBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFO2dCQUN0QyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDO2FBQ2pDO2lCQUFNLElBQUksYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxZQUFZLENBQUMsRUFBRTtnQkFDcEUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDLENBQUM7YUFDcEQ7aUJBQU0sSUFBSSxhQUFhLENBQUMsWUFBWSxDQUFDLEVBQUU7Z0JBQ3RDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDO2FBQzNDO2lCQUFNO2dCQUNMLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxZQUFZLENBQUM7YUFDNUI7WUFBQSxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDVCxDQUFDO0FBckJELDhCQXFCQztBQUdEOztHQUVHO0FBQ0gsU0FBZ0IsUUFBUSxDQUFDLENBQU07SUFDN0IsT0FBTyxPQUFPLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRSxDQUFDO0FBRkQsNEJBRUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLGFBQWEsQ0FBQyxDQUFNO0lBQ2xDLE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUMvRSxDQUFDO0FBRkQsc0NBRUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qKlxuICogUmV0dXJuIGEgdmFsdWUgaWYgdGhlIGNoZWNrIHZhbHVlIGlzIHRydXRoeSwgdW5kZWZpbmVkIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlmU2V0KGNoZWNrOiBhbnksIHRoZW46IGFueSk6IGFueSB7XG4gIGlmIChjaGVjaykge1xuICAgIHJldHVybiB0aGVuO1xuICB9XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogUmV0dXJuIHRoZSBsaXN0IHdpdGhvdXQgdW5kZWZpbmVkIG9yIG51bGwgZWxlbWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub0VtcHRpZXMobGlzdDogYW55W10pOiBhbnlbXSB7XG4gIHJldHVybiBsaXN0LmZpbHRlcihlID0+IGUgIT09IHVuZGVmaW5lZCAmJiBlICE9PSBudWxsKTtcbn1cblxuLyoqXG4gKiBEZWVwIG1lcmdlIGEgdXNlciBwcm92aWRlZCBvcHRpb25zIG9iamVjdCB3aXRoIGRlZmF1bHRzLlxuICogVXNlciBvcHRpb25zIHRha2UgcHJlY2VkZW5jZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlZXBEZWZhdWx0czxUPihvcHRpb25zOiBQYXJ0aWFsPFQ+ID0ge30gYXMgYW55LCBkZWZhdWx0czogUGFydGlhbDxUPiA9IHt9IGFzIGFueSk6IFQge1xuICByZXR1cm4gZGVlcE1lcmdlKGRlZmF1bHRzLCBvcHRpb25zKTtcbn1cblxuLyoqXG4gKiBJbW11dGFibGUgZGVlcCBtZXJnaW5nIG9iamVjdHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWVwTWVyZ2UoLi4uZGF0YTogYW55W10pOiBhbnkge1xuICByZXR1cm4gW3t9LCAuLi5kYXRhXS5yZWR1Y2UoKHJlc3VsdCwgY3VycmVudCkgPT4ge1xuICAgIE9iamVjdC5rZXlzKGN1cnJlbnQpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdFZhbHVlID0gcmVzdWx0W2tleV07XG4gICAgICBjb25zdCBjdXJyZW50VmFsdWUgPSBjdXJyZW50W2tleV07XG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlc3VsdFZhbHVlKSAmJiBBcnJheS5pc0FycmF5KGN1cnJlbnRWYWx1ZSkpIHtcbiAgICAgICAgcmVzdWx0W2tleV0gPSByZXN1bHRWYWx1ZS5jb25jYXQoLi4uY3VycmVudFZhbHVlKTtcbiAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShjdXJyZW50VmFsdWUpKSB7XG4gICAgICAgIHJlc3VsdFtrZXldID0gWy4uLmN1cnJlbnRWYWx1ZV07XG4gICAgICB9IGVsc2UgaWYgKGlzUGxhaW5PYmplY3QocmVzdWx0VmFsdWUpICYmIGlzUGxhaW5PYmplY3QoY3VycmVudFZhbHVlKSkge1xuICAgICAgICByZXN1bHRba2V5XSA9IGRlZXBNZXJnZShyZXN1bHRWYWx1ZSwgY3VycmVudFZhbHVlKTtcbiAgICAgIH0gZWxzZSBpZiAoaXNQbGFpbk9iamVjdChjdXJyZW50VmFsdWUpKSB7XG4gICAgICAgIHJlc3VsdFtrZXldID0gZGVlcE1lcmdlKHt9LCBjdXJyZW50VmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzdWx0W2tleV0gPSBjdXJyZW50VmFsdWU7XG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfSwge30pO1xufVxuXG5cbi8qKlxuICogSXMgdGhpcyB0aGluZyBhbiBvYmplY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzT2JqZWN0KHg6IGFueSk6IHggaXMgb2JqZWN0IHtcbiAgcmV0dXJuIEJvb2xlYW4oeCAmJiB0eXBlb2YgeCA9PT0gJ29iamVjdCcgJiYgIUFycmF5LmlzQXJyYXkoeCkpO1xufVxuXG4vKipcbiAqIElzIHRoaXMgdGhpbmcgYSBwbGFpbiBvYmplY3QgKGkuZS4gYHthOiAxfWApXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1BsYWluT2JqZWN0KHg6IGFueSk6IHggaXMgb2JqZWN0IHtcbiAgcmV0dXJuIEJvb2xlYW4oaXNPYmplY3QoeCkgJiYgT2JqZWN0LmdldFByb3RvdHlwZU9mKHgpID09PSBPYmplY3QucHJvdG90eXBlKTtcbn0iXX0=
package/package.json CHANGED
@@ -64,7 +64,7 @@
64
64
  "main": "lib/index.js",
65
65
  "license": "MIT",
66
66
  "homepage": "https://github.com/mrgrain/projen-projects",
67
- "version": "0.0.6",
67
+ "version": "0.0.7",
68
68
  "jest": {
69
69
  "testMatch": [
70
70
  "<rootDir>/src/**/__tests__/**/*.ts?(x)",