@jupiterone/typescript-tools 14.0.1 → 16.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/CHANGELOG.md +27 -1
- package/README.md +97 -13
- package/config/commitlint-monorepo.js +3 -0
- package/config/jest-monorepo.js +0 -6
- package/config/jest-package.transform.js +1 -1
- package/config/jest.js +1 -0
- package/config/typescript-node12.json +2 -1
- package/config/typescript-node14-monorepo.json +8 -0
- package/config/typescript-node14.json +7 -0
- package/config/typescript-node16-monorepo.json +8 -0
- package/config/typescript-node16.json +7 -0
- package/config/typescript.json +3 -2
- package/dist/bin/check-tsconfig.js +1 -1
- package/dist/bin/yalc-check.js +8 -4
- package/dist/bin/yalc-publish.js +9 -4
- package/dist/src/index.js +6 -2
- package/dist/src/readMonorepoPackagesForCli.js +2 -2
- package/package.json +25 -22
- package/config/husky.js +0 -5
package/CHANGELOG.md
CHANGED
|
@@ -6,7 +6,33 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
|
6
6
|
and this project adheres to
|
|
7
7
|
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## 16.0.0 - 2022-03-14
|
|
10
|
+
|
|
11
|
+
- Upgrade all dependencies to latest version
|
|
12
|
+
- These variants are now available for typescript configuration:
|
|
13
|
+
- typescript-node12.json
|
|
14
|
+
- typescript-node12-monorepo.json
|
|
15
|
+
- typescript-node14.json
|
|
16
|
+
- typescript-node14-monorepo.json
|
|
17
|
+
- typescript-node16.json
|
|
18
|
+
- typescript-node16-monorepo.json
|
|
19
|
+
- Enabled `forceConsistentCasingInFileNames` by default for typescript
|
|
20
|
+
- Jest now uses `coverageReporters: ['json-summary', 'text', 'text-summary']`
|
|
21
|
+
|
|
22
|
+
## 15.0.0 - 2021-07-14
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
|
|
26
|
+
- Upgraded to `husky@7`, see
|
|
27
|
+
[README.md](./README.md#migrating-from-husky-4-to-husky-7) for migration
|
|
28
|
+
instructions.
|
|
29
|
+
|
|
30
|
+
## 14.0.2 - 2021-03-25
|
|
31
|
+
|
|
32
|
+
### Changed
|
|
33
|
+
|
|
34
|
+
- Remove the `collectCoverageFrom` in `jest-monorepo.js` to avoid potential
|
|
35
|
+
conflicts with package-level code coverage settings.
|
|
10
36
|
|
|
11
37
|
## 14.0.1 - 2021-03-24
|
|
12
38
|
|
package/README.md
CHANGED
|
@@ -16,13 +16,24 @@ dependencies:
|
|
|
16
16
|
|
|
17
17
|
- `eslint`
|
|
18
18
|
|
|
19
|
-
- `husky` (allows you specify git hook scripts
|
|
19
|
+
- `husky` (allows you specify git hook scripts inside `.husky/` directory -
|
|
20
|
+
[read more](#usage-husky-7))
|
|
21
|
+
|
|
22
|
+
- `commmitlint` (optionally require conventional commits -
|
|
23
|
+
[read more](#usage-commitlint))
|
|
20
24
|
|
|
21
25
|
- `lint-staged` (used as a `precommit` hook to automatically reformat changed
|
|
22
26
|
source files)
|
|
23
27
|
|
|
24
28
|
- `ttypescript` (allows transform plugins to be loaded from `tsconfig.json`)
|
|
25
29
|
|
|
30
|
+
## Migrating from Husky 4 to Husky 7:
|
|
31
|
+
|
|
32
|
+
If you've been using previous versions of Husky in your project, the newest
|
|
33
|
+
version of Husky requires some package maintenance to keep git hooks working
|
|
34
|
+
(and working better than previously):
|
|
35
|
+
[read more](#installation-/-upgrade-for-previous-projects)
|
|
36
|
+
|
|
26
37
|
## Helper Scripts
|
|
27
38
|
|
|
28
39
|
This package provides the following `bin` entries:
|
|
@@ -120,12 +131,6 @@ Create `lint-staged.config.js` at root of your project that contains:
|
|
|
120
131
|
module.exports = require('@jupiterone/typescript-tools/config/lint-staged');
|
|
121
132
|
```
|
|
122
133
|
|
|
123
|
-
Create `.huskyrc.js` at root of your project that contains:
|
|
124
|
-
|
|
125
|
-
```javascript
|
|
126
|
-
module.exports = require('@jupiterone/typescript-tools/config/husky');
|
|
127
|
-
```
|
|
128
|
-
|
|
129
134
|
Also, the following `.prettierignore` file is recommended:
|
|
130
135
|
|
|
131
136
|
```plain
|
|
@@ -259,7 +264,7 @@ Create `tsconfig.json` at root of your project that contains the contents below.
|
|
|
259
264
|
|
|
260
265
|
```json
|
|
261
266
|
{
|
|
262
|
-
"extends": "./node_modules/@jupiterone/typescript-tools/config/typescript-
|
|
267
|
+
"extends": "./node_modules/@jupiterone/typescript-tools/config/typescript-node14-monorepo",
|
|
263
268
|
"compilerOptions": {
|
|
264
269
|
"rootDir": ".",
|
|
265
270
|
"outDir": "dist"
|
|
@@ -326,7 +331,7 @@ Add this to `tsconfig.json` file at root of project:
|
|
|
326
331
|
|
|
327
332
|
```json
|
|
328
333
|
{
|
|
329
|
-
"extends": "./node_modules/@jupiterone/typescript-tools/config/typescript-
|
|
334
|
+
"extends": "./node_modules/@jupiterone/typescript-tools/config/typescript-node14",
|
|
330
335
|
"compilerOptions": {
|
|
331
336
|
"rootDir": ".",
|
|
332
337
|
"baseUrl": ".",
|
|
@@ -444,7 +449,7 @@ Create `.eslintrc` at root of your project that contains:
|
|
|
444
449
|
```json
|
|
445
450
|
{
|
|
446
451
|
"root": true,
|
|
447
|
-
"extends": ["@jupiterone/eslint-config
|
|
452
|
+
"extends": ["@jupiterone/eslint-config"],
|
|
448
453
|
"parserOptions": {
|
|
449
454
|
"project": "./tsconfig.json",
|
|
450
455
|
"tsconfigRootDir": "."
|
|
@@ -472,8 +477,87 @@ Create `.eslintrc` at root of your project that contains:
|
|
|
472
477
|
```json
|
|
473
478
|
{
|
|
474
479
|
"root": true,
|
|
475
|
-
"extends": [
|
|
476
|
-
"./node_modules/@jupiterone/typescript-tools/config/eslint-react.json"
|
|
477
|
-
]
|
|
480
|
+
"extends": ["@jupiterone/eslint-config/react"]
|
|
478
481
|
}
|
|
479
482
|
```
|
|
483
|
+
|
|
484
|
+
## Usage: Husky 7
|
|
485
|
+
|
|
486
|
+
In the updates to Husky for major version 7 they have included some large
|
|
487
|
+
changes that fix existing Husky problems. (Most of these problems revolved
|
|
488
|
+
around failing to properly bootstrap a new cloned project with `.git/hooks`
|
|
489
|
+
entries and the inability to run hooks without first loading the `node.js`
|
|
490
|
+
runtime [due to looking in many different places for a JS config that must be
|
|
491
|
+
added to the `.git/hooks` directory])
|
|
492
|
+
|
|
493
|
+
A writeup by the Husky authors
|
|
494
|
+
[can be read here](https://blog.typicode.com/husky-git-hooks-javascript-config/).
|
|
495
|
+
Summarized major changes for our use-case are as follows:
|
|
496
|
+
|
|
497
|
+
- No more `.huskyrc` and no more `[package.json].husky` entries. (Husky is
|
|
498
|
+
configuring Git with shell scripts now, we don't want JS configs)
|
|
499
|
+
|
|
500
|
+
- Hooks now live in a directory specified by `git config` at the
|
|
501
|
+
`core.hooksPath` directory
|
|
502
|
+
|
|
503
|
+
- Husky will try to set the above path automatically on `prepare`
|
|
504
|
+
|
|
505
|
+
- Maintenance needed to upgrade existing hooks to the new format:
|
|
506
|
+
|
|
507
|
+
### Installation / Upgrade for Previous Projects
|
|
508
|
+
|
|
509
|
+
- <b>[Instructions to migrate](https://github.com/typicode/husky-4-to-7) from v4
|
|
510
|
+
to v7 automatically</b>
|
|
511
|
+
|
|
512
|
+
From the above link:
|
|
513
|
+
|
|
514
|
+
```bash
|
|
515
|
+
yarn add husky@latest --dev \
|
|
516
|
+
&& npx husky-init \
|
|
517
|
+
&& npm exec -- github:typicode/husky-4-to-7 --remove-v4-config
|
|
518
|
+
```
|
|
519
|
+
|
|
520
|
+
The above instructions basically just remove the `.git/hooks` entries, creates a
|
|
521
|
+
`.husky` directory, and executes
|
|
522
|
+
`npx husky add .husky/<my-hook> '<My Hook Contents>` for each hook in the
|
|
523
|
+
previous format -- you are free to set up the hooks each on their own, but the
|
|
524
|
+
aforementioned script will attempt to convert the old format to the Husky 7.x
|
|
525
|
+
format.
|
|
526
|
+
|
|
527
|
+
### Recommended Hooks
|
|
528
|
+
|
|
529
|
+
Standard set of Jupiter One hooks are configured as follows, after installing
|
|
530
|
+
Husky:
|
|
531
|
+
|
|
532
|
+
```bash
|
|
533
|
+
npx husky add .husky/pre-commit 'yarn lint-staged && yarn format'
|
|
534
|
+
npx husky add .husky/pre-push 'yarn test:ci'
|
|
535
|
+
```
|
|
536
|
+
|
|
537
|
+
and if following `Conventional Commits` (with a
|
|
538
|
+
[commitlint config](#usage-commitlint)):
|
|
539
|
+
|
|
540
|
+
```bash
|
|
541
|
+
npx husky add .husky/commit-msg 'npx --no-install commitlint --edit "$1"'
|
|
542
|
+
```
|
|
543
|
+
|
|
544
|
+
The above pattern can be used to add hooks for any of the supported git-hooks.
|
|
545
|
+
|
|
546
|
+
## Usage: Commitlint
|
|
547
|
+
|
|
548
|
+
[Commitlint](https://github.com/conventional-changelog/commitlint) is a package
|
|
549
|
+
to enforce that users execute git commits with their messages complying to the
|
|
550
|
+
[conventional commit standard](https://www.conventionalcommits.org/en/v1.0.0/).
|
|
551
|
+
It's entirely optional to enable on a package currently-- to do so, just place a
|
|
552
|
+
`commitlint.config.js` file at your project root, and either configure
|
|
553
|
+
independently, or import a common config from this repository. For convenience a
|
|
554
|
+
`lerna-monorepo` style commitlint.config.js is exported from the config
|
|
555
|
+
directory.
|
|
556
|
+
|
|
557
|
+
Example configuration for a Lerna-maintained monorepo with Conventional Commits:
|
|
558
|
+
|
|
559
|
+
```javascript
|
|
560
|
+
module.exports = {
|
|
561
|
+
extends: ['@jupiterone/typescript-tools/config/commitlint-monorepo'],
|
|
562
|
+
};
|
|
563
|
+
```
|
package/config/jest-monorepo.js
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
module.exports = {
|
|
2
2
|
...require('./jest-base'),
|
|
3
3
|
testMatch: ['<rootDir>/packages/*/{src,test}/**/*.test.{ts,tsx}'],
|
|
4
|
-
collectCoverageFrom: [
|
|
5
|
-
'<rootDir>/packages/*/src/**/*.{ts,tsx}',
|
|
6
|
-
'!**/*.test.{ts,tsx}',
|
|
7
|
-
'!**/__tests__/**',
|
|
8
|
-
],
|
|
9
|
-
|
|
10
4
|
projects: ['<rootDir>/packages/*'],
|
|
11
5
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports = require('babel-jest').createTransformer({
|
|
1
|
+
module.exports = require('babel-jest').default.createTransformer({
|
|
2
2
|
// The "upward" root mode will cause the babel configuration from the root
|
|
3
3
|
// of the project to be used when configuring babel within a package.
|
|
4
4
|
rootMode: 'upward',
|
package/config/jest.js
CHANGED
package/config/typescript.json
CHANGED
|
@@ -16,13 +16,14 @@
|
|
|
16
16
|
"inlineSourceMap": true,
|
|
17
17
|
"inlineSources": true,
|
|
18
18
|
"resolveJsonModule": true,
|
|
19
|
+
"forceConsistentCasingInFileNames": true,
|
|
19
20
|
"paths": {
|
|
20
21
|
"~/*": ["./*"]
|
|
21
22
|
},
|
|
22
23
|
"plugins": [
|
|
23
24
|
{
|
|
24
|
-
"name": "@
|
|
25
|
-
"transform": "@
|
|
25
|
+
"name": "@ovos-media/ts-transform-paths",
|
|
26
|
+
"transform": "@ovos-media/ts-transform-paths",
|
|
26
27
|
"exclude": ["*"]
|
|
27
28
|
}
|
|
28
29
|
]
|
|
@@ -237,4 +237,4 @@ async function run() {
|
|
|
237
237
|
run().catch((err) => {
|
|
238
238
|
console.error(chalk_1.default.red(chalk_1.default.bold('Error occurred. ') + (err.stack || err.toString())));
|
|
239
239
|
});
|
|
240
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stdHNjb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9iaW4vY2hlY2stdHNjb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsa0RBQTBCO0FBQzFCLDJCQUFvQztBQUNwQyxnREFBd0I7QUFDeEIsa0RBQTBCO0FBRTFCLE1BQU0sS0FBSyxHQUFHLGVBQUs7S0FDaEIsTUFBTSxDQUFDLEdBQUcsRUFBRTtJQUNYLEtBQUssRUFBRSxNQUFNO0lBQ2IsSUFBSSxFQUFFLFNBQVM7Q0FDaEIsQ0FBQztLQUNELE1BQU0sQ0FBQyxPQUFPLEVBQUU7SUFDZixJQUFJLEVBQUUsU0FBUztJQUNmLFdBQVcsRUFBRSxxQ0FBcUM7Q0FDbkQsQ0FBQztLQUNELE1BQU0sQ0FBQyxPQUFPLEVBQUU7SUFDZixJQUFJLEVBQUUsU0FBUztJQUNmLFdBQVcsRUFBRSwyQkFBMkI7Q0FDekMsQ0FBQztLQUNELE1BQU0sQ0FBQyxRQUFRLEVBQUU7SUFDaEIsSUFBSSxFQUFFLFNBQVM7SUFDZixXQUFXLEVBQUUsdUNBQXVDO0NBQ3JELENBQUM7S0FDRCxNQUFNLENBQUMsVUFBVSxFQUFFO0lBQ2xCLElBQUksRUFBRSxTQUFTO0lBQ2YsV0FBVyxFQUFFLHFEQUFxRDtDQUNuRSxDQUFDLENBQUMsSUFPSixDQUFDO0FBRUYsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUM7QUFDckMsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUM7QUFDOUMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUM7QUFFM0MsU0FBUyxHQUFHLENBQUMsR0FBVztJQUN0QixJQUFJLE9BQU8sRUFBRTtRQUNYLE9BQU87S0FDUjtJQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDbkIsQ0FBQztBQUVELEtBQUssVUFBVSxZQUFZLENBQUks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S0FDdkI7U0FBTTtRQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsNERBQTRELENBQUMsQ0FBQztLQUMzRTtBQUNILENBQUM7QUFFRCxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUNsQixPQUFPLENBQUMsS0FBSyxDQUNYLGVBQUssQ0FBQyxHQUFHLENBQUMsZUFBSyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUMxRSxDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5cbmltcG9ydCBjaGFsayBmcm9tICdjaGFsayc7XG5pbXBvcnQgeyBwcm9taXNlcyBhcyBmcyB9IGZyb20gJ2ZzJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHlhcmdzIGZyb20gJ3lhcmdzJztcblxuY29uc3QgaW5wdXQgPSB5YXJnc1xuICAub3B0aW9uKCdoJywge1xuICAgIGFsaWFzOiAnaGVscCcsXG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICB9KVxuICAub3B0aW9uKCdodXNreScsIHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVzY3JpcHRpb246ICdJcyB0aGlzIGNvbW1hbmQgYmVpbmcgcmFuIGJ5IGh1c2t5PycsXG4gIH0pXG4gIC5vcHRpb24oJ3F1aWV0Jywge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZXNjcmlwdGlvbjogJ1VzZSBxdWlldCBtb2RlPyAobm8gbG9ncyknLFxuICB9KVxuICAub3B0aW9uKCdyZXBhaXInLCB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlc2NyaXB0aW9uOiAnU2hvdWxkIGVycm9ycyBiZSBmaXhlZCB3aGVuIHBvc3NpYmxlPycsXG4gIH0pXG4gIC5vcHRpb24oJ21vbm9yZXBvJywge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZXNjcmlwdGlvbjogJ0lzIHRoaXMgYSBtb25vcmVwbz8gSWYgc28sIHBhY2thZ2VzIHdpbGwgYmUgY2hlY2tlZCcsXG4gIH0pLmFyZ3YgYXMge1xuICBoZWxwPzogYm9vbGVhbjtcbiAgaHVza3k/OiBib29sZWFuO1xuICBxdWlldD86IGJvb2xlYW47XG4gIHJlcGFpcj86IGJvb2xlYW47XG4gIG1vbm9yZXBvPzogYm9vbGVhbjtcbiAgXzogc3RyaW5nW107XG59O1xuXG5jb25zdCBpc1F1aWV0ID0gaW5wdXQucXVpZXQgPT09IHRydWU7XG5jb25zdCBpc1JlcGFpckVuYWJsZWQgPSBpbnB1dC5yZXBhaXIgPT09IHRydWU7XG5jb25zdCBpc01vbm9yZXBvID0gaW5wdXQubW9ub3JlcG8gPT09IHRydWU7XG5cbmZ1bmN0aW9uIGxvZyhtc2c6IHN0cmluZykge1xuICBpZiAoaXNRdWlldCkge1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zb2xlLmxvZyhtc2cpO1xufVxuXG5hc3luYyBmdW5jdGlvbiByZWFkSnNvbkZpbGU8VD4oZmlsZTogc3RyaW5nKTogUHJvbWlzZTxUIHwgdW5kZWZpbmVkPiB7XG4gIGxldCBjb250ZW50czogc3RyaW5nO1xuICB0cnkge1xuICAgIGNvbnRlbnRzID0gYXdhaXQgZnMucmVhZEZpbGUoZmlsZSwgeyBlbmNvZGluZzogJ3V0ZjgnIH0pO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBsb2coXG4gICAgICBjaGFsay55ZWxsb3coXG4gICAgICAgIGBFcnJvciByZWFkaW5nICR7Y2hhbGsuYm9sZChmaWxlKX0uICR7ZXJyLnRvU3RyaW5nKCl9IChza2lwcGluZylgXG4gICAgICApXG4gICAgKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgbGV0IG9iajtcbiAgdHJ5IHtcbiAgICBvYmogPSBKU09OLnBhcnNlKGNvbnRlbnRzKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgbG9nKFxuICAgICAgY2hhbGsueWVsbG93KFxuICAgICAgICBgRXJyb3IgcGFyc2luZyAke2NoYWxrLmJvbGQoZmlsZSl9LiAke2Vyci50b1N0cmluZygpfSAoc2tpcHBpbmcpYFxuICAgICAgKVxuICAgICk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHJldHVybiBvYmo7XG59XG5cbnR5cGUgUGFja2FnZU1hbmlmZXN0ID0ge1xuICBuYW1lPzogc3RyaW5nO1xuICBkZXBlbmRlbmNpZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICBkZXZEZXBlbmRlbmNpZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufTtcblxudHlwZSBUU0NvbmZpZyA9IHtcbiAgcmVmZXJlbmNlcz86IHtcbiAgICBwYXRoPzogc3RyaW5nO1xuICB9W107XG59O1xuXG50eXBlIFBhY2thZ2VJbmZvID0ge1xuICBwYWNrYWdlTmFtZTogc3RyaW5nO1xuICBkaXI6IHN0cmluZztcbiAgZGlyTmFtZTogc3RyaW5nO1xuICBwYWNrYWdlRmlsZTogc3RyaW5nO1xuICBwYWNrYWdlT2JqOiBQYWNrYWdlTWFuaWZlc3Q7XG59O1xuXG50eXBlIENoZWNrVFNDb25maWdTdGF0cyA9IHtcbiAgcHJvYmxlbUZpbGVDb3VudDogbnVtYmVyO1xufTtcblxuYXN5bmMgZnVuY3Rpb24gY2hlY2tUc0NvbmZpZ0ZpbGUob3B0aW9uczoge1xuICBwYWNrYWdlSW5mbzogUGFja2FnZUluZm87XG4gIHN0YXRzOiBDaGVja1RTQ29uZmlnU3RhdHM7XG4gIHRzY29uZmlnRmlsZTogc3RyaW5nO1xuICB0c2NvbmZpZ09iajogVFNDb25maWc7XG4gIGV4cGVjdGVkUHJvamVjdFJlZmVyZW5jZXM6IFNldDxzdHJpbmc+O1xufSkge1xuICBjb25zdCB7IHBhY2thZ2VJbmZvLCBzdGF0cywgdHNjb25maWdGaWxlLCB0c2NvbmZpZ09iaiB9ID0gb3B0aW9ucztcbiAgY29uc3QgZXhwZWN0ZWQgPSBvcHRpb25zLmV4cGVjdGVkUHJvamVjdFJlZmVyZW5jZXM7XG4gIGNvbnN0IHVuZXhwZWN0ZWQgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgY29uc3QgbWlzc2luZyA9IG5ldyBTZXQ8c3RyaW5nPihleHBlY3RlZCk7XG5cbiAgZm9yIChjb25zdCByZWYgb2YgdHNjb25maWdPYmoucmVmZXJlbmNlcyA/PyBbXSkge1xuICAgIGlmIChyZWYucGF0aCkge1xuICAgICAgaWYgKGV4cGVjdGVkLmhhcyhyZWYucGF0aCkpIHtcbiAgICAgICAgbG9nKGNoYWxrLmdyYXkoYCAg4pyTIEFscmVhZHkgaGFzICR7cmVmLnBhdGh9YCkpO1xuICAgICAgICBtaXNzaW5nLmRlbGV0ZShyZWYucGF0aCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB1bmV4cGVjdGVkLmFkZChyZWYucGF0aCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKHVuZXhwZWN0ZWQuc2l6ZSkge1xuICAgIGxvZyhcbiAgICAgIGNoYWxrLnllbGxvdyhcbiAgICAgICAgYCAgJHtjaGFsay5ib2xkKFxuICAgICAgICAgIHBhY2thZ2VJbmZvLnBhY2thZ2VOYW1lXG4gICAgICAgICl9IGhhcyB1bmV4cGVjdGVkIHByb2plY3QgcmVmZXJlbmNlczpcXG4ke1suLi51bmV4cGVjdGVkXVxuICAgICAgICAgIC5tYXAoKGRlcCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGAgICAgLSAke0pTT04uc3RyaW5naWZ5KGRlcCl9XFxuYDtcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5qb2luKCcnKX1gXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIGlmIChtaXNzaW5nLnNpemUpIHtcbiAgICBsb2coXG4gICAgICBjaGFsay55ZWxsb3coXG4gICAgICAgIGAgICR7Y2hhbGsuYm9sZChcbiAgICAgICAgICBwYWNrYWdlSW5mby5wYWNrYWdlTmFtZVxuICAgICAgICApfSBpcyBtaXNzaW5nIHRoZXNlIHByb2plY3QgcHJvamVjdCByZWZlcmVuY2VzOlxcbiR7Wy4uLm1pc3NpbmddXG4gICAgICAgICAgLm1hcCgoZGVwKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYCAgICAtICR7SlNPTi5zdHJpbmdpZnkoZGVwKX1cXG5gO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmpvaW4oJycpfWBcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgaWYgKCF1bmV4cGVjdGVkLnNpemUgJiYgIW1pc3Npbmcuc2l6ZSkge1xuICAgIGxvZyhcbiAgICAgIGNoYWxrLmdyYXkoXG4gICAgICAgIGBcXG4gICR7Y2hhbGsuYm9sZC5ncmVlbign4pyTJyl9ICR7Y2hhbGsuYm9sZChcbiAgICAgICAgICBwYWNrYWdlSW5mby5wYWNrYWdlTmFtZVxuICAgICAgICApfSBpcyBnb29kYFxuICAgICAgKVxuICAgICk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgc3RhdHMucHJvYmxlbUZpbGVDb3VudCsrO1xuXG4gIGlmIChpc1JlcGFpckVuYWJsZWQpIHtcbiAgICBjb25zdCByZXBhaXJlZFJlZmVyZW5jZXMgPSBbLi4uZXhwZWN0ZWRdLm1hcCgocmVmUGF0aCkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGF0aDogcmVmUGF0aCxcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICBhd2FpdCBmcy53cml0ZUZpbGUoXG4gICAgICB0c2NvbmZpZ0ZpbGUsXG4gICAgICBKU09OLnN0cmluZ2lmeShcbiAgICAgICAge1xuICAgICAgICAgIC4uLnRzY29uZmlnT2JqLFxuICAgICAgICAgIHJlZmVyZW5jZXM6IHJlcGFpcmVkUmVmZXJlbmNlcyxcbiAgICAgICAgfSxcbiAgICAgICAgbnVsbCxcbiAgICAgICAgMlxuICAgICAgKSxcbiAgICAgIHsgZW5jb2Rpbmc6ICd1dGY4JyB9XG4gICAgKTtcblxuICAgIGxvZyhjaGFsay5ncmVlbihgICAke2NoYWxrLmJvbGQocGFja2FnZUluZm8ucGFja2FnZU5hbWUpfSB3YXMgcmVwYWlyZWQhYCkpO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNoZWNrTW9ub3JlcG8oKSB7XG4gIGNvbnN0IHBhY2thZ2VzRGlyID0gcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksICdwYWNrYWdlcycpO1xuICBjb25zdCBwYWNrYWdlczogUGFja2FnZUluZm9bXSA9IFtdO1xuXG4gIGNvbnN0IGtub3duUGFja2FnZXM6IFJlY29yZDxzdHJpbmcsIFBhY2thZ2VJbmZvPiA9IHt9O1xuICBjb25zdCBzdGF0czogQ2hlY2tUU0NvbmZpZ1N0YXRzID0ge1xuICAgIHByb2JsZW1GaWxlQ291bnQ6IDAsXG4gIH07XG5cbiAgbGV0IHBhY2thZ2VzUmVhZERpclJlc3VsdDtcblxuICB0cnkge1xuICAgIHBhY2thZ2VzUmVhZERpclJlc3VsdCA9IGF3YWl0IGZzLnJlYWRkaXIocGFja2FnZXNEaXIpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBsb2coXG4gICAgICBjaGFsay55ZWxsb3coXG4gICAgICAgIGBVbmFibGUgdG8gcmVhZCBtb25vcmVwbyBwYWNrYWdlcyBhdCAke2NoYWxrLmJvbGQoXG4gICAgICAgICAgcGFja2FnZXNEaXJcbiAgICAgICAgKX0gKHByb2JhYmx5IG5vdCBhIG1vbnJlcG8pLiBFcnJvcjogJHtlcnIudG9TdHJpbmcoKX0gKHNraXBwaW5nKWBcbiAgICAgIClcbiAgICApO1xuICAgIHByb2Nlc3MuZXhpdENvZGUgPSAzO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGZvciAoY29uc3QgcGFja2FnZURpck5hbWUgb2YgcGFja2FnZXNSZWFkRGlyUmVzdWx0KSB7XG4gICAgY29uc3QgcGFja2FnZURpciA9IHBhdGguam9pbihwYWNrYWdlc0RpciwgcGFja2FnZURpck5hbWUpO1xuICAgIGNvbnN0IHBhY2thZ2VEaXJTdGF0ID0gYXdhaXQgZnMuc3RhdChwYWNrYWdlRGlyKTtcbiAgICBpZiAoIXBhY2thZ2VEaXJTdGF0LmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHBhY2thZ2VGaWxlID0gcGF0aC5qb2luKHBhY2thZ2VEaXIsICdwYWNrYWdlLmpzb24nKTtcbiAgICBjb25zdCBwYWNrYWdlT2JqID0gYXdhaXQgcmVhZEpzb25GaWxlPFBhY2thZ2VNYW5pZmVzdD4ocGFja2FnZUZpbGUpO1xuICAgIGlmICghcGFja2FnZU9iaikge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgcGFja2FnZU5hbWUgPSBwYWNrYWdlT2JqLm5hbWU7XG4gICAgaWYgKCFwYWNrYWdlTmFtZSkge1xuICAgICAgbG9nKFxuICAgICAgICBjaGFsay55ZWxsb3coXG4gICAgICAgICAgYFBhY2thZ2UgbmFtZSBpcyBtaXNzaW5nIGluICR7Y2hhbGsuYm9sZChwYWNrYWdlRmlsZSl9IChza2lwcGluZylgXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoa25vd25QYWNrYWdlc1twYWNrYWdlTmFtZV0pIHtcbiAgICAgIGxvZyhcbiAgICAgICAgY2hhbGsueWVsbG93KFxuICAgICAgICAgIGBEdXBsaWNhdGUgcGFja2FnZSBuYW1lIGVuY291bnRlcmVkIGluICR7Y2hhbGsuYm9sZChcbiAgICAgICAgICAgIHBhY2thZ2VGaWxlXG4gICAgICAgICAgKX0gKGFib3J0aW5nISlgXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgICBwcm9jZXNzLmV4aXRDb2RlID0gMTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwYWNrYWdlSW5mbzogUGFja2FnZUluZm8gPSB7XG4gICAgICBwYWNrYWdlTmFtZSxcbiAgICAgIGRpcjogcGFja2FnZURpcixcbiAgICAgIGRpck5hbWU6IHBhY2thZ2VEaXJOYW1lLFxuICAgICAgcGFja2FnZUZpbGUsXG4gICAgICBwYWNrYWdlT2JqLFxuICAgIH07XG5cbiAgICBrbm93blBhY2thZ2VzW3BhY2thZ2VOYW1lXSA9IHBhY2thZ2VJbmZvO1xuICAgIHBhY2thZ2VzLnB1c2gocGFja2FnZUluZm8pO1xuICB9XG5cbiAgZm9yIChjb25zdCBwYWNrYWdlSW5mbyBvZiBwYWNrYWdlcykge1xuICAgIGxvZyhgXFxuQ2hlY2tpbmcgJHtjaGFsay5ib2xkKHBhY2thZ2VJbmZvLmRpck5hbWUpfS4uLmApO1xuXG4gICAgY29uc3QgdHNjb25maWdEaXN0RmlsZSA9IHBhdGguam9pbihwYWNrYWdlSW5mby5kaXIsICd0c2NvbmZpZy5kaXN0Lmpzb24nKTtcbiAgICBjb25zdCB0c2NvbmZpZ0Rpc3RPYmogPSBhd2FpdCByZWFkSnNvbkZpbGU8VFNDb25maWc+KHRzY29uZmlnRGlzdEZpbGUpO1xuXG4gICAgY29uc3QgdHNjb25maWdGaWxlID0gcGF0aC5qb2luKHBhY2thZ2VJbmZvLmRpciwgJ3RzY29uZmlnLmpzb24nKTtcbiAgICBjb25zdCB0c2NvbmZpZ09iaiA9IGF3YWl0IHJlYWRKc29uRmlsZTxUU0NvbmZpZz4odHNjb25maWdGaWxlKTtcblxuICAgIGlmICghdHNjb25maWdPYmogJiYgIXRzY29uZmlnRGlzdE9iaikge1xuICAgICAgY29uc29sZS5sb2coXG4gICAgICAgIGBQYWNrYWdlICR7Y2hhbGsuYm9sZChcbiAgICAgICAgICBwYWNrYWdlSW5mby5kaXJOYW1lXG4gICAgICAgICl9IGRvZXMgbm90IGhhdmUgdHNjb25maWcuanNvbiBvciB0c2NvbmZpZy5kaXN0Lmpzb24gKHNraXBwaW5nKWBcbiAgICAgICk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCByZXF1aXJlZERlcGVuZGVuY2llc1NldCA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gICAgY29uc3QgcHJvY2Vzc0RlcGVuZGVuY2llcyA9IChkZXBlbmRlbmN5TmFtZXM6IHN0cmluZ1tdKSA9PiB7XG4gICAgICBmb3IgKGNvbnN0IGRlcGVuZGVuY3lOYW1lIG9mIGRlcGVuZGVuY3lOYW1lcykge1xuICAgICAgICBpZiAoa25vd25QYWNrYWdlc1tkZXBlbmRlbmN5TmFtZV0pIHtcbiAgICAgICAgICByZXF1aXJlZERlcGVuZGVuY2llc1NldC5hZGQoZGVwZW5kZW5jeU5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcblxuICAgIGlmIChwYWNrYWdlSW5mby5wYWNrYWdlT2JqLmRlcGVuZGVuY2llcykge1xuICAgICAgcHJvY2Vzc0RlcGVuZGVuY2llcyhPYmplY3Qua2V5cyhwYWNrYWdlSW5mby5wYWNrYWdlT2JqLmRlcGVuZGVuY2llcykpO1xuICAgIH1cblxuICAgIGlmIChwYWNrYWdlSW5mby5wYWNrYWdlT2JqLmRldkRlcGVuZGVuY2llcykge1xuICAgICAgcHJvY2Vzc0RlcGVuZGVuY2llcyhPYmplY3Qua2V5cyhwYWNrYWdlSW5mby5wYWNrYWdlT2JqLmRldkRlcGVuZGVuY2llcykpO1xuICAgIH1cblxuICAgIGNvbnN0IHJlcXVpcmVkRGVwZW5kZW5jaWVzID0gWy4uLnJlcXVpcmVkRGVwZW5kZW5jaWVzU2V0XTtcbiAgICBpZiAocmVxdWlyZWREZXBlbmRlbmNpZXMubGVuZ3RoKSB7XG4gICAgICBsb2coXG4gICAgICAgIGAgIEl0IGRlcGVuZHMgb246XFxuJHtyZXF1aXJlZERlcGVuZGVuY2llc1xuICAgICAgICAgIC5tYXAoKGRlcCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGAgICAgLSAke2RlcH1cXG5gO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmpvaW4oJycpfWBcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvZyhcbiAgICAgICAgY2hhbGsuZ3JheShcbiAgICAgICAgICBgICAke2NoYWxrLmJvbGQocGFja2FnZUluZm8ucGFja2FnZU5hbWUpfSBoYXMgbm8gZGVwZW5kZW5jaWVzYFxuICAgICAgICApXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGV4cGVjdGVkID0gbmV3IFNldDxzdHJpbmc+KFxuICAgICAgcmVxdWlyZWREZXBlbmRlbmNpZXMubWFwKChkZXApID0+IHtcbiAgICAgICAgY29uc3Qga25vd25QYWNrYWdlID0ga25vd25QYWNrYWdlc1tkZXBdO1xuICAgICAgICByZXR1cm4gYC4uLyR7a25vd25QYWNrYWdlLmRpck5hbWV9L3RzY29uZmlnLmRpc3QuanNvbmA7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICBpZiAodHNjb25maWdPYmopIHtcbiAgICAgIGF3YWl0IGNoZWNrVHNDb25maWdGaWxlKHtcbiAgICAgICAgZXhwZWN0ZWRQcm9qZWN0UmVmZXJlbmNlczogZXhwZWN0ZWQsXG4gICAgICAgIHBhY2thZ2VJbmZvLFxuICAgICAgICBzdGF0cyxcbiAgICAgICAgdHNjb25maWdGaWxlLFxuICAgICAgICB0c2NvbmZpZ09iaixcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh0c2NvbmZpZ0Rpc3RPYmopIHtcbiAgICAgIGF3YWl0IGNoZWNrVHNDb25maWdGaWxlKHtcbiAgICAgICAgZXhwZWN0ZWRQcm9qZWN0UmVmZXJlbmNlczogZXhwZWN0ZWQsXG4gICAgICAgIHBhY2thZ2VJbmZvLFxuICAgICAgICBzdGF0cyxcbiAgICAgICAgdHNjb25maWdGaWxlOiB0c2NvbmZpZ0Rpc3RGaWxlLFxuICAgICAgICB0c2NvbmZpZ09iajogdHNjb25maWdEaXN0T2JqLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgY29uc29sZS5sb2coXG4gICAgYFxcbiR7Y2hhbGsuYm9sZC5ncmVlbignRmluaXNoZWQgY2hlY2tpbmcgdHNjb25maWcuZGlzdC5qc29uIGZpbGVzLicpfWBcbiAgKTtcblxuICBpZiAoaXNSZXBhaXJFbmFibGVkKSB7XG4gICAgY29uc29sZS5sb2coYCAgTnVtYmVyIG9mIGZpbGVzIHJlcGFpcmVkOiAke3N0YXRzLnByb2JsZW1GaWxlQ291bnR9XFxuYCk7XG4gIH0gZWxzZSB7XG4gICAgY29uc29sZS5sb2coYCAgTnVtYmVyIG9mIGZpbGVzIHdpdGggcHJvYmxlbXM6ICR7c3RhdHMucHJvYmxlbUZpbGVDb3VudH1cXG5gKTtcbiAgfVxuXG4gIGlmIChzdGF0cy5wcm9ibGVtRmlsZUNvdW50ICYmICFpc1JlcGFpckVuYWJsZWQpIHtcbiAgICBjb25zb2xlLmVycm9yKFxuICAgICAgY2hhbGsuYm9sZC5yZWQoYFByb2JsZW1zIHdlcmUgZm91bmQgaW4gdHNjb25maWcgZmlsZXMgKHBsZWFzZSByZXZpZXcpLlxcbmApXG4gICAgKTtcbiAgICBwcm9jZXNzLmV4aXRDb2RlID0gMjtcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBydW4oKSB7XG4gIGlmIChpbnB1dC5oZWxwKSB7XG4gICAgcmV0dXJuIHlhcmdzLnNob3dIZWxwKCk7XG4gIH1cblxuICBpZiAoaXNNb25vcmVwbykge1xuICAgIGF3YWl0IGNoZWNrTW9ub3JlcG8oKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zb2xlLmxvZyhgdHNjb25maWcgY2hlY2tzIGFyZSBjdXJyZW50bHkgb25seSBzdXBwb3J0ZWQgZm9yIG1vbm9yZXBvc2ApO1xuICB9XG59XG5cbnJ1bigpLmNhdGNoKChlcnIpID0+IHtcbiAgY29uc29sZS5lcnJvcihcbiAgICBjaGFsay5yZWQoY2hhbGsuYm9sZCgnRXJyb3Igb2NjdXJyZWQuICcpICsgKGVyci5zdGFjayB8fCBlcnIudG9TdHJpbmcoKSkpXG4gICk7XG59KTtcbiJdfQ==
|
|
240
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stdHNjb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9iaW4vY2hlY2stdHNjb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsa0RBQTBCO0FBQzFCLDJCQUFvQztBQUNwQyxnREFBd0I7QUFDeEIsa0RBQTBCO0FBRTFCLE1BQU0sS0FBSyxHQUFHLGVBQUs7S0FDaEIsTUFBTSxDQUFDLEdBQUcsRUFBRTtJQUNYLEtBQUssRUFBRSxNQUFNO0lBQ2IsSUFBSSxFQUFFLFNBQVM7Q0FDaEIsQ0FBQztLQUNELE1BQU0sQ0FBQyxPQUFPLEVBQUU7SUFDZixJQUFJLEVBQUUsU0FBUztJQUNmLFdBQVcsRUFBRSxxQ0FBcUM7Q0FDbkQsQ0FBQztLQUNELE1BQU0sQ0FBQyxPQUFPLEVBQUU7SUFDZixJQUFJLEVBQUUsU0FBUztJQUNmLFdBQVcsRUFBRSwyQkFBMkI7Q0FDekMsQ0FBQztLQUNELE1BQU0sQ0FBQyxRQUFRLEVBQUU7SUFDaEIsSUFBSSxFQUFFLFNBQVM7SUFDZixXQUFXLEVBQUUsdUNBQXVDO0NBQ3JELENBQUM7S0FDRCxNQUFNLENBQUMsVUFBVSxFQUFFO0lBQ2xCLElBQUksRUFBRSxTQUFTO0lBQ2YsV0FBVyxFQUFFLHFEQUFxRDtDQUNuRSxDQUFDLENBQUMsSUFPSixDQUFDO0FBRUYsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUM7QUFDckMsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUM7QUFDOUMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUM7QUFFM0MsU0FBUyxHQUFHLENBQUMsR0FBVztJQUN0QixJQUFJLE9BQU8sRUFBRTtRQUNYLE9BQU87S0FDUjtJQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDbkIsQ0FBQztBQUVELEtBQUssVUFBVSxZQUFZLENBQUks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Q0FBQztLQUN2QjtTQUFNO1FBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0REFBNEQsQ0FBQyxDQUFDO0tBQzNFO0FBQ0gsQ0FBQztBQUVELEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO0lBQ2xCLE9BQU8sQ0FBQyxLQUFLLENBQ1gsZUFBSyxDQUFDLEdBQUcsQ0FBQyxlQUFLLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQzFFLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcblxuaW1wb3J0IGNoYWxrIGZyb20gJ2NoYWxrJztcbmltcG9ydCB7IHByb21pc2VzIGFzIGZzIH0gZnJvbSAnZnMnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeWFyZ3MgZnJvbSAneWFyZ3MnO1xuXG5jb25zdCBpbnB1dCA9IHlhcmdzXG4gIC5vcHRpb24oJ2gnLCB7XG4gICAgYWxpYXM6ICdoZWxwJyxcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gIH0pXG4gIC5vcHRpb24oJ2h1c2t5Jywge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZXNjcmlwdGlvbjogJ0lzIHRoaXMgY29tbWFuZCBiZWluZyByYW4gYnkgaHVza3k/JyxcbiAgfSlcbiAgLm9wdGlvbigncXVpZXQnLCB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlc2NyaXB0aW9uOiAnVXNlIHF1aWV0IG1vZGU/IChubyBsb2dzKScsXG4gIH0pXG4gIC5vcHRpb24oJ3JlcGFpcicsIHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVzY3JpcHRpb246ICdTaG91bGQgZXJyb3JzIGJlIGZpeGVkIHdoZW4gcG9zc2libGU/JyxcbiAgfSlcbiAgLm9wdGlvbignbW9ub3JlcG8nLCB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlc2NyaXB0aW9uOiAnSXMgdGhpcyBhIG1vbm9yZXBvPyBJZiBzbywgcGFja2FnZXMgd2lsbCBiZSBjaGVja2VkJyxcbiAgfSkuYXJndiBhcyB7XG4gIGhlbHA/OiBib29sZWFuO1xuICBodXNreT86IGJvb2xlYW47XG4gIHF1aWV0PzogYm9vbGVhbjtcbiAgcmVwYWlyPzogYm9vbGVhbjtcbiAgbW9ub3JlcG8/OiBib29sZWFuO1xuICBfOiBzdHJpbmdbXTtcbn07XG5cbmNvbnN0IGlzUXVpZXQgPSBpbnB1dC5xdWlldCA9PT0gdHJ1ZTtcbmNvbnN0IGlzUmVwYWlyRW5hYmxlZCA9IGlucHV0LnJlcGFpciA9PT0gdHJ1ZTtcbmNvbnN0IGlzTW9ub3JlcG8gPSBpbnB1dC5tb25vcmVwbyA9PT0gdHJ1ZTtcblxuZnVuY3Rpb24gbG9nKG1zZzogc3RyaW5nKSB7XG4gIGlmIChpc1F1aWV0KSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnNvbGUubG9nKG1zZyk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJlYWRKc29uRmlsZTxUPihmaWxlOiBzdHJpbmcpOiBQcm9taXNlPFQgfCB1bmRlZmluZWQ+IHtcbiAgbGV0IGNvbnRlbnRzOiBzdHJpbmc7XG4gIHRyeSB7XG4gICAgY29udGVudHMgPSBhd2FpdCBmcy5yZWFkRmlsZShmaWxlLCB7IGVuY29kaW5nOiAndXRmOCcgfSk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGxvZyhcbiAgICAgIGNoYWxrLnllbGxvdyhcbiAgICAgICAgYEVycm9yIHJlYWRpbmcgJHtjaGFsay5ib2xkKGZpbGUpfS4gJHtlcnIudG9TdHJpbmcoKX0gKHNraXBwaW5nKWBcbiAgICAgIClcbiAgICApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBsZXQgb2JqO1xuICB0cnkge1xuICAgIG9iaiA9IEpTT04ucGFyc2UoY29udGVudHMpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBsb2coXG4gICAgICBjaGFsay55ZWxsb3coXG4gICAgICAgIGBFcnJvciBwYXJzaW5nICR7Y2hhbGsuYm9sZChmaWxlKX0uICR7ZXJyLnRvU3RyaW5nKCl9IChza2lwcGluZylgXG4gICAgICApXG4gICAgKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcmV0dXJuIG9iajtcbn1cblxudHlwZSBQYWNrYWdlTWFuaWZlc3QgPSB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGRlcGVuZGVuY2llcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIGRldkRlcGVuZGVuY2llcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59O1xuXG50eXBlIFRTQ29uZmlnID0ge1xuICByZWZlcmVuY2VzPzoge1xuICAgIHBhdGg/OiBzdHJpbmc7XG4gIH1bXTtcbn07XG5cbnR5cGUgUGFja2FnZUluZm8gPSB7XG4gIHBhY2thZ2VOYW1lOiBzdHJpbmc7XG4gIGRpcjogc3RyaW5nO1xuICBkaXJOYW1lOiBzdHJpbmc7XG4gIHBhY2thZ2VGaWxlOiBzdHJpbmc7XG4gIHBhY2thZ2VPYmo6IFBhY2thZ2VNYW5pZmVzdDtcbn07XG5cbnR5cGUgQ2hlY2tUU0NvbmZpZ1N0YXRzID0ge1xuICBwcm9ibGVtRmlsZUNvdW50OiBudW1iZXI7XG59O1xuXG5hc3luYyBmdW5jdGlvbiBjaGVja1RzQ29uZmlnRmlsZShvcHRpb25zOiB7XG4gIHBhY2thZ2VJbmZvOiBQYWNrYWdlSW5mbztcbiAgc3RhdHM6IENoZWNrVFNDb25maWdTdGF0cztcbiAgdHNjb25maWdGaWxlOiBzdHJpbmc7XG4gIHRzY29uZmlnT2JqOiBUU0NvbmZpZztcbiAgZXhwZWN0ZWRQcm9qZWN0UmVmZXJlbmNlczogU2V0PHN0cmluZz47XG59KSB7XG4gIGNvbnN0IHsgcGFja2FnZUluZm8sIHN0YXRzLCB0c2NvbmZpZ0ZpbGUsIHRzY29uZmlnT2JqIH0gPSBvcHRpb25zO1xuICBjb25zdCBleHBlY3RlZCA9IG9wdGlvbnMuZXhwZWN0ZWRQcm9qZWN0UmVmZXJlbmNlcztcbiAgY29uc3QgdW5leHBlY3RlZCA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICBjb25zdCBtaXNzaW5nID0gbmV3IFNldDxzdHJpbmc+KGV4cGVjdGVkKTtcblxuICBmb3IgKGNvbnN0IHJlZiBvZiB0c2NvbmZpZ09iai5yZWZlcmVuY2VzID8/IFtdKSB7XG4gICAgaWYgKHJlZi5wYXRoKSB7XG4gICAgICBpZiAoZXhwZWN0ZWQuaGFzKHJlZi5wYXRoKSkge1xuICAgICAgICBsb2coY2hhbGsuZ3JheShgICDinJMgQWxyZWFkeSBoYXMgJHtyZWYucGF0aH1gKSk7XG4gICAgICAgIG1pc3NpbmcuZGVsZXRlKHJlZi5wYXRoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHVuZXhwZWN0ZWQuYWRkKHJlZi5wYXRoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAodW5leHBlY3RlZC5zaXplKSB7XG4gICAgbG9nKFxuICAgICAgY2hhbGsueWVsbG93KFxuICAgICAgICBgICAke2NoYWxrLmJvbGQoXG4gICAgICAgICAgcGFja2FnZUluZm8ucGFja2FnZU5hbWVcbiAgICAgICAgKX0gaGFzIHVuZXhwZWN0ZWQgcHJvamVjdCByZWZlcmVuY2VzOlxcbiR7Wy4uLnVuZXhwZWN0ZWRdXG4gICAgICAgICAgLm1hcCgoZGVwKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYCAgICAtICR7SlNPTi5zdHJpbmdpZnkoZGVwKX1cXG5gO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmpvaW4oJycpfWBcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgaWYgKG1pc3Npbmcuc2l6ZSkge1xuICAgIGxvZyhcbiAgICAgIGNoYWxrLnllbGxvdyhcbiAgICAgICAgYCAgJHtjaGFsay5ib2xkKFxuICAgICAgICAgIHBhY2thZ2VJbmZvLnBhY2thZ2VOYW1lXG4gICAgICAgICl9IGlzIG1pc3NpbmcgdGhlc2UgcHJvamVjdCBwcm9qZWN0IHJlZmVyZW5jZXM6XFxuJHtbLi4ubWlzc2luZ11cbiAgICAgICAgICAubWFwKChkZXApID0+IHtcbiAgICAgICAgICAgIHJldHVybiBgICAgIC0gJHtKU09OLnN0cmluZ2lmeShkZXApfVxcbmA7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuam9pbignJyl9YFxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBpZiAoIXVuZXhwZWN0ZWQuc2l6ZSAmJiAhbWlzc2luZy5zaXplKSB7XG4gICAgbG9nKFxuICAgICAgY2hhbGsuZ3JheShcbiAgICAgICAgYFxcbiAgJHtjaGFsay5ib2xkLmdyZWVuKCfinJMnKX0gJHtjaGFsay5ib2xkKFxuICAgICAgICAgIHBhY2thZ2VJbmZvLnBhY2thZ2VOYW1lXG4gICAgICAgICl9IGlzIGdvb2RgXG4gICAgICApXG4gICAgKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBzdGF0cy5wcm9ibGVtRmlsZUNvdW50Kys7XG5cbiAgaWYgKGlzUmVwYWlyRW5hYmxlZCkge1xuICAgIGNvbnN0IHJlcGFpcmVkUmVmZXJlbmNlcyA9IFsuLi5leHBlY3RlZF0ubWFwKChyZWZQYXRoKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwYXRoOiByZWZQYXRoLFxuICAgICAgfTtcbiAgICB9KTtcblxuICAgIGF3YWl0IGZzLndyaXRlRmlsZShcbiAgICAgIHRzY29uZmlnRmlsZSxcbiAgICAgIEpTT04uc3RyaW5naWZ5KFxuICAgICAgICB7XG4gICAgICAgICAgLi4udHNjb25maWdPYmosXG4gICAgICAgICAgcmVmZXJlbmNlczogcmVwYWlyZWRSZWZlcmVuY2VzLFxuICAgICAgICB9LFxuICAgICAgICBudWxsLFxuICAgICAgICAyXG4gICAgICApLFxuICAgICAgeyBlbmNvZGluZzogJ3V0ZjgnIH1cbiAgICApO1xuXG4gICAgbG9nKGNoYWxrLmdyZWVuKGAgICR7Y2hhbGsuYm9sZChwYWNrYWdlSW5mby5wYWNrYWdlTmFtZSl9IHdhcyByZXBhaXJlZCFgKSk7XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gY2hlY2tNb25vcmVwbygpIHtcbiAgY29uc3QgcGFja2FnZXNEaXIgPSBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgJ3BhY2thZ2VzJyk7XG4gIGNvbnN0IHBhY2thZ2VzOiBQYWNrYWdlSW5mb1tdID0gW107XG5cbiAgY29uc3Qga25vd25QYWNrYWdlczogUmVjb3JkPHN0cmluZywgUGFja2FnZUluZm8+ID0ge307XG4gIGNvbnN0IHN0YXRzOiBDaGVja1RTQ29uZmlnU3RhdHMgPSB7XG4gICAgcHJvYmxlbUZpbGVDb3VudDogMCxcbiAgfTtcblxuICBsZXQgcGFja2FnZXNSZWFkRGlyUmVzdWx0O1xuXG4gIHRyeSB7XG4gICAgcGFja2FnZXNSZWFkRGlyUmVzdWx0ID0gYXdhaXQgZnMucmVhZGRpcihwYWNrYWdlc0Rpcik7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGxvZyhcbiAgICAgIGNoYWxrLnllbGxvdyhcbiAgICAgICAgYFVuYWJsZSB0byByZWFkIG1vbm9yZXBvIHBhY2thZ2VzIGF0ICR7Y2hhbGsuYm9sZChcbiAgICAgICAgICBwYWNrYWdlc0RpclxuICAgICAgICApfSAocHJvYmFibHkgbm90IGEgbW9ucmVwbykuIEVycm9yOiAke2Vyci50b1N0cmluZygpfSAoc2tpcHBpbmcpYFxuICAgICAgKVxuICAgICk7XG4gICAgcHJvY2Vzcy5leGl0Q29kZSA9IDM7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgZm9yIChjb25zdCBwYWNrYWdlRGlyTmFtZSBvZiBwYWNrYWdlc1JlYWREaXJSZXN1bHQpIHtcbiAgICBjb25zdCBwYWNrYWdlRGlyID0gcGF0aC5qb2luKHBhY2thZ2VzRGlyLCBwYWNrYWdlRGlyTmFtZSk7XG4gICAgY29uc3QgcGFja2FnZURpclN0YXQgPSBhd2FpdCBmcy5zdGF0KHBhY2thZ2VEaXIpO1xuICAgIGlmICghcGFja2FnZURpclN0YXQuaXNEaXJlY3RvcnkoKSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgcGFja2FnZUZpbGUgPSBwYXRoLmpvaW4ocGFja2FnZURpciwgJ3BhY2thZ2UuanNvbicpO1xuICAgIGNvbnN0IHBhY2thZ2VPYmogPSBhd2FpdCByZWFkSnNvbkZpbGU8UGFja2FnZU1hbmlmZXN0PihwYWNrYWdlRmlsZSk7XG4gICAgaWYgKCFwYWNrYWdlT2JqKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBwYWNrYWdlTmFtZSA9IHBhY2thZ2VPYmoubmFtZTtcbiAgICBpZiAoIXBhY2thZ2VOYW1lKSB7XG4gICAgICBsb2coXG4gICAgICAgIGNoYWxrLnllbGxvdyhcbiAgICAgICAgICBgUGFja2FnZSBuYW1lIGlzIG1pc3NpbmcgaW4gJHtjaGFsay5ib2xkKHBhY2thZ2VGaWxlKX0gKHNraXBwaW5nKWBcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChrbm93blBhY2thZ2VzW3BhY2thZ2VOYW1lXSkge1xuICAgICAgbG9nKFxuICAgICAgICBjaGFsay55ZWxsb3coXG4gICAgICAgICAgYER1cGxpY2F0ZSBwYWNrYWdlIG5hbWUgZW5jb3VudGVyZWQgaW4gJHtjaGFsay5ib2xkKFxuICAgICAgICAgICAgcGFja2FnZUZpbGVcbiAgICAgICAgICApfSAoYWJvcnRpbmchKWBcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICAgIHByb2Nlc3MuZXhpdENvZGUgPSAxO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHBhY2thZ2VJbmZvOiBQYWNrYWdlSW5mbyA9IHtcbiAgICAgIHBhY2thZ2VOYW1lLFxuICAgICAgZGlyOiBwYWNrYWdlRGlyLFxuICAgICAgZGlyTmFtZTogcGFja2FnZURpck5hbWUsXG4gICAgICBwYWNrYWdlRmlsZSxcbiAgICAgIHBhY2thZ2VPYmosXG4gICAgfTtcblxuICAgIGtub3duUGFja2FnZXNbcGFja2FnZU5hbWVdID0gcGFja2FnZUluZm87XG4gICAgcGFja2FnZXMucHVzaChwYWNrYWdlSW5mbyk7XG4gIH1cblxuICBmb3IgKGNvbnN0IHBhY2thZ2VJbmZvIG9mIHBhY2thZ2VzKSB7XG4gICAgbG9nKGBcXG5DaGVja2luZyAke2NoYWxrLmJvbGQocGFja2FnZUluZm8uZGlyTmFtZSl9Li4uYCk7XG5cbiAgICBjb25zdCB0c2NvbmZpZ0Rpc3RGaWxlID0gcGF0aC5qb2luKHBhY2thZ2VJbmZvLmRpciwgJ3RzY29uZmlnLmRpc3QuanNvbicpO1xuICAgIGNvbnN0IHRzY29uZmlnRGlzdE9iaiA9IGF3YWl0IHJlYWRKc29uRmlsZTxUU0NvbmZpZz4odHNjb25maWdEaXN0RmlsZSk7XG5cbiAgICBjb25zdCB0c2NvbmZpZ0ZpbGUgPSBwYXRoLmpvaW4ocGFja2FnZUluZm8uZGlyLCAndHNjb25maWcuanNvbicpO1xuICAgIGNvbnN0IHRzY29uZmlnT2JqID0gYXdhaXQgcmVhZEpzb25GaWxlPFRTQ29uZmlnPih0c2NvbmZpZ0ZpbGUpO1xuXG4gICAgaWYgKCF0c2NvbmZpZ09iaiAmJiAhdHNjb25maWdEaXN0T2JqKSB7XG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgYFBhY2thZ2UgJHtjaGFsay5ib2xkKFxuICAgICAgICAgIHBhY2thZ2VJbmZvLmRpck5hbWVcbiAgICAgICAgKX0gZG9lcyBub3QgaGF2ZSB0c2NvbmZpZy5qc29uIG9yIHRzY29uZmlnLmRpc3QuanNvbiAoc2tpcHBpbmcpYFxuICAgICAgKTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHJlcXVpcmVkRGVwZW5kZW5jaWVzU2V0ID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgICBjb25zdCBwcm9jZXNzRGVwZW5kZW5jaWVzID0gKGRlcGVuZGVuY3lOYW1lczogc3RyaW5nW10pID0+IHtcbiAgICAgIGZvciAoY29uc3QgZGVwZW5kZW5jeU5hbWUgb2YgZGVwZW5kZW5jeU5hbWVzKSB7XG4gICAgICAgIGlmIChrbm93blBhY2thZ2VzW2RlcGVuZGVuY3lOYW1lXSkge1xuICAgICAgICAgIHJlcXVpcmVkRGVwZW5kZW5jaWVzU2V0LmFkZChkZXBlbmRlbmN5TmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaWYgKHBhY2thZ2VJbmZvLnBhY2thZ2VPYmouZGVwZW5kZW5jaWVzKSB7XG4gICAgICBwcm9jZXNzRGVwZW5kZW5jaWVzKE9iamVjdC5rZXlzKHBhY2thZ2VJbmZvLnBhY2thZ2VPYmouZGVwZW5kZW5jaWVzKSk7XG4gICAgfVxuXG4gICAgaWYgKHBhY2thZ2VJbmZvLnBhY2thZ2VPYmouZGV2RGVwZW5kZW5jaWVzKSB7XG4gICAgICBwcm9jZXNzRGVwZW5kZW5jaWVzKE9iamVjdC5rZXlzKHBhY2thZ2VJbmZvLnBhY2thZ2VPYmouZGV2RGVwZW5kZW5jaWVzKSk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVxdWlyZWREZXBlbmRlbmNpZXMgPSBbLi4ucmVxdWlyZWREZXBlbmRlbmNpZXNTZXRdO1xuICAgIGlmIChyZXF1aXJlZERlcGVuZGVuY2llcy5sZW5ndGgpIHtcbiAgICAgIGxvZyhcbiAgICAgICAgYCAgSXQgZGVwZW5kcyBvbjpcXG4ke3JlcXVpcmVkRGVwZW5kZW5jaWVzXG4gICAgICAgICAgLm1hcCgoZGVwKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYCAgICAtICR7ZGVwfVxcbmA7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuam9pbignJyl9YFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9nKFxuICAgICAgICBjaGFsay5ncmF5KFxuICAgICAgICAgIGAgICR7Y2hhbGsuYm9sZChwYWNrYWdlSW5mby5wYWNrYWdlTmFtZSl9IGhhcyBubyBkZXBlbmRlbmNpZXNgXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgZXhwZWN0ZWQgPSBuZXcgU2V0PHN0cmluZz4oXG4gICAgICByZXF1aXJlZERlcGVuZGVuY2llcy5tYXAoKGRlcCkgPT4ge1xuICAgICAgICBjb25zdCBrbm93blBhY2thZ2UgPSBrbm93blBhY2thZ2VzW2RlcF07XG4gICAgICAgIHJldHVybiBgLi4vJHtrbm93blBhY2thZ2UuZGlyTmFtZX0vdHNjb25maWcuZGlzdC5qc29uYDtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIGlmICh0c2NvbmZpZ09iaikge1xuICAgICAgYXdhaXQgY2hlY2tUc0NvbmZpZ0ZpbGUoe1xuICAgICAgICBleHBlY3RlZFByb2plY3RSZWZlcmVuY2VzOiBleHBlY3RlZCxcbiAgICAgICAgcGFja2FnZUluZm8sXG4gICAgICAgIHN0YXRzLFxuICAgICAgICB0c2NvbmZpZ0ZpbGUsXG4gICAgICAgIHRzY29uZmlnT2JqLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRzY29uZmlnRGlzdE9iaikge1xuICAgICAgYXdhaXQgY2hlY2tUc0NvbmZpZ0ZpbGUoe1xuICAgICAgICBleHBlY3RlZFByb2plY3RSZWZlcmVuY2VzOiBleHBlY3RlZCxcbiAgICAgICAgcGFja2FnZUluZm8sXG4gICAgICAgIHN0YXRzLFxuICAgICAgICB0c2NvbmZpZ0ZpbGU6IHRzY29uZmlnRGlzdEZpbGUsXG4gICAgICAgIHRzY29uZmlnT2JqOiB0c2NvbmZpZ0Rpc3RPYmosXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBjb25zb2xlLmxvZyhcbiAgICBgXFxuJHtjaGFsay5ib2xkLmdyZWVuKCdGaW5pc2hlZCBjaGVja2luZyB0c2NvbmZpZy5kaXN0Lmpzb24gZmlsZXMuJyl9YFxuICApO1xuXG4gIGlmIChpc1JlcGFpckVuYWJsZWQpIHtcbiAgICBjb25zb2xlLmxvZyhgICBOdW1iZXIgb2YgZmlsZXMgcmVwYWlyZWQ6ICR7c3RhdHMucHJvYmxlbUZpbGVDb3VudH1cXG5gKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zb2xlLmxvZyhgICBOdW1iZXIgb2YgZmlsZXMgd2l0aCBwcm9ibGVtczogJHtzdGF0cy5wcm9ibGVtRmlsZUNvdW50fVxcbmApO1xuICB9XG5cbiAgaWYgKHN0YXRzLnByb2JsZW1GaWxlQ291bnQgJiYgIWlzUmVwYWlyRW5hYmxlZCkge1xuICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICBjaGFsay5ib2xkLnJlZChgUHJvYmxlbXMgd2VyZSBmb3VuZCBpbiB0c2NvbmZpZyBmaWxlcyAocGxlYXNlIHJldmlldykuXFxuYClcbiAgICApO1xuICAgIHByb2Nlc3MuZXhpdENvZGUgPSAyO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJ1bigpIHtcbiAgaWYgKGlucHV0LmhlbHApIHtcbiAgICByZXR1cm4geWFyZ3Muc2hvd0hlbHAoKTtcbiAgfVxuXG4gIGlmIChpc01vbm9yZXBvKSB7XG4gICAgYXdhaXQgY2hlY2tNb25vcmVwbygpO1xuICB9IGVsc2Uge1xuICAgIGNvbnNvbGUubG9nKGB0c2NvbmZpZyBjaGVja3MgYXJlIGN1cnJlbnRseSBvbmx5IHN1cHBvcnRlZCBmb3IgbW9ub3JlcG9zYCk7XG4gIH1cbn1cblxucnVuKCkuY2F0Y2goKGVycikgPT4ge1xuICBjb25zb2xlLmVycm9yKFxuICAgIGNoYWxrLnJlZChjaGFsay5ib2xkKCdFcnJvciBvY2N1cnJlZC4gJykgKyAoZXJyLnN0YWNrIHx8IGVyci50b1N0cmluZygpKSlcbiAgKTtcbn0pO1xuIl19
|
package/dist/bin/yalc-check.js
CHANGED
|
@@ -2,7 +2,11 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
4
|
if (k2 === undefined) k2 = k;
|
|
5
|
-
Object.
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
6
10
|
}) : (function(o, m, k, k2) {
|
|
7
11
|
if (k2 === undefined) k2 = k;
|
|
8
12
|
o[k2] = m[k];
|
|
@@ -53,7 +57,7 @@ function checkPackage(packageDir) {
|
|
|
53
57
|
}
|
|
54
58
|
}
|
|
55
59
|
async function yalcPublishMonorepo() {
|
|
56
|
-
const packages = await readMonorepoPackagesForCli_1.readMonorepoPackagesForCli({
|
|
60
|
+
const packages = await (0, readMonorepoPackagesForCli_1.readMonorepoPackagesForCli)({
|
|
57
61
|
log: (msg) => {
|
|
58
62
|
console.log(msg);
|
|
59
63
|
},
|
|
@@ -70,7 +74,7 @@ async function yalcPublishMonorepo() {
|
|
|
70
74
|
async function checkSinglePackage() {
|
|
71
75
|
const packageDir = process.cwd();
|
|
72
76
|
const packageFile = path_1.default.join(packageDir, 'package.json');
|
|
73
|
-
const packageManifest = await readJsonFileForCli_1.readJsonFileForCli(packageFile, console.log);
|
|
77
|
+
const packageManifest = await (0, readJsonFileForCli_1.readJsonFileForCli)(packageFile, console.log);
|
|
74
78
|
if (!packageManifest) {
|
|
75
79
|
process.exitCode = 1;
|
|
76
80
|
return;
|
|
@@ -89,4 +93,4 @@ async function run() {
|
|
|
89
93
|
run().catch((err) => {
|
|
90
94
|
console.error('Error occurred! ' + (err.stack || err.toString()));
|
|
91
95
|
});
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFsYy1jaGVjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2Jpbi95YWxjLWNoZWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsa0ZBQThFO0FBQzlFLDJDQUE2QjtBQUM3QixnREFBd0I7QUFFeEIsa0RBQTBCO0FBQzFCLGtFQUE4RDtBQUU5RCxNQUFNLEtBQUssR0FBRyxlQUFLO0tBQ2hCLE1BQU0sQ0FBQyxHQUFHLEVBQUU7SUFDWCxLQUFLLEVBQUUsTUFBTTtJQUNiLElBQUksRUFBRSxTQUFTO0NBQ2hCLENBQUM7S0FDRCxNQUFNLENBQUMsVUFBVSxFQUFFO0lBQ2xCLElBQUksRUFBRSxTQUFTO0lBQ2YsV0FBVyxFQUFFLHFEQUFxRDtDQUNuRSxDQUFDO0tBQ0QsTUFBTSxDQUFDLFNBQVMsRUFBRTtJQUNqQixJQUFJLEVBQUUsU0FBUztDQUNoQixDQUFDLENBQUMsSUFLSixDQUFDO0FBRUYsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUM7QUFFekMsU0FBUyxZQUFZLENBQUMsVUFBa0I7SUFDdEMsSUFBSSxTQUFTLEVBQUU7UUFDYixPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksVUFBVSxLQUFLLENBQUMsQ0FBQztLQUMxQztJQUNELElBQUksQ0FBQyxhQUFhLENBQUM7UUFDakIsVUFBVSxFQUFFLFVBQVU7S0FDdkIsQ0FBQyxDQUFDO0lBQ0gsSUFBSSxTQUFTLEVBQUU7UUFDYixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxVQUFVLENBQUMsQ0FBQztLQUN0QztBQUNILENBQUM7QUFDRCxLQUFLLFVBQVUsbUJBQW1CO0lBQ2hDLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBQSx1REFBMEIsRUFBQztRQUNoRCxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNYLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkIsQ0FBQztRQUNELE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxFQUFFO0tBQ3ZCLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1FBQ3BCLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ3JCLE9BQU87S0FDUjtJQUVELEtBQUssTUFBTSxVQUFVLElBQUksUUFBUSxFQUFFO1FBQ2pDLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDOUI7QUFDSCxDQUFDO0FBRUQsS0FBSyxVQUFVLGtCQUFrQjtJQUMvQixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7SUFFakMsTUFBTSxXQUFXLEdBQUcsY0FBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDMUQsTUFBTSxlQUFlLEdBQUcsTUFBTSxJQUFBLHVDQUFrQixFQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0UsSUFBSSxDQUFDLGVBQWUsRUFBRTtRQUNwQixPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNyQixPQUFPO0tBQ1I7SUFFRCxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDM0IsQ0FBQztBQUVELEtBQUssVUFBVSxHQUFHO0lBQ2hCLElBQUksS0FBSyxDQUFDLElBQUksRUFBRTtRQUNkLE9BQU8sZUFBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0tBQ3pCO0lBRUQsTUFBTSxrQkFBa0IsRUFBRSxDQUFDO0lBRTNCLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRTtRQUNsQixNQUFNLG1CQUFtQixFQUFFLENBQUM7S0FDN0I7QUFDSCxDQUFDO0FBRUQsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7SUFDbEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNwRSxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcblxuaW1wb3J0IHsgcmVhZE1vbm9yZXBvUGFja2FnZXNGb3JDbGkgfSBmcm9tICd+L3NyYy9yZWFkTW9ub3JlcG9QYWNrYWdlc0ZvckNsaSc7XG5pbXBvcnQgKiBhcyB5YWxjIGZyb20gJ3lhbGMnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5cbmltcG9ydCB5YXJncyBmcm9tICd5YXJncyc7XG5pbXBvcnQgeyByZWFkSnNvbkZpbGVGb3JDbGkgfSBmcm9tICd+L3NyYy9yZWFkSnNvbkZpbGVGb3JDbGknO1xuXG5jb25zdCBpbnB1dCA9IHlhcmdzXG4gIC5vcHRpb24oJ2gnLCB7XG4gICAgYWxpYXM6ICdoZWxwJyxcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gIH0pXG4gIC5vcHRpb24oJ21vbm9yZXBvJywge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZXNjcmlwdGlvbjogJ0lzIHRoaXMgYSBtb25vcmVwbz8gSWYgc28sIHBhY2thZ2VzIHdpbGwgYmUgY2hlY2tlZCcsXG4gIH0pXG4gIC5vcHRpb24oJ3ZlcmJvc2UnLCB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICB9KS5hcmd2IGFzIHtcbiAgaGVscD86IGJvb2xlYW47XG4gIG1vbm9yZXBvPzogYm9vbGVhbjtcbiAgdmVyYm9zZT86IGJvb2xlYW47XG4gIF86IHN0cmluZ1tdO1xufTtcblxuY29uc3QgaXNWZXJib3NlID0gaW5wdXQudmVyYm9zZSA9PT0gdHJ1ZTtcblxuZnVuY3Rpb24gY2hlY2tQYWNrYWdlKHBhY2thZ2VEaXI6IHN0cmluZykge1xuICBpZiAoaXNWZXJib3NlKSB7XG4gICAgY29uc29sZS5sb2coYENoZWNraW5nICR7cGFja2FnZURpcn0uLi5gKTtcbiAgfVxuICB5YWxjLmNoZWNrTWFuaWZlc3Qoe1xuICAgIHdvcmtpbmdEaXI6IHBhY2thZ2VEaXIsXG4gIH0pO1xuICBpZiAoaXNWZXJib3NlKSB7XG4gICAgY29uc29sZS5sb2coYCR7cGFja2FnZURpcn0gY2hlY2tlZGApO1xuICB9XG59XG5hc3luYyBmdW5jdGlvbiB5YWxjUHVibGlzaE1vbm9yZXBvKCkge1xuICBjb25zdCBwYWNrYWdlcyA9IGF3YWl0IHJlYWRNb25vcmVwb1BhY2thZ2VzRm9yQ2xpKHtcbiAgICBsb2c6IChtc2cpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKG1zZyk7XG4gICAgfSxcbiAgICByb290RGlyOiBwcm9jZXNzLmN3ZCgpLFxuICB9KTtcblxuICBpZiAoIXBhY2thZ2VzLmxlbmd0aCkge1xuICAgIHByb2Nlc3MuZXhpdENvZGUgPSAxO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGZvciAoY29uc3QgY3VyUGFja2FnZSBvZiBwYWNrYWdlcykge1xuICAgIGNoZWNrUGFja2FnZShjdXJQYWNrYWdlLmRpcik7XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gY2hlY2tTaW5nbGVQYWNrYWdlKCkge1xuICBjb25zdCBwYWNrYWdlRGlyID0gcHJvY2Vzcy5jd2QoKTtcblxuICBjb25zdCBwYWNrYWdlRmlsZSA9IHBhdGguam9pbihwYWNrYWdlRGlyLCAncGFja2FnZS5qc29uJyk7XG4gIGNvbnN0IHBhY2thZ2VNYW5pZmVzdCA9IGF3YWl0IHJlYWRKc29uRmlsZUZvckNsaShwYWNrYWdlRmlsZSwgY29uc29sZS5sb2cpO1xuICBpZiAoIXBhY2thZ2VNYW5pZmVzdCkge1xuICAgIHByb2Nlc3MuZXhpdENvZGUgPSAxO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNoZWNrUGFja2FnZShwYWNrYWdlRGlyKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcnVuKCkge1xuICBpZiAoaW5wdXQuaGVscCkge1xuICAgIHJldHVybiB5YXJncy5zaG93SGVscCgpO1xuICB9XG5cbiAgYXdhaXQgY2hlY2tTaW5nbGVQYWNrYWdlKCk7XG5cbiAgaWYgKGlucHV0Lm1vbm9yZXBvKSB7XG4gICAgYXdhaXQgeWFsY1B1Ymxpc2hNb25vcmVwbygpO1xuICB9XG59XG5cbnJ1bigpLmNhdGNoKChlcnIpID0+IHtcbiAgY29uc29sZS5lcnJvcignRXJyb3Igb2NjdXJyZWQhICcgKyAoZXJyLnN0YWNrIHx8IGVyci50b1N0cmluZygpKSk7XG59KTtcblwiLi4vc3JjL3JlYWRNb25vcmVwb1BhY2thZ2VzRm9yQ2xpXCJcIi4uL3NyYy9yZWFkSnNvbkZpbGVGb3JDbGlcIiJdfQ==
|
package/dist/bin/yalc-publish.js
CHANGED
|
@@ -2,7 +2,11 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
4
|
if (k2 === undefined) k2 = k;
|
|
5
|
-
Object.
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
6
10
|
}) : (function(o, m, k, k2) {
|
|
7
11
|
if (k2 === undefined) k2 = k;
|
|
8
12
|
o[k2] = m[k];
|
|
@@ -40,7 +44,7 @@ const input = yargs_1.default
|
|
|
40
44
|
description: 'If so, then monorepo packages will be published',
|
|
41
45
|
}).argv;
|
|
42
46
|
async function yalcPublishMonorepo() {
|
|
43
|
-
const packages = await readMonorepoPackagesForCli_1.readMonorepoPackagesForCli({
|
|
47
|
+
const packages = await (0, readMonorepoPackagesForCli_1.readMonorepoPackagesForCli)({
|
|
44
48
|
log: (msg) => {
|
|
45
49
|
console.log(msg);
|
|
46
50
|
},
|
|
@@ -65,6 +69,7 @@ async function yalcPublishMonorepo() {
|
|
|
65
69
|
await yalc.publishPackage({
|
|
66
70
|
push: true,
|
|
67
71
|
workingDir: path_1.default.join(curPackage.dir, 'dist'),
|
|
72
|
+
// yarn: true,
|
|
68
73
|
});
|
|
69
74
|
console.log(chalk_1.default.green(`Published ${chalk_1.default.bold(curPackage.dir)}`));
|
|
70
75
|
resolutions[curPackage.packageName] = `file:${path_1.default.join(homeDir, '.yalc', 'packages', curPackage.packageName, curPackage.packageManifest.version)}`;
|
|
@@ -79,7 +84,7 @@ async function yalcPublishMonorepo() {
|
|
|
79
84
|
async function publishSinglePackage() {
|
|
80
85
|
const packageDir = process.cwd();
|
|
81
86
|
const packageFile = path_1.default.join(packageDir, 'package.json');
|
|
82
|
-
const packageManifest = await readJsonFileForCli_1.readJsonFileForCli(packageFile, console.log);
|
|
87
|
+
const packageManifest = await (0, readJsonFileForCli_1.readJsonFileForCli)(packageFile, console.log);
|
|
83
88
|
if (!packageManifest) {
|
|
84
89
|
process.exitCode = 1;
|
|
85
90
|
return;
|
|
@@ -108,4 +113,4 @@ async function run() {
|
|
|
108
113
|
run().catch((err) => {
|
|
109
114
|
console.error('Error occurred! ' + (err.stack || err.toString()));
|
|
110
115
|
});
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFsYy1wdWJsaXNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vYmluL3lhbGMtcHVibGlzaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLGtGQUE4RTtBQUM5RSwyQ0FBNkI7QUFDN0IsZ0RBQXdCO0FBQ3hCLGtEQUEwQjtBQUMxQiw0Q0FBb0I7QUFFcEIsa0RBQTBCO0FBQzFCLGtFQUE4RDtBQUU5RCxNQUFNLEtBQUssR0FBRyxlQUFLO0tBQ2hCLE1BQU0sQ0FBQyxHQUFHLEVBQUU7SUFDWCxLQUFLLEVBQUUsTUFBTTtJQUNiLElBQUksRUFBRSxTQUFTO0NBQ2hCLENBQUM7S0FDRCxNQUFNLENBQUMsVUFBVSxFQUFFO0lBQ2xCLElBQUksRUFBRSxTQUFTO0lBQ2YsV0FBVyxFQUFFLGlEQUFpRDtDQUMvRCxDQUFDLENBQUMsSUFJSixDQUFDO0FBRUYsS0FBSyxVQUFVLG1CQUFtQjtJQUNoQyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsdURBQTBCLEVBQUM7UUFDaEQsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDWCxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLENBQUM7UUFDRCxPQUFPLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRTtLQUN2QixDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtRQUNwQixPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNyQixPQUFPO0tBQ1I7SUFFRCxNQUFNLFdBQVcsR0FBMkIsRUFBRSxDQUFDO0lBQy9DLE1BQU0sT0FBTyxHQUFHLFlBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUU3QixLQUFLLE1BQU0sVUFBVSxJQUFJLFFBQVEsRUFBRTtRQUNqQyxJQUFJLFVBQVUsQ0FBQyxlQUFlLENBQUMsT0FBTyxLQUFLLElBQUksRUFBRTtZQUMvQyxPQUFPLENB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QyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksZUFBSyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FDNUUsQ0FBQztJQUNGLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDbEIsQ0FBQztBQUVELEtBQUssVUFBVSxHQUFHO0lBQ2hCLElBQUksS0FBSyxDQUFDLElBQUksRUFBRTtRQUNkLE9BQU8sZUFBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0tBQ3pCO0lBRUQsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO1FBQ2xCLE1BQU0sbUJBQW1CLEVBQUUsQ0FBQztLQUM3QjtTQUFNO1FBQ0wsTUFBTSxvQkFBb0IsRUFBRSxDQUFDO0tBQzlCO0FBQ0gsQ0FBQztBQUVELEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO0lBQ2xCLE9BQU8sQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDcEUsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5cbmltcG9ydCB7IHJlYWRNb25vcmVwb1BhY2thZ2VzRm9yQ2xpIH0gZnJvbSAnfi9zcmMvcmVhZE1vbm9yZXBvUGFja2FnZXNGb3JDbGknO1xuaW1wb3J0ICogYXMgeWFsYyBmcm9tICd5YWxjJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IGNoYWxrIGZyb20gJ2NoYWxrJztcbmltcG9ydCBvcyBmcm9tICdvcyc7XG5cbmltcG9ydCB5YXJncyBmcm9tICd5YXJncyc7XG5pbXBvcnQgeyByZWFkSnNvbkZpbGVGb3JDbGkgfSBmcm9tICd+L3NyYy9yZWFkSnNvbkZpbGVGb3JDbGknO1xuXG5jb25zdCBpbnB1dCA9IHlhcmdzXG4gIC5vcHRpb24oJ2gnLCB7XG4gICAgYWxpYXM6ICdoZWxwJyxcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gIH0pXG4gIC5vcHRpb24oJ21vbm9yZXBvJywge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZXNjcmlwdGlvbjogJ0lmIHNvLCB0aGVuIG1vbm9yZXBvIHBhY2thZ2VzIHdpbGwgYmUgcHVibGlzaGVkJyxcbiAgfSkuYXJndiBhcyB7XG4gIGhlbHA/OiBib29sZWFuO1xuICBtb25vcmVwbz86IGJvb2xlYW47XG4gIF86IHN0cmluZ1tdO1xufTtcblxuYXN5bmMgZnVuY3Rpb24geWFsY1B1Ymxpc2hNb25vcmVwbygpIHtcbiAgY29uc3QgcGFja2FnZXMgPSBhd2FpdCByZWFkTW9ub3JlcG9QYWNrYWdlc0ZvckNsaSh7XG4gICAgbG9nOiAobXNnKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZyhtc2cpO1xuICAgIH0sXG4gICAgcm9vdERpcjogcHJvY2Vzcy5jd2QoKSxcbiAgfSk7XG5cbiAgaWYgKCFwYWNrYWdlcy5sZW5ndGgpIHtcbiAgICBwcm9jZXNzLmV4aXRDb2RlID0gMTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCByZXNvbHV0aW9uczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuICBjb25zdCBob21lRGlyID0gb3MuaG9tZWRpcigpO1xuXG4gIGZvciAoY29uc3QgY3VyUGFja2FnZSBvZiBwYWNrYWdlcykge1xuICAgIGlmIChjdXJQYWNrYWdlLnBhY2thZ2VNYW5pZmVzdC5wcml2YXRlID09PSB0cnVlKSB7XG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgYFxcblNraXBwZWQgJHtjaGFsay5ib2xkKGN1clBhY2thZ2UuZGlyKX0gYmVjYXVzZSBpdCBpcyBwcml2YXRlYFxuICAgICAgKTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmICghY3VyUGFja2FnZS5wYWNrYWdlTWFuaWZlc3QudmVyc2lvbikge1xuICAgICAgY29uc29sZS5sb2coXG4gICAgICAgIGBcXG5Ta2lwcGVkICR7Y2hhbGsuYm9sZChjdXJQYWNrYWdlLmRpcil9IGJlY2F1c2UgaXQgaGFzIG5vIHZlcnNpb25gXG4gICAgICApO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc29sZS5sb2coYFxcblB1Ymxpc2hpbmcgJHtjaGFsay5ib2xkKGN1clBhY2thZ2UuZGlyKX0uLi5gKTtcbiAgICBhd2FpdCB5YWxjLnB1Ymxpc2hQYWNrYWdlKHtcbiAgICAgIHB1c2g6IHRydWUsXG4gICAgICB3b3JraW5nRGlyOiBwYXRoLmpvaW4oY3VyUGFja2FnZS5kaXIsICdkaXN0JyksXG4gICAgICAvLyB5YXJuOiB0cnVlLFxuICAgIH0pO1xuICAgIGNvbnNvbGUubG9nKGNoYWxrLmdyZWVuKGBQdWJsaXNoZWQgJHtjaGFsay5ib2xkKGN1clBhY2thZ2UuZGlyKX1gKSk7XG5cbiAgICByZXNvbHV0aW9uc1tjdXJQYWNrYWdlLnBhY2thZ2VOYW1lXSA9IGBmaWxlOiR7cGF0aC5qb2luKFxuICAgICAgaG9tZURpcixcbiAgICAgICcueWFsYycsXG4gICAgICAncGFja2FnZXMnLFxuICAgICAgY3VyUGFja2FnZS5wYWNrYWdlTmFtZSxcbiAgICAgIGN1clBhY2thZ2UucGFja2FnZU1hbmlmZXN0LnZlcnNpb25cbiAgICApfWA7XG4gIH1cblxuICBjb25zb2xlLmxvZyhcbiAgICBgWW91IGNhbiBub3cgcnVuIHRoZSBmb2xsb3dpbmcgaW4gb3RoZXIgcHJvamVjdHMgdG8gdXNlIHRoZXNlIHBhY2thZ2VzOlxcbmBcbiAgKTtcbiAgZm9yIChjb25zdCBjdXJQYWNrYWdlIG9mIHBhY2thZ2VzKSB7XG4gICAgY29uc29sZS5sb2coXG4gICAgICBgICR7Y2hhbGsuYm9sZCgnPicpfSAke2NoYWxrLmJsdWUoXG4gICAgICAgIGBucHggeWFsYyBhZGQgJHtjdXJQYWNrYWdlLnBhY2thZ2VOYW1lfWBcbiAgICAgICl9YFxuICAgICk7XG4gIH1cblxuICBjb25zb2xlLmxvZyhcbiAgICBjaGFsay5ib2xkKCdcXG5BZGQgdGhlIGZvbGxvd2luZyB0byB0aGUgcGFja2FnZS5qc29uIG9mIHRhcmdldCBwcm9qZWN0OlxcbicpXG4gICk7XG4gIGNvbnNvbGUubG9nKFxuICAgIGNoYWxrLmJsdWUoYFwicmVzb2x1dGlvbnNcIjogJHtKU09OLnN0cmluZ2lmeShyZXNvbHV0aW9ucywgbnVsbCwgMil9XFxuYClcbiAgKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcHVibGlzaFNpbmdsZVBhY2thZ2UoKSB7XG4gIGNvbnN0IHBhY2thZ2VEaXIgPSBwcm9jZXNzLmN3ZCgpO1xuXG4gIGNvbnN0IHBhY2thZ2VGaWxlID0gcGF0aC5qb2luKHBhY2thZ2VEaXIsICdwYWNrYWdlLmpzb24nKTtcbiAgY29uc3QgcGFja2FnZU1hbmlmZXN0ID0gYXdhaXQgcmVhZEpzb25GaWxlRm9yQ2xpKHBhY2thZ2VGaWxlLCBjb25zb2xlLmxvZyk7XG4gIGlmICghcGFja2FnZU1hbmlmZXN0KSB7XG4gICAgcHJvY2Vzcy5leGl0Q29kZSA9IDE7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnNvbGUubG9nKGBcXG5QdWJsaXNoaW5nICR7Y2hhbGsuYm9sZChwYWNrYWdlRGlyKX0uLi5gKTtcbiAgYXdhaXQgeWFsYy5wdWJsaXNoUGFja2FnZSh7XG4gICAgcHVzaDogdHJ1ZSxcbiAgICB3b3JraW5nRGlyOiBwYWNrYWdlRGlyLFxuICB9KTtcbiAgY29uc29sZS5sb2coY2hhbGsuZ3JlZW4oYFB1Ymxpc2hlZCAke2NoYWxrLmJvbGQocGFja2FnZURpcil9YCkpO1xuXG4gIGNvbnNvbGUubG9nKFxuICAgIGBZb3UgY2FuIG5vdyBydW4gdGhlIGZvbGxvd2luZyBpbiBvdGhlciBwcm9qZWN0cyB0byB1c2UgdGhpcyBwYWNrYWdlOlxcbmBcbiAgKTtcbiAgY29uc29sZS5sb2coXG4gICAgYCAke2NoYWxrLmJvbGQoJz4nKX0gJHtjaGFsay5ibHVlKGBucHggeWFsYyBhZGQgJHtwYWNrYWdlTWFuaWZlc3QubmFtZX1gKX1gXG4gICk7XG4gIGNvbnNvbGUubG9nKCcnKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gcnVuKCkge1xuICBpZiAoaW5wdXQuaGVscCkge1xuICAgIHJldHVybiB5YXJncy5zaG93SGVscCgpO1xuICB9XG5cbiAgaWYgKGlucHV0Lm1vbm9yZXBvKSB7XG4gICAgYXdhaXQgeWFsY1B1Ymxpc2hNb25vcmVwbygpO1xuICB9IGVsc2Uge1xuICAgIGF3YWl0IHB1Ymxpc2hTaW5nbGVQYWNrYWdlKCk7XG4gIH1cbn1cblxucnVuKCkuY2F0Y2goKGVycikgPT4ge1xuICBjb25zb2xlLmVycm9yKCdFcnJvciBvY2N1cnJlZCEgJyArIChlcnIuc3RhY2sgfHwgZXJyLnRvU3RyaW5nKCkpKTtcbn0pO1xuXCIuLi9zcmMvcmVhZE1vbm9yZXBvUGFja2FnZXNGb3JDbGlcIlwiLi4vc3JjL3JlYWRKc29uRmlsZUZvckNsaVwiIl19
|
package/dist/src/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -12,4 +16,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
12
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
17
|
__exportStar(require("./readMonorepoPackagesForCli"), exports);
|
|
14
18
|
__exportStar(require("./readJsonFileForCli"), exports);
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtEQUE2QztBQUM3Qyx1REFBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3JlYWRNb25vcmVwb1BhY2thZ2VzRm9yQ2xpJztcbmV4cG9ydCAqIGZyb20gJy4vcmVhZEpzb25GaWxlRm9yQ2xpJztcbiJdfQ==
|
|
@@ -28,7 +28,7 @@ async function readMonorepoPackagesForCli(options) {
|
|
|
28
28
|
continue;
|
|
29
29
|
}
|
|
30
30
|
const packageFile = path_1.default.join(packageDir, 'package.json');
|
|
31
|
-
const packageManifest = await readJsonFileForCli_1.readJsonFileForCli(packageFile, log);
|
|
31
|
+
const packageManifest = await (0, readJsonFileForCli_1.readJsonFileForCli)(packageFile, log);
|
|
32
32
|
if (!packageManifest) {
|
|
33
33
|
continue;
|
|
34
34
|
}
|
|
@@ -53,4 +53,4 @@ async function readMonorepoPackagesForCli(options) {
|
|
|
53
53
|
return packages;
|
|
54
54
|
}
|
|
55
55
|
exports.readMonorepoPackagesForCli = readMonorepoPackagesForCli;
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZE1vbm9yZXBvUGFja2FnZXNGb3JDbGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVhZE1vbm9yZXBvUGFja2FnZXNGb3JDbGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsa0RBQTBCO0FBQzFCLDJCQUFvQztBQUNwQyxnREFBd0I7QUFDeEIsNkRBQThEO0FBR3ZELEtBQUssVUFBVSwwQkFBMEIsQ0FBQyxPQUdoRDtJQUNDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQ2pDLE1BQU0sV0FBVyxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sUUFBUSxHQUFrQixFQUFFLENBQUM7SUFFbkMsTUFBTSxhQUFhLEdBQWdDLEVBQUUsQ0FBQztJQUV0RCxJQUFJLHFCQUFxQixDQUFDO0lBRTFCLElBQUk7UUFDRixxQkFBcUIsR0FBRyxNQUFNLGFBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7S0FDdkQ7SUFBQyxPQUFPLEdBQUcsRUFBRTtRQUNaLEdBQUcsQ0FDRCxlQUFLLENBQUMsTUFBTSxDQUNWLHVDQUF1QyxlQUFLLENBQUMsSUFBSSxDQUMvQyxXQUFXLENBQ1osc0NBQXNDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUNuRSxDQUNGLENBQUM7UUFDRixPQUFPLFFBQVEsQ0FBQztLQUNqQjtJQUVELEtBQUssTUFBTSxjQUFjLElBQUkscUJBQXFCLEVBQUU7UUFDbEQsTUFBTSxVQUFVLEdBQUcsY0FBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDMUQsTUFBTSxjQUFjLEdBQUcsTUFBTSxhQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDakMsU0FBUztTQUNWO1FBRUQsTUFBTSxXQUFXLEdBQUcsY0FBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDMUQsTUFBTSxlQUFlLEdBQW9CLE1BQU0sSUFBQSx1Q0FBa0IsRUFDL0QsV0FBVyxFQUNYLEdBQUcsQ0FDSixDQUFDO1FBQ0YsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUNwQixTQUFTO1NBQ1Y7UUFFRCxNQUFNLFdBQVcsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDaEIsR0FBRyxDQUNELGVBQUssQ0FBQyxNQUFNLENBQ1YsOEJBQThCLGVBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FDbkUsQ0FDRixDQUFDO1lBQ0YsU0FBUztTQUNWO1FBRUQsSUFBSSxhQUFhLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDOUIsR0FBRyxDQUNELGVBQUssQ0FBQyxNQUFNLENBQ1YseUNBQXlDLGVBQUssQ0FBQyxJQUFJLENBQ2pELFdBQVcsQ0FDWixjQUFjLENBQ2hCLENBQ0YsQ0FBQztZQUNGLE1BQU0sSUFBSSxLQUFLLENBQUMsc0NBQXNDLENBQUMsQ0FBQztTQUN6RDtRQUVELE1BQU0sV0FBVyxHQUFnQjtZQUMvQixXQUFXO1lBQ1gsR0FBRyxFQUFFLFVBQVU7WUFDZixPQUFPLEVBQUUsY0FBYztZQUN2QixXQUFXO1lBQ1gsZUFBZTtTQUNoQixDQUFDO1FBQ0YsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztLQUM1QjtJQUVELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUF6RUQsZ0VBeUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNoYWxrIGZyb20gJ2NoYWxrJztcbmltcG9ydCB7IHByb21pc2VzIGFzIGZzIH0gZnJvbSAnZnMnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyByZWFkSnNvbkZpbGVGb3JDbGkgfSBmcm9tICd+L3NyYy9yZWFkSnNvbkZpbGVGb3JDbGknO1xuaW1wb3J0IHsgTG9nRnVuYywgUGFja2FnZUluZm8sIFBhY2thZ2VNYW5pZmVzdCB9IGZyb20gJ34vc3JjL3R5cGVzJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlYWRNb25vcmVwb1BhY2thZ2VzRm9yQ2xpKG9wdGlvbnM6IHtcbiAgcm9vdERpcjogc3RyaW5nO1xuICBsb2c6IExvZ0Z1bmM7XG59KTogUHJvbWlzZTxQYWNrYWdlSW5mb1tdPiB7XG4gIGNvbnN0IHsgcm9vdERpciwgbG9nIH0gPSBvcHRpb25zO1xuICBjb25zdCBwYWNrYWdlc0RpciA9IHBhdGguam9pbihyb290RGlyLCAncGFja2FnZXMnKTtcbiAgY29uc3QgcGFja2FnZXM6IFBhY2thZ2VJbmZvW10gPSBbXTtcblxuICBjb25zdCBrbm93blBhY2thZ2VzOiBSZWNvcmQ8c3RyaW5nLCBQYWNrYWdlSW5mbz4gPSB7fTtcblxuICBsZXQgcGFja2FnZXNSZWFkRGlyUmVzdWx0O1xuXG4gIHRyeSB7XG4gICAgcGFja2FnZXNSZWFkRGlyUmVzdWx0ID0gYXdhaXQgZnMucmVhZGRpcihwYWNrYWdlc0Rpcik7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGxvZyhcbiAgICAgIGNoYWxrLnllbGxvdyhcbiAgICAgICAgYFVuYWJsZSB0byByZWFkIG1vbm9yZXBvIHBhY2thZ2VzIGF0ICR7Y2hhbGsuYm9sZChcbiAgICAgICAgICBwYWNrYWdlc0RpclxuICAgICAgICApfSAocHJvYmFibHkgbm90IGEgbW9ub3JlcG8pLiBFcnJvcjogJHtlcnIudG9TdHJpbmcoKX0gKHNraXBwaW5nKWBcbiAgICAgIClcbiAgICApO1xuICAgIHJldHVybiBwYWNrYWdlcztcbiAgfVxuXG4gIGZvciAoY29uc3QgcGFja2FnZURpck5hbWUgb2YgcGFja2FnZXNSZWFkRGlyUmVzdWx0KSB7XG4gICAgY29uc3QgcGFja2FnZURpciA9IHBhdGguam9pbihwYWNrYWdlc0RpciwgcGFja2FnZURpck5hbWUpO1xuICAgIGNvbnN0IHBhY2thZ2VEaXJTdGF0ID0gYXdhaXQgZnMuc3RhdChwYWNrYWdlRGlyKTtcbiAgICBpZiAoIXBhY2thZ2VEaXJTdGF0LmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHBhY2thZ2VGaWxlID0gcGF0aC5qb2luKHBhY2thZ2VEaXIsICdwYWNrYWdlLmpzb24nKTtcbiAgICBjb25zdCBwYWNrYWdlTWFuaWZlc3Q6IFBhY2thZ2VNYW5pZmVzdCA9IGF3YWl0IHJlYWRKc29uRmlsZUZvckNsaShcbiAgICAgIHBhY2thZ2VGaWxlLFxuICAgICAgbG9nXG4gICAgKTtcbiAgICBpZiAoIXBhY2thZ2VNYW5pZmVzdCkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgcGFja2FnZU5hbWUgPSBwYWNrYWdlTWFuaWZlc3QubmFtZTtcbiAgICBpZiAoIXBhY2thZ2VOYW1lKSB7XG4gICAgICBsb2coXG4gICAgICAgIGNoYWxrLnllbGxvdyhcbiAgICAgICAgICBgUGFja2FnZSBuYW1lIGlzIG1pc3NpbmcgaW4gJHtjaGFsay5ib2xkKHBhY2thZ2VGaWxlKX0gKHNraXBwaW5nKWBcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChrbm93blBhY2thZ2VzW3BhY2thZ2VOYW1lXSkge1xuICAgICAgbG9nKFxuICAgICAgICBjaGFsay55ZWxsb3coXG4gICAgICAgICAgYER1cGxpY2F0ZSBwYWNrYWdlIG5hbWUgZW5jb3VudGVyZWQgaW4gJHtjaGFsay5ib2xkKFxuICAgICAgICAgICAgcGFja2FnZUZpbGVcbiAgICAgICAgICApfSAoYWJvcnRpbmchKWBcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRHVwbGljYXRlIHBhY2thZ2VzIGZvdW5kIChhYm9ydGluZyEpYCk7XG4gICAgfVxuXG4gICAgY29uc3QgcGFja2FnZUluZm86IFBhY2thZ2VJbmZvID0ge1xuICAgICAgcGFja2FnZU5hbWUsXG4gICAgICBkaXI6IHBhY2thZ2VEaXIsXG4gICAgICBkaXJOYW1lOiBwYWNrYWdlRGlyTmFtZSxcbiAgICAgIHBhY2thZ2VGaWxlLFxuICAgICAgcGFja2FnZU1hbmlmZXN0LFxuICAgIH07XG4gICAgcGFja2FnZXMucHVzaChwYWNrYWdlSW5mbyk7XG4gIH1cblxuICByZXR1cm4gcGFja2FnZXM7XG59XG5cIi4vcmVhZEpzb25GaWxlRm9yQ2xpXCJcIi4vdHlwZXNcIiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jupiterone/typescript-tools",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "16.0.0",
|
|
4
4
|
"main": "./index.js",
|
|
5
5
|
"repository": "https://github.com/jupiterone/typescript-tools",
|
|
6
6
|
"author": "Development <development@jupiterone.com>",
|
|
@@ -17,7 +17,8 @@
|
|
|
17
17
|
"yalc:publish": "yarn build && node ./dist/bin/yalc-publish $@",
|
|
18
18
|
"yalc:check": "node ./dist/bin/yalc-check $@",
|
|
19
19
|
"tsconfig:repair": "node ./dist/bin/check-tsconfig --repair",
|
|
20
|
-
"tsconfig:check": "node ./dist/bin/check-tsconfig --no-repair"
|
|
20
|
+
"tsconfig:check": "node ./dist/bin/check-tsconfig --no-repair",
|
|
21
|
+
"prepare": "husky install"
|
|
21
22
|
},
|
|
22
23
|
"bin": {
|
|
23
24
|
"check-tsconfig": "./dist/bin/check-tsconfig.js",
|
|
@@ -25,26 +26,28 @@
|
|
|
25
26
|
"yalc-check": "./dist/bin/yalc-check.js"
|
|
26
27
|
},
|
|
27
28
|
"dependencies": {
|
|
28
|
-
"@babel/cli": "^7.
|
|
29
|
-
"@babel/core": "^7.
|
|
30
|
-
"@babel/preset-env": "^7.11
|
|
31
|
-
"@babel/preset-typescript": "^7.
|
|
32
|
-
"@
|
|
33
|
-
"@
|
|
34
|
-
"@
|
|
35
|
-
"@
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
29
|
+
"@babel/cli": "^7.17.6",
|
|
30
|
+
"@babel/core": "^7.17.5",
|
|
31
|
+
"@babel/preset-env": "^7.16.11",
|
|
32
|
+
"@babel/preset-typescript": "^7.16.7",
|
|
33
|
+
"@commitlint/cli": "^16.2.1",
|
|
34
|
+
"@commitlint/config-lerna-scopes": "^16.2.2",
|
|
35
|
+
"@jupiterone/eslint-config": "^2.0.0",
|
|
36
|
+
"@ovos-media/ts-transform-paths": "^1.7.18-1",
|
|
37
|
+
"@philidem/rewrite-relative-paths": "^1.1.2",
|
|
38
|
+
"@types/jest": "^27.4.1",
|
|
39
|
+
"babel-jest": "^27.5.1",
|
|
40
|
+
"babel-plugin-module-resolver": "^4.1.0",
|
|
41
|
+
"eslint": "^8.11.0",
|
|
42
|
+
"husky": "^7.0.4",
|
|
43
|
+
"jest": "^27.5.1",
|
|
44
|
+
"lint-staged": "^12.3.5",
|
|
45
|
+
"prettier": "^2.5.1",
|
|
46
|
+
"prettier-plugin-organize-imports": "^2.3.4",
|
|
47
|
+
"ttypescript": "^1.5.13",
|
|
48
|
+
"typescript": "^4.6.2",
|
|
49
|
+
"yalc": "^1.0.0-pre.53",
|
|
50
|
+
"yargs": "^17.3.1"
|
|
48
51
|
},
|
|
49
52
|
"files": [
|
|
50
53
|
"LICENSE",
|