@hanseltime/template-repo-sync 2.2.1 → 2.4.0-alpha.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 +43 -45
- package/dist/cjs/checkout-drivers/git-checkout.js +37 -0
- package/dist/cjs/checkout-drivers/git-checkout.spec.js +60 -0
- package/dist/cjs/checkout-drivers/index.js +21 -0
- package/dist/cjs/checkout-drivers/types.js +11 -0
- package/dist/cjs/clone-drivers/git-clone.js +25 -0
- package/dist/cjs/clone-drivers/index.js +21 -0
- package/dist/cjs/clone-drivers/types.js +8 -0
- package/dist/cjs/diff-drivers/git-diff.js +30 -0
- package/dist/cjs/diff-drivers/git-diff.spec.js +138 -0
- package/dist/cjs/diff-drivers/index.js +21 -0
- package/dist/cjs/diff-drivers/types.js +6 -0
- package/dist/cjs/formatting/index.js +21 -0
- package/dist/cjs/formatting/infer-json-indent.js +26 -0
- package/dist/cjs/formatting/infer-json-indent.spec.js +50 -0
- package/dist/cjs/formatting/sync-results-to-md.js +62 -0
- package/dist/cjs/formatting/sync-results-to-md.spec.js +45 -0
- package/dist/cjs/index.js +22 -0
- package/dist/cjs/load-plugin.js +44 -0
- package/dist/cjs/match.js +51 -0
- package/dist/cjs/match.spec.js +75 -0
- package/dist/cjs/merge-file.js +91 -0
- package/dist/cjs/merge-file.spec.js +508 -0
- package/dist/cjs/plugins/index.js +20 -0
- package/dist/cjs/plugins/json-merge.js +228 -0
- package/dist/cjs/plugins/json-merge.spec.js +514 -0
- package/dist/cjs/ref-drivers/git-current-ref.js +18 -0
- package/dist/cjs/ref-drivers/git-current-ref.spec.js +15 -0
- package/dist/cjs/ref-drivers/index.js +20 -0
- package/dist/cjs/ref-drivers/types.js +11 -0
- package/dist/cjs/template-sync.js +236 -0
- package/dist/cjs/template-sync.spec.js +521 -0
- package/dist/cjs/test-utils/index.js +26 -0
- package/dist/cjs/types.js +12 -0
- package/dist/esm/checkout-drivers/git-checkout.mjs +27 -0
- package/dist/esm/checkout-drivers/git-checkout.spec.mjs +56 -0
- package/dist/esm/checkout-drivers/index.mjs +4 -0
- package/dist/esm/checkout-drivers/types.mjs +8 -0
- package/dist/esm/clone-drivers/git-clone.mjs +15 -0
- package/dist/esm/clone-drivers/index.mjs +4 -0
- package/dist/esm/clone-drivers/types.mjs +8 -0
- package/dist/esm/diff-drivers/git-diff.mjs +26 -0
- package/dist/esm/diff-drivers/git-diff.spec.mjs +93 -0
- package/dist/esm/diff-drivers/index.mjs +4 -0
- package/dist/esm/diff-drivers/types.mjs +6 -0
- package/dist/esm/formatting/index.mjs +4 -0
- package/dist/esm/formatting/infer-json-indent.mjs +16 -0
- package/dist/esm/formatting/infer-json-indent.spec.mjs +46 -0
- package/dist/esm/formatting/sync-results-to-md.mjs +52 -0
- package/dist/esm/formatting/sync-results-to-md.spec.mjs +41 -0
- package/dist/esm/index.mjs +5 -0
- package/dist/esm/load-plugin.mjs +40 -0
- package/dist/esm/match.mjs +40 -0
- package/dist/esm/match.spec.mjs +71 -0
- package/dist/esm/merge-file.mjs +88 -0
- package/dist/esm/merge-file.spec.mjs +504 -0
- package/dist/esm/plugins/index.mjs +10 -0
- package/dist/esm/plugins/json-merge.mjs +164 -0
- package/dist/esm/plugins/json-merge.spec.mjs +469 -0
- package/dist/esm/ref-drivers/git-current-ref.mjs +8 -0
- package/dist/esm/ref-drivers/git-current-ref.spec.mjs +11 -0
- package/dist/esm/ref-drivers/index.mjs +3 -0
- package/dist/esm/ref-drivers/types.mjs +8 -0
- package/dist/esm/template-sync.mjs +174 -0
- package/dist/esm/template-sync.spec.mjs +517 -0
- package/dist/esm/test-utils/index.mjs +10 -0
- package/dist/esm/types.mjs +9 -0
- package/{lib/cjs → dist/types}/checkout-drivers/git-checkout.d.ts +1 -0
- package/dist/types/checkout-drivers/git-checkout.d.ts.map +1 -0
- package/dist/types/checkout-drivers/git-checkout.spec.d.ts +2 -0
- package/dist/types/checkout-drivers/git-checkout.spec.d.ts.map +1 -0
- package/{lib/cjs → dist/types}/checkout-drivers/index.d.ts +1 -0
- package/dist/types/checkout-drivers/index.d.ts.map +1 -0
- package/{lib/cjs → dist/types}/checkout-drivers/types.d.ts +1 -0
- package/dist/types/checkout-drivers/types.d.ts.map +1 -0
- package/{lib/cjs → dist/types}/clone-drivers/git-clone.d.ts +2 -1
- package/dist/types/clone-drivers/git-clone.d.ts.map +1 -0
- package/{lib/cjs → dist/types}/clone-drivers/index.d.ts +2 -1
- package/dist/types/clone-drivers/index.d.ts.map +1 -0
- package/{lib/cjs → dist/types}/clone-drivers/types.d.ts +1 -0
- package/dist/types/clone-drivers/types.d.ts.map +1 -0
- package/{lib/cjs → dist/types}/diff-drivers/git-diff.d.ts +1 -0
- package/dist/types/diff-drivers/git-diff.d.ts.map +1 -0
- package/dist/types/diff-drivers/git-diff.spec.d.ts +2 -0
- package/dist/types/diff-drivers/git-diff.spec.d.ts.map +1 -0
- package/{lib/cjs → dist/types}/diff-drivers/index.d.ts +2 -1
- package/dist/types/diff-drivers/index.d.ts.map +1 -0
- package/{lib/cjs → dist/types}/diff-drivers/types.d.ts +1 -0
- package/dist/types/diff-drivers/types.d.ts.map +1 -0
- package/{lib/cjs → dist/types}/formatting/index.d.ts +2 -1
- package/dist/types/formatting/index.d.ts.map +1 -0
- package/{lib/cjs → dist/types}/formatting/infer-json-indent.d.ts +1 -0
- package/dist/types/formatting/infer-json-indent.d.ts.map +1 -0
- package/dist/types/formatting/infer-json-indent.spec.d.ts +2 -0
- package/dist/types/formatting/infer-json-indent.spec.d.ts.map +1 -0
- package/dist/types/formatting/sync-results-to-md.d.ts +3 -0
- package/dist/types/formatting/sync-results-to-md.d.ts.map +1 -0
- package/dist/types/formatting/sync-results-to-md.spec.d.ts +2 -0
- package/dist/types/formatting/sync-results-to-md.spec.d.ts.map +1 -0
- package/{lib/cjs → dist/types}/index.d.ts +3 -2
- package/dist/types/index.d.ts.map +1 -0
- package/{lib/cjs → dist/types}/load-plugin.d.ts +2 -1
- package/dist/types/load-plugin.d.ts.map +1 -0
- package/{lib/cjs → dist/types}/match.d.ts +1 -0
- package/dist/types/match.d.ts.map +1 -0
- package/dist/types/match.spec.d.ts +2 -0
- package/dist/types/match.spec.d.ts.map +1 -0
- package/{lib/cjs → dist/types}/merge-file.d.ts +3 -2
- package/dist/types/merge-file.d.ts.map +1 -0
- package/dist/types/merge-file.spec.d.ts +2 -0
- package/dist/types/merge-file.spec.d.ts.map +1 -0
- package/{lib/cjs → dist/types}/plugins/index.d.ts +2 -1
- package/dist/types/plugins/index.d.ts.map +1 -0
- package/{lib/cjs → dist/types}/plugins/json-merge.d.ts +2 -1
- package/dist/types/plugins/json-merge.d.ts.map +1 -0
- package/dist/types/plugins/json-merge.spec.d.ts +2 -0
- package/dist/types/plugins/json-merge.spec.d.ts.map +1 -0
- package/{lib/cjs → dist/types}/ref-drivers/git-current-ref.d.ts +1 -0
- package/dist/types/ref-drivers/git-current-ref.d.ts.map +1 -0
- package/dist/types/ref-drivers/git-current-ref.spec.d.ts +2 -0
- package/dist/types/ref-drivers/git-current-ref.spec.d.ts.map +1 -0
- package/{lib/cjs → dist/types}/ref-drivers/index.d.ts +1 -0
- package/dist/types/ref-drivers/index.d.ts.map +1 -0
- package/{lib/cjs → dist/types}/ref-drivers/types.d.ts +1 -0
- package/dist/types/ref-drivers/types.d.ts.map +1 -0
- package/{lib/cjs → dist/types}/template-sync.d.ts +6 -5
- package/dist/types/template-sync.d.ts.map +1 -0
- package/dist/types/template-sync.spec.d.ts +2 -0
- package/dist/types/template-sync.spec.d.ts.map +1 -0
- package/{lib/cjs → dist/types}/test-utils/index.d.ts +1 -0
- package/dist/types/test-utils/index.d.ts.map +1 -0
- package/{lib/cjs → dist/types}/types.d.ts +1 -0
- package/dist/types/types.d.ts.map +1 -0
- package/package.json +26 -23
- package/.eslintrc.js +0 -10
- package/.github/CODEOWNERS +0 -6
- package/.github/workflows/pr-checks.yaml +0 -12
- package/.github/workflows/release.yaml +0 -47
- package/.github/workflows/test-flow.yaml +0 -63
- package/.husky/commit-msg +0 -4
- package/.prettierignore +0 -1
- package/.prettierrc +0 -1
- package/action.yml +0 -13
- package/commitlint.config.js +0 -3
- package/docs/merge-plugins/CURRENT_PLUGINS.md +0 -168
- package/docs/merge-plugins/PLUGIN_DEVELOPMENT.md +0 -122
- package/docs/merge-plugins/README.md +0 -75
- package/jest.config.js +0 -19
- package/lib/cjs/checkout-drivers/git-checkout.js +0 -29
- package/lib/cjs/checkout-drivers/index.js +0 -18
- package/lib/cjs/checkout-drivers/types.js +0 -2
- package/lib/cjs/clone-drivers/git-clone.js +0 -17
- package/lib/cjs/clone-drivers/index.js +0 -18
- package/lib/cjs/clone-drivers/types.js +0 -2
- package/lib/cjs/diff-drivers/git-diff.js +0 -41
- package/lib/cjs/diff-drivers/index.js +0 -18
- package/lib/cjs/diff-drivers/types.js +0 -2
- package/lib/cjs/formatting/index.js +0 -18
- package/lib/cjs/formatting/infer-json-indent.js +0 -18
- package/lib/cjs/formatting/sync-results-to-md.d.ts +0 -2
- package/lib/cjs/formatting/sync-results-to-md.js +0 -57
- package/lib/cjs/index.js +0 -19
- package/lib/cjs/load-plugin.js +0 -69
- package/lib/cjs/match.js +0 -45
- package/lib/cjs/merge-file.js +0 -98
- package/lib/cjs/plugins/index.js +0 -11
- package/lib/cjs/plugins/json-merge.js +0 -208
- package/lib/cjs/ref-drivers/git-current-ref.js +0 -12
- package/lib/cjs/ref-drivers/index.js +0 -17
- package/lib/cjs/ref-drivers/types.js +0 -2
- package/lib/cjs/template-sync.js +0 -163
- package/lib/cjs/test-utils/index.js +0 -10
- package/lib/cjs/types.js +0 -2
- package/lib/esm/checkout-drivers/git-checkout.js +0 -29
- package/lib/esm/checkout-drivers/index.js +0 -18
- package/lib/esm/checkout-drivers/types.js +0 -2
- package/lib/esm/clone-drivers/git-clone.js +0 -17
- package/lib/esm/clone-drivers/index.js +0 -18
- package/lib/esm/clone-drivers/types.js +0 -2
- package/lib/esm/diff-drivers/git-diff.js +0 -41
- package/lib/esm/diff-drivers/index.js +0 -18
- package/lib/esm/diff-drivers/types.js +0 -2
- package/lib/esm/formatting/index.js +0 -18
- package/lib/esm/formatting/infer-json-indent.js +0 -18
- package/lib/esm/formatting/sync-results-to-md.js +0 -57
- package/lib/esm/index.js +0 -19
- package/lib/esm/load-plugin.js +0 -46
- package/lib/esm/match.js +0 -45
- package/lib/esm/merge-file.js +0 -98
- package/lib/esm/plugins/index.js +0 -11
- package/lib/esm/plugins/json-merge.js +0 -208
- package/lib/esm/ref-drivers/git-current-ref.js +0 -12
- package/lib/esm/ref-drivers/index.js +0 -17
- package/lib/esm/ref-drivers/types.js +0 -2
- package/lib/esm/template-sync.js +0 -163
- package/lib/esm/test-utils/index.js +0 -10
- package/lib/esm/types.js +0 -2
- package/release.config.js +0 -40
- package/src/checkout-drivers/git-checkout.spec.ts +0 -69
- package/src/checkout-drivers/git-checkout.ts +0 -38
- package/src/checkout-drivers/index.ts +0 -2
- package/src/checkout-drivers/types.ts +0 -14
- package/src/clone-drivers/git-clone.ts +0 -20
- package/src/clone-drivers/index.ts +0 -2
- package/src/clone-drivers/types.ts +0 -20
- package/src/diff-drivers/git-diff.spec.ts +0 -73
- package/src/diff-drivers/git-diff.ts +0 -39
- package/src/diff-drivers/index.ts +0 -2
- package/src/diff-drivers/types.ts +0 -14
- package/src/formatting/__snapshots__/sync-results-to-md.spec.ts.snap +0 -39
- package/src/formatting/index.ts +0 -2
- package/src/formatting/infer-json-indent.spec.ts +0 -49
- package/src/formatting/infer-json-indent.ts +0 -16
- package/src/formatting/sync-results-to-md.spec.ts +0 -31
- package/src/formatting/sync-results-to-md.ts +0 -63
- package/src/index.ts +0 -3
- package/src/load-plugin.ts +0 -51
- package/src/match.spec.ts +0 -68
- package/src/match.ts +0 -52
- package/src/merge-file.spec.ts +0 -506
- package/src/merge-file.ts +0 -154
- package/src/plugins/index.ts +0 -12
- package/src/plugins/json-merge.spec.ts +0 -436
- package/src/plugins/json-merge.ts +0 -215
- package/src/ref-drivers/git-current-ref.spec.ts +0 -12
- package/src/ref-drivers/git-current-ref.ts +0 -9
- package/src/ref-drivers/index.ts +0 -1
- package/src/ref-drivers/types.ts +0 -10
- package/src/template-sync.spec.ts +0 -509
- package/src/template-sync.ts +0 -256
- package/src/test-utils/index.ts +0 -13
- package/src/types.ts +0 -129
- package/templatesync.local.json +0 -15
- package/test-fixtures/downstream/README.md +0 -3
- package/test-fixtures/downstream/package.json +0 -18
- package/test-fixtures/downstream/plugins/custom-plugin.js +0 -11
- package/test-fixtures/downstream/src/index.js +0 -2
- package/test-fixtures/downstream/src/index.ts +0 -1
- package/test-fixtures/downstream/src/templated.js +0 -2
- package/test-fixtures/downstream/src/templated.ts +0 -1
- package/test-fixtures/downstream/templatesync.json +0 -16
- package/test-fixtures/downstream/templatesync.local.json +0 -10
- package/test-fixtures/dummy-plugin.js +0 -8
- package/test-fixtures/glob-test/folder1/something.js +0 -1
- package/test-fixtures/glob-test/folder1/something.ts +0 -0
- package/test-fixtures/glob-test/toplevel.js +0 -0
- package/test-fixtures/glob-test/toplevel.txt +0 -0
- package/test-fixtures/template/custom-bin/something.txt +0 -1
- package/test-fixtures/template/package.json +0 -17
- package/test-fixtures/template/src/index.js +0 -2
- package/test-fixtures/template/src/index.ts +0 -1
- package/test-fixtures/template/src/templated.js +0 -2
- package/test-fixtures/template/src/templated.ts +0 -1
- package/test-fixtures/template/templatesync.json +0 -16
- package/test-fixtures/testGitRepo/README.md +0 -17
- package/test-fixtures/testGitRepo/gitDir/COMMIT_EDITMSG +0 -14
- package/test-fixtures/testGitRepo/gitDir/HEAD +0 -1
- package/test-fixtures/testGitRepo/gitDir/config +0 -7
- package/test-fixtures/testGitRepo/gitDir/description +0 -1
- package/test-fixtures/testGitRepo/gitDir/hooks/applypatch-msg.sample +0 -15
- package/test-fixtures/testGitRepo/gitDir/hooks/commit-msg.sample +0 -24
- package/test-fixtures/testGitRepo/gitDir/hooks/fsmonitor-watchman.sample +0 -174
- package/test-fixtures/testGitRepo/gitDir/hooks/post-update.sample +0 -8
- package/test-fixtures/testGitRepo/gitDir/hooks/pre-applypatch.sample +0 -14
- package/test-fixtures/testGitRepo/gitDir/hooks/pre-commit.sample +0 -49
- package/test-fixtures/testGitRepo/gitDir/hooks/pre-merge-commit.sample +0 -13
- package/test-fixtures/testGitRepo/gitDir/hooks/pre-push.sample +0 -53
- package/test-fixtures/testGitRepo/gitDir/hooks/pre-rebase.sample +0 -169
- package/test-fixtures/testGitRepo/gitDir/hooks/pre-receive.sample +0 -24
- package/test-fixtures/testGitRepo/gitDir/hooks/prepare-commit-msg.sample +0 -42
- package/test-fixtures/testGitRepo/gitDir/hooks/push-to-checkout.sample +0 -78
- package/test-fixtures/testGitRepo/gitDir/hooks/sendemail-validate.sample +0 -77
- package/test-fixtures/testGitRepo/gitDir/hooks/update.sample +0 -128
- package/test-fixtures/testGitRepo/gitDir/index +0 -0
- package/test-fixtures/testGitRepo/gitDir/info/exclude +0 -6
- package/test-fixtures/testGitRepo/gitDir/logs/HEAD +0 -5
- package/test-fixtures/testGitRepo/gitDir/logs/refs/heads/master +0 -2
- package/test-fixtures/testGitRepo/gitDir/logs/refs/heads/test-branch +0 -2
- package/test-fixtures/testGitRepo/gitDir/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 +0 -0
- package/test-fixtures/testGitRepo/gitDir/objects/6e/187bee8d02f39d0a1be8331dd8fe6a00c9b613 +0 -0
- package/test-fixtures/testGitRepo/gitDir/objects/73/185f1f3f5a6345e087d9f46dc4af77cc59449f +0 -2
- package/test-fixtures/testGitRepo/gitDir/objects/90/e7ea1089f939840e9649fd617584c1ad117159 +0 -3
- package/test-fixtures/testGitRepo/gitDir/objects/ba/99a452b9097047e9bfa8d5a08b3e452fcb364a +0 -0
- package/test-fixtures/testGitRepo/gitDir/objects/c5/8d400177cd5180b8566f82a127fafc5bf394b7 +0 -0
- package/test-fixtures/testGitRepo/gitDir/objects/e2/e668265db019249a7e8296d85f79000e3d71cf +0 -0
- package/test-fixtures/testGitRepo/gitDir/objects/e4/243e430c1ab69f3e344249f5b1859e90abc883 +0 -1
- package/test-fixtures/testGitRepo/gitDir/objects/ec/6c1cb72312605282ac61858cf1eaf1ea9f1d02 +0 -0
- package/test-fixtures/testGitRepo/gitDir/objects/fc/89cecc4ac0b5b075bd7d0ce9e09b2f50598b82 +0 -0
- package/test-fixtures/testGitRepo/gitDir/refs/heads/master +0 -1
- package/test-fixtures/testGitRepo/gitDir/refs/heads/test-branch +0 -1
- package/tsconfig.cjs.json +0 -12
- package/tsconfig.esm.json +0 -10
- package/tsconfig.json +0 -22
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "inferJSONIndent", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return inferJSONIndent;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const spacingRegex = /[{[]\n?(?<spacing>\s+)["tf\d]/;
|
|
12
|
+
function inferJSONIndent(rawJSON) {
|
|
13
|
+
const match = spacingRegex.exec(rawJSON);
|
|
14
|
+
if (!match?.groups?.spacing) {
|
|
15
|
+
// eslint-disable-next-line no-console
|
|
16
|
+
console.warn(`Could not find json indentation for json string: ${rawJSON.slice(40)} ... \nDefaulting to 4 spaces`);
|
|
17
|
+
// Four spaces
|
|
18
|
+
return " ";
|
|
19
|
+
}
|
|
20
|
+
const spacing = match.groups.spacing;
|
|
21
|
+
// Handle the case where there were multiple newlines before a value
|
|
22
|
+
const lastNewLine = spacing.lastIndexOf("\n");
|
|
23
|
+
return match?.groups.spacing.slice(lastNewLine >= 0 ? lastNewLine + 1 : 0);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mb3JtYXR0aW5nL2luZmVyLWpzb24taW5kZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHNwYWNpbmdSZWdleCA9IC9be1tdXFxuPyg/PHNwYWNpbmc+XFxzKylbXCJ0ZlxcZF0vO1xuZXhwb3J0IGZ1bmN0aW9uIGluZmVySlNPTkluZGVudChyYXdKU09OOiBzdHJpbmcpIHtcblx0Y29uc3QgbWF0Y2ggPSBzcGFjaW5nUmVnZXguZXhlYyhyYXdKU09OKTtcblx0aWYgKCFtYXRjaD8uZ3JvdXBzPy5zcGFjaW5nKSB7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcblx0XHRjb25zb2xlLndhcm4oXG5cdFx0XHRgQ291bGQgbm90IGZpbmQganNvbiBpbmRlbnRhdGlvbiBmb3IganNvbiBzdHJpbmc6ICR7cmF3SlNPTi5zbGljZSg0MCl9IC4uLiBcXG5EZWZhdWx0aW5nIHRvIDQgc3BhY2VzYCxcblx0XHQpO1xuXHRcdC8vIEZvdXIgc3BhY2VzXG5cdFx0cmV0dXJuIFwiICAgIFwiO1xuXHR9XG5cdGNvbnN0IHNwYWNpbmcgPSBtYXRjaC5ncm91cHMuc3BhY2luZztcblx0Ly8gSGFuZGxlIHRoZSBjYXNlIHdoZXJlIHRoZXJlIHdlcmUgbXVsdGlwbGUgbmV3bGluZXMgYmVmb3JlIGEgdmFsdWVcblx0Y29uc3QgbGFzdE5ld0xpbmUgPSBzcGFjaW5nLmxhc3RJbmRleE9mKFwiXFxuXCIpO1xuXHRyZXR1cm4gbWF0Y2g/Lmdyb3Vwcy5zcGFjaW5nLnNsaWNlKGxhc3ROZXdMaW5lID49IDAgPyBsYXN0TmV3TGluZSArIDEgOiAwKTtcbn1cbiJdLCJuYW1lcyI6WyJpbmZlckpTT05JbmRlbnQiLCJzcGFjaW5nUmVnZXgiLCJyYXdKU09OIiwibWF0Y2giLCJleGVjIiwiZ3JvdXBzIiwic3BhY2luZyIsImNvbnNvbGUiLCJ3YXJuIiwic2xpY2UiLCJsYXN0TmV3TGluZSIsImxhc3RJbmRleE9mIl0sIm1hcHBpbmdzIjoiOzs7OytCQUNnQkE7OztlQUFBQTs7O0FBRGhCLE1BQU1DLGVBQWU7QUFDZCxTQUFTRCxnQkFBZ0JFLE9BQWU7SUFDOUMsTUFBTUMsUUFBUUYsYUFBYUcsSUFBSSxDQUFDRjtJQUNoQyxJQUFJLENBQUNDLE9BQU9FLFFBQVFDLFNBQVM7UUFDNUIsc0NBQXNDO1FBQ3RDQyxRQUFRQyxJQUFJLENBQ1gsQ0FBQyxpREFBaUQsRUFBRU4sUUFBUU8sS0FBSyxDQUFDLElBQUksNkJBQTZCLENBQUM7UUFFckcsY0FBYztRQUNkLE9BQU87SUFDUjtJQUNBLE1BQU1ILFVBQVVILE1BQU1FLE1BQU0sQ0FBQ0MsT0FBTztJQUNwQyxvRUFBb0U7SUFDcEUsTUFBTUksY0FBY0osUUFBUUssV0FBVyxDQUFDO0lBQ3hDLE9BQU9SLE9BQU9FLE9BQU9DLFFBQVFHLE1BQU1DLGVBQWUsSUFBSUEsY0FBYyxJQUFJO0FBQ3pFIn0=
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
const _inferjsonindent = require("./infer-json-indent");
|
|
6
|
+
const withNewLine = `{
|
|
7
|
+
|
|
8
|
+
"whoa": true,
|
|
9
|
+
"thing": here,
|
|
10
|
+
"something": {
|
|
11
|
+
"nested": false
|
|
12
|
+
}
|
|
13
|
+
}`;
|
|
14
|
+
const fourSpaces = `{
|
|
15
|
+
"whoa": true,
|
|
16
|
+
"thing": here,
|
|
17
|
+
"something": {
|
|
18
|
+
"nested": false
|
|
19
|
+
}
|
|
20
|
+
}`;
|
|
21
|
+
const tabSpaces = `{
|
|
22
|
+
"whoa": true,
|
|
23
|
+
"thing": here,
|
|
24
|
+
"something": {
|
|
25
|
+
"nested": false
|
|
26
|
+
}
|
|
27
|
+
}`;
|
|
28
|
+
const twoSpaces = `{
|
|
29
|
+
"whoa": true,
|
|
30
|
+
"thing": here,
|
|
31
|
+
"something": {
|
|
32
|
+
"nested": false
|
|
33
|
+
}
|
|
34
|
+
}`;
|
|
35
|
+
describe("inferJSONIndent", ()=>{
|
|
36
|
+
it("returns spaces when the first indent is spaces with a new line", ()=>{
|
|
37
|
+
expect((0, _inferjsonindent.inferJSONIndent)(withNewLine)).toBe(" ");
|
|
38
|
+
});
|
|
39
|
+
it("returns spaces when the first indent is spaces", ()=>{
|
|
40
|
+
expect((0, _inferjsonindent.inferJSONIndent)(fourSpaces)).toBe(" ");
|
|
41
|
+
});
|
|
42
|
+
it("returns spaces when the first indent is spaces", ()=>{
|
|
43
|
+
expect((0, _inferjsonindent.inferJSONIndent)(twoSpaces)).toBe(" ");
|
|
44
|
+
});
|
|
45
|
+
it("returns tabs when the first indent is a tab", ()=>{
|
|
46
|
+
expect((0, _inferjsonindent.inferJSONIndent)(tabSpaces)).toBe("\t");
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mb3JtYXR0aW5nL2luZmVyLWpzb24taW5kZW50LnNwZWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5mZXJKU09OSW5kZW50IH0gZnJvbSBcIi4vaW5mZXItanNvbi1pbmRlbnRcIjtcblxuY29uc3Qgd2l0aE5ld0xpbmUgPSBge1xuXG4gICAgXCJ3aG9hXCI6IHRydWUsXG4gICAgXCJ0aGluZ1wiOiBoZXJlLFxuICAgIFwic29tZXRoaW5nXCI6IHtcbiAgICAgICAgXCJuZXN0ZWRcIjogZmFsc2VcbiAgICB9XG59YDtcblxuY29uc3QgZm91clNwYWNlcyA9IGB7XG4gICAgXCJ3aG9hXCI6IHRydWUsXG4gICAgXCJ0aGluZ1wiOiBoZXJlLFxuICAgIFwic29tZXRoaW5nXCI6IHtcbiAgICAgICAgXCJuZXN0ZWRcIjogZmFsc2VcbiAgICB9XG59YDtcblxuY29uc3QgdGFiU3BhY2VzID0gYHtcblx0XCJ3aG9hXCI6IHRydWUsXG5cdFwidGhpbmdcIjogaGVyZSxcblx0XCJzb21ldGhpbmdcIjoge1xuXHRcdFwibmVzdGVkXCI6IGZhbHNlXG5cdH1cbn1gO1xuXG5jb25zdCB0d29TcGFjZXMgPSBge1xuICBcIndob2FcIjogdHJ1ZSxcbiAgXCJ0aGluZ1wiOiBoZXJlLFxuICBcInNvbWV0aGluZ1wiOiB7XG4gICAgXCJuZXN0ZWRcIjogZmFsc2VcbiAgfVxufWA7XG5cbmRlc2NyaWJlKFwiaW5mZXJKU09OSW5kZW50XCIsICgpID0+IHtcblx0aXQoXCJyZXR1cm5zIHNwYWNlcyB3aGVuIHRoZSBmaXJzdCBpbmRlbnQgaXMgc3BhY2VzIHdpdGggYSBuZXcgbGluZVwiLCAoKSA9PiB7XG5cdFx0ZXhwZWN0KGluZmVySlNPTkluZGVudCh3aXRoTmV3TGluZSkpLnRvQmUoXCIgICAgXCIpO1xuXHR9KTtcblx0aXQoXCJyZXR1cm5zIHNwYWNlcyB3aGVuIHRoZSBmaXJzdCBpbmRlbnQgaXMgc3BhY2VzXCIsICgpID0+IHtcblx0XHRleHBlY3QoaW5mZXJKU09OSW5kZW50KGZvdXJTcGFjZXMpKS50b0JlKFwiICAgIFwiKTtcblx0fSk7XG5cdGl0KFwicmV0dXJucyBzcGFjZXMgd2hlbiB0aGUgZmlyc3QgaW5kZW50IGlzIHNwYWNlc1wiLCAoKSA9PiB7XG5cdFx0ZXhwZWN0KGluZmVySlNPTkluZGVudCh0d29TcGFjZXMpKS50b0JlKFwiICBcIik7XG5cdH0pO1xuXHRpdChcInJldHVybnMgdGFicyB3aGVuIHRoZSBmaXJzdCBpbmRlbnQgaXMgYSB0YWJcIiwgKCkgPT4ge1xuXHRcdGV4cGVjdChpbmZlckpTT05JbmRlbnQodGFiU3BhY2VzKSkudG9CZShcIlxcdFwiKTtcblx0fSk7XG59KTtcbiJdLCJuYW1lcyI6WyJ3aXRoTmV3TGluZSIsImZvdXJTcGFjZXMiLCJ0YWJTcGFjZXMiLCJ0d29TcGFjZXMiLCJkZXNjcmliZSIsIml0IiwiZXhwZWN0IiwiaW5mZXJKU09OSW5kZW50IiwidG9CZSJdLCJtYXBwaW5ncyI6Ijs7OztpQ0FBZ0M7QUFFaEMsTUFBTUEsY0FBYyxDQUFDOzs7Ozs7O0NBT3BCLENBQUM7QUFFRixNQUFNQyxhQUFhLENBQUM7Ozs7OztDQU1uQixDQUFDO0FBRUYsTUFBTUMsWUFBWSxDQUFDOzs7Ozs7Q0FNbEIsQ0FBQztBQUVGLE1BQU1DLFlBQVksQ0FBQzs7Ozs7O0NBTWxCLENBQUM7QUFFRkMsU0FBUyxtQkFBbUI7SUFDM0JDLEdBQUcsa0VBQWtFO1FBQ3BFQyxPQUFPQyxJQUFBQSxnQ0FBZSxFQUFDUCxjQUFjUSxJQUFJLENBQUM7SUFDM0M7SUFDQUgsR0FBRyxrREFBa0Q7UUFDcERDLE9BQU9DLElBQUFBLGdDQUFlLEVBQUNOLGFBQWFPLElBQUksQ0FBQztJQUMxQztJQUNBSCxHQUFHLGtEQUFrRDtRQUNwREMsT0FBT0MsSUFBQUEsZ0NBQWUsRUFBQ0osWUFBWUssSUFBSSxDQUFDO0lBQ3pDO0lBQ0FILEdBQUcsK0NBQStDO1FBQ2pEQyxPQUFPQyxJQUFBQSxnQ0FBZSxFQUFDTCxZQUFZTSxJQUFJLENBQUM7SUFDekM7QUFDRCJ9
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "syncResultsToMd", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return syncResultsToMd;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _templatesync = require("../template-sync");
|
|
12
|
+
function syncResultsToMd(result) {
|
|
13
|
+
return `# ${_templatesync.TEMPLATE_SYNC_LOCAL_CONFIG}
|
|
14
|
+
|
|
15
|
+
## Stopped the following files from syncing:
|
|
16
|
+
|
|
17
|
+
${result.localSkipFiles.reduce((s, file)=>{
|
|
18
|
+
return `${s}* ${file}\n`;
|
|
19
|
+
}, "")}
|
|
20
|
+
|
|
21
|
+
## Changed the following files from what they would have synced:
|
|
22
|
+
|
|
23
|
+
${Object.keys(result.localFileChanges).reduce((s, file)=>{
|
|
24
|
+
return `${s}${file}
|
|
25
|
+
\`\`\`diff
|
|
26
|
+
${result.localFileChanges[file].reduce((diffS, change)=>{
|
|
27
|
+
return `${diffS}\n${makeChangeIntoDiffLines(change)}`;
|
|
28
|
+
}, "")}
|
|
29
|
+
\`\`\``;
|
|
30
|
+
}, "")}
|
|
31
|
+
|
|
32
|
+
## Files Modified (${result.modifiedFiles.total})
|
|
33
|
+
|
|
34
|
+
Added:
|
|
35
|
+
${result.modifiedFiles.added.reduce((s, f)=>{
|
|
36
|
+
return `${s}\n- ${f}`;
|
|
37
|
+
}, "")}
|
|
38
|
+
|
|
39
|
+
Modified:
|
|
40
|
+
${result.modifiedFiles.modified.reduce((s, f)=>{
|
|
41
|
+
return `${s}\n- ${f}`;
|
|
42
|
+
}, "")}
|
|
43
|
+
|
|
44
|
+
Deleted:
|
|
45
|
+
${result.modifiedFiles.deleted.reduce((s, f)=>{
|
|
46
|
+
return `${s}\n- ${f}`;
|
|
47
|
+
}, "")}
|
|
48
|
+
`;
|
|
49
|
+
}
|
|
50
|
+
function makeChangeIntoDiffLines(change, nonchangeMax = 3) {
|
|
51
|
+
const operator = change.added ? "+" : change.removed ? "-" : "";
|
|
52
|
+
if (!operator && nonchangeMax > 0 && change.count && change.count > nonchangeMax) {
|
|
53
|
+
const lines = change.value.split("\n");
|
|
54
|
+
const partial = lines.slice(lines.length - nonchangeMax);
|
|
55
|
+
return `...\n${partial.join("\n")}\n`;
|
|
56
|
+
}
|
|
57
|
+
return change.value.split("\n").reduce((s, line)=>{
|
|
58
|
+
return `${s}${operator}${line}\n`;
|
|
59
|
+
}, "");
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mb3JtYXR0aW5nL3N5bmMtcmVzdWx0cy10by1tZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENoYW5nZSB9IGZyb20gXCJkaWZmXCI7XG5pbXBvcnQgdHlwZSB7IFRlbXBsYXRlU3luY1JldHVybiB9IGZyb20gXCIuLi90ZW1wbGF0ZS1zeW5jXCI7XG5pbXBvcnQgeyBURU1QTEFURV9TWU5DX0xPQ0FMX0NPTkZJRyB9IGZyb20gXCIuLi90ZW1wbGF0ZS1zeW5jXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBzeW5jUmVzdWx0c1RvTWQocmVzdWx0OiBUZW1wbGF0ZVN5bmNSZXR1cm4pIHtcblx0cmV0dXJuIGAjICR7VEVNUExBVEVfU1lOQ19MT0NBTF9DT05GSUd9IFxuXG4jIyBTdG9wcGVkIHRoZSBmb2xsb3dpbmcgZmlsZXMgZnJvbSBzeW5jaW5nOlxuXG4ke3Jlc3VsdC5sb2NhbFNraXBGaWxlcy5yZWR1Y2UoKHMsIGZpbGUpID0+IHtcblx0cmV0dXJuIGAke3N9KiAke2ZpbGV9XFxuYDtcbn0sIFwiXCIpfVxuXG4jIyBDaGFuZ2VkIHRoZSBmb2xsb3dpbmcgZmlsZXMgZnJvbSB3aGF0IHRoZXkgd291bGQgaGF2ZSBzeW5jZWQ6XG5cbiR7T2JqZWN0LmtleXMocmVzdWx0LmxvY2FsRmlsZUNoYW5nZXMpLnJlZHVjZSgocywgZmlsZSkgPT4ge1xuXHRyZXR1cm4gYCR7c30ke2ZpbGV9XG5cXGBcXGBcXGBkaWZmXG4ke3Jlc3VsdC5sb2NhbEZpbGVDaGFuZ2VzW2ZpbGVdLnJlZHVjZSgoZGlmZlMsIGNoYW5nZSkgPT4ge1xuXHRyZXR1cm4gYCR7ZGlmZlN9XFxuJHttYWtlQ2hhbmdlSW50b0RpZmZMaW5lcyhjaGFuZ2UpfWA7XG59LCBcIlwiKX1cblxcYFxcYFxcYGA7XG59LCBcIlwiKX1cblxuIyMgRmlsZXMgTW9kaWZpZWQgKCR7cmVzdWx0Lm1vZGlmaWVkRmlsZXMudG90YWx9KVxuXG5BZGRlZDpcbiR7cmVzdWx0Lm1vZGlmaWVkRmlsZXMuYWRkZWQucmVkdWNlKChzLCBmKSA9PiB7XG5cdHJldHVybiBgJHtzfVxcbi0gJHtmfWA7XG59LCBcIlwiKX1cblxuTW9kaWZpZWQ6XG4ke3Jlc3VsdC5tb2RpZmllZEZpbGVzLm1vZGlmaWVkLnJlZHVjZSgocywgZikgPT4ge1xuXHRyZXR1cm4gYCR7c31cXG4tICR7Zn1gO1xufSwgXCJcIil9XG5cbkRlbGV0ZWQ6XG4ke3Jlc3VsdC5tb2RpZmllZEZpbGVzLmRlbGV0ZWQucmVkdWNlKChzLCBmKSA9PiB7XG5cdHJldHVybiBgJHtzfVxcbi0gJHtmfWA7XG59LCBcIlwiKX1cbmA7XG59XG5cbmZ1bmN0aW9uIG1ha2VDaGFuZ2VJbnRvRGlmZkxpbmVzKGNoYW5nZTogQ2hhbmdlLCBub25jaGFuZ2VNYXggPSAzKSB7XG5cdGNvbnN0IG9wZXJhdG9yID0gY2hhbmdlLmFkZGVkID8gXCIrXCIgOiBjaGFuZ2UucmVtb3ZlZCA/IFwiLVwiIDogXCJcIjtcblxuXHRpZiAoXG5cdFx0IW9wZXJhdG9yICYmXG5cdFx0bm9uY2hhbmdlTWF4ID4gMCAmJlxuXHRcdGNoYW5nZS5jb3VudCAmJlxuXHRcdGNoYW5nZS5jb3VudCA+IG5vbmNoYW5nZU1heFxuXHQpIHtcblx0XHRjb25zdCBsaW5lcyA9IGNoYW5nZS52YWx1ZS5zcGxpdChcIlxcblwiKTtcblx0XHRjb25zdCBwYXJ0aWFsID0gbGluZXMuc2xpY2UobGluZXMubGVuZ3RoIC0gbm9uY2hhbmdlTWF4KTtcblx0XHRyZXR1cm4gYC4uLlxcbiR7cGFydGlhbC5qb2luKFwiXFxuXCIpfVxcbmA7XG5cdH1cblxuXHRyZXR1cm4gY2hhbmdlLnZhbHVlLnNwbGl0KFwiXFxuXCIpLnJlZHVjZSgocywgbGluZSkgPT4ge1xuXHRcdHJldHVybiBgJHtzfSR7b3BlcmF0b3J9JHtsaW5lfVxcbmA7XG5cdH0sIFwiXCIpO1xufVxuIl0sIm5hbWVzIjpbInN5bmNSZXN1bHRzVG9NZCIsInJlc3VsdCIsIlRFTVBMQVRFX1NZTkNfTE9DQUxfQ09ORklHIiwibG9jYWxTa2lwRmlsZXMiLCJyZWR1Y2UiLCJzIiwiZmlsZSIsIk9iamVjdCIsImtleXMiLCJsb2NhbEZpbGVDaGFuZ2VzIiwiZGlmZlMiLCJjaGFuZ2UiLCJtYWtlQ2hhbmdlSW50b0RpZmZMaW5lcyIsIm1vZGlmaWVkRmlsZXMiLCJ0b3RhbCIsImFkZGVkIiwiZiIsIm1vZGlmaWVkIiwiZGVsZXRlZCIsIm5vbmNoYW5nZU1heCIsIm9wZXJhdG9yIiwicmVtb3ZlZCIsImNvdW50IiwibGluZXMiLCJ2YWx1ZSIsInNwbGl0IiwicGFydGlhbCIsInNsaWNlIiwibGVuZ3RoIiwiam9pbiIsImxpbmUiXSwibWFwcGluZ3MiOiI7Ozs7K0JBSWdCQTs7O2VBQUFBOzs7OEJBRjJCO0FBRXBDLFNBQVNBLGdCQUFnQkMsTUFBMEI7SUFDekQsT0FBTyxDQUFDLEVBQUUsRUFBRUMsd0NBQTBCLENBQUM7Ozs7QUFJeEMsRUFBRUQsT0FBT0UsY0FBYyxDQUFDQyxNQUFNLENBQUMsQ0FBQ0MsR0FBR0M7UUFDbEMsT0FBTyxHQUFHRCxFQUFFLEVBQUUsRUFBRUMsS0FBSyxFQUFFLENBQUM7SUFDekIsR0FBRyxJQUFJOzs7O0FBSVAsRUFBRUMsT0FBT0MsSUFBSSxDQUFDUCxPQUFPUSxnQkFBZ0IsRUFBRUwsTUFBTSxDQUFDLENBQUNDLEdBQUdDO1FBQ2pELE9BQU8sR0FBR0QsSUFBSUMsS0FBSzs7QUFFcEIsRUFBRUwsT0FBT1EsZ0JBQWdCLENBQUNILEtBQUssQ0FBQ0YsTUFBTSxDQUFDLENBQUNNLE9BQU9DO1lBQzlDLE9BQU8sR0FBR0QsTUFBTSxFQUFFLEVBQUVFLHdCQUF3QkQsU0FBUztRQUN0RCxHQUFHLElBQUk7TUFDRCxDQUFDO0lBQ1AsR0FBRyxJQUFJOzttQkFFWSxFQUFFVixPQUFPWSxhQUFhLENBQUNDLEtBQUssQ0FBQzs7O0FBR2hELEVBQUViLE9BQU9ZLGFBQWEsQ0FBQ0UsS0FBSyxDQUFDWCxNQUFNLENBQUMsQ0FBQ0MsR0FBR1c7UUFDdkMsT0FBTyxHQUFHWCxFQUFFLElBQUksRUFBRVcsR0FBRztJQUN0QixHQUFHLElBQUk7OztBQUdQLEVBQUVmLE9BQU9ZLGFBQWEsQ0FBQ0ksUUFBUSxDQUFDYixNQUFNLENBQUMsQ0FBQ0MsR0FBR1c7UUFDMUMsT0FBTyxHQUFHWCxFQUFFLElBQUksRUFBRVcsR0FBRztJQUN0QixHQUFHLElBQUk7OztBQUdQLEVBQUVmLE9BQU9ZLGFBQWEsQ0FBQ0ssT0FBTyxDQUFDZCxNQUFNLENBQUMsQ0FBQ0MsR0FBR1c7UUFDekMsT0FBTyxHQUFHWCxFQUFFLElBQUksRUFBRVcsR0FBRztJQUN0QixHQUFHLElBQUk7QUFDUCxDQUFDO0FBQ0Q7QUFFQSxTQUFTSix3QkFBd0JELE1BQWMsRUFBRVEsZUFBZSxDQUFDO0lBQ2hFLE1BQU1DLFdBQVdULE9BQU9JLEtBQUssR0FBRyxNQUFNSixPQUFPVSxPQUFPLEdBQUcsTUFBTTtJQUU3RCxJQUNDLENBQUNELFlBQ0RELGVBQWUsS0FDZlIsT0FBT1csS0FBSyxJQUNaWCxPQUFPVyxLQUFLLEdBQUdILGNBQ2Q7UUFDRCxNQUFNSSxRQUFRWixPQUFPYSxLQUFLLENBQUNDLEtBQUssQ0FBQztRQUNqQyxNQUFNQyxVQUFVSCxNQUFNSSxLQUFLLENBQUNKLE1BQU1LLE1BQU0sR0FBR1Q7UUFDM0MsT0FBTyxDQUFDLEtBQUssRUFBRU8sUUFBUUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3RDO0lBRUEsT0FBT2xCLE9BQU9hLEtBQUssQ0FBQ0MsS0FBSyxDQUFDLE1BQU1yQixNQUFNLENBQUMsQ0FBQ0MsR0FBR3lCO1FBQzFDLE9BQU8sR0FBR3pCLElBQUllLFdBQVdVLEtBQUssRUFBRSxDQUFDO0lBQ2xDLEdBQUc7QUFDSiJ9
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
const _syncresultstomd = require("./sync-results-to-md");
|
|
6
|
+
describe("syncResultsToMd", ()=>{
|
|
7
|
+
it("snapshots", ()=>{
|
|
8
|
+
expect((0, _syncresultstomd.syncResultsToMd)({
|
|
9
|
+
localSkipFiles: [
|
|
10
|
+
"src/file1.ts"
|
|
11
|
+
],
|
|
12
|
+
localFileChanges: {
|
|
13
|
+
"package.json": [
|
|
14
|
+
{
|
|
15
|
+
count: 8,
|
|
16
|
+
value: "my thing",
|
|
17
|
+
added: true
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
count: 10,
|
|
21
|
+
value: "your thang",
|
|
22
|
+
removed: true
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
modifiedFiles: {
|
|
27
|
+
added: [
|
|
28
|
+
"src/something.ts",
|
|
29
|
+
"new_settings.toml"
|
|
30
|
+
],
|
|
31
|
+
deleted: [
|
|
32
|
+
"TODO.md",
|
|
33
|
+
"throwaway.ts"
|
|
34
|
+
],
|
|
35
|
+
modified: [
|
|
36
|
+
"something.txt",
|
|
37
|
+
".env"
|
|
38
|
+
],
|
|
39
|
+
total: 6
|
|
40
|
+
}
|
|
41
|
+
})).toMatchSnapshot();
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mb3JtYXR0aW5nL3N5bmMtcmVzdWx0cy10by1tZC5zcGVjLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHN5bmNSZXN1bHRzVG9NZCB9IGZyb20gXCIuL3N5bmMtcmVzdWx0cy10by1tZFwiO1xuXG5kZXNjcmliZShcInN5bmNSZXN1bHRzVG9NZFwiLCAoKSA9PiB7XG5cdGl0KFwic25hcHNob3RzXCIsICgpID0+IHtcblx0XHRleHBlY3QoXG5cdFx0XHRzeW5jUmVzdWx0c1RvTWQoe1xuXHRcdFx0XHRsb2NhbFNraXBGaWxlczogW1wic3JjL2ZpbGUxLnRzXCJdLFxuXHRcdFx0XHRsb2NhbEZpbGVDaGFuZ2VzOiB7XG5cdFx0XHRcdFx0XCJwYWNrYWdlLmpzb25cIjogW1xuXHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRjb3VudDogOCxcblx0XHRcdFx0XHRcdFx0dmFsdWU6IFwibXkgdGhpbmdcIixcblx0XHRcdFx0XHRcdFx0YWRkZWQ6IHRydWUsXG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRjb3VudDogMTAsXG5cdFx0XHRcdFx0XHRcdHZhbHVlOiBcInlvdXIgdGhhbmdcIixcblx0XHRcdFx0XHRcdFx0cmVtb3ZlZDogdHJ1ZSxcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XSxcblx0XHRcdFx0fSxcblx0XHRcdFx0bW9kaWZpZWRGaWxlczoge1xuXHRcdFx0XHRcdGFkZGVkOiBbXCJzcmMvc29tZXRoaW5nLnRzXCIsIFwibmV3X3NldHRpbmdzLnRvbWxcIl0sXG5cdFx0XHRcdFx0ZGVsZXRlZDogW1wiVE9ETy5tZFwiLCBcInRocm93YXdheS50c1wiXSxcblx0XHRcdFx0XHRtb2RpZmllZDogW1wic29tZXRoaW5nLnR4dFwiLCBcIi5lbnZcIl0sXG5cdFx0XHRcdFx0dG90YWw6IDYsXG5cdFx0XHRcdH0sXG5cdFx0XHR9KSxcblx0XHQpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcbn0pO1xuIl0sIm5hbWVzIjpbImRlc2NyaWJlIiwiaXQiLCJleHBlY3QiLCJzeW5jUmVzdWx0c1RvTWQiLCJsb2NhbFNraXBGaWxlcyIsImxvY2FsRmlsZUNoYW5nZXMiLCJjb3VudCIsInZhbHVlIiwiYWRkZWQiLCJyZW1vdmVkIiwibW9kaWZpZWRGaWxlcyIsImRlbGV0ZWQiLCJtb2RpZmllZCIsInRvdGFsIiwidG9NYXRjaFNuYXBzaG90Il0sIm1hcHBpbmdzIjoiOzs7O2lDQUFnQztBQUVoQ0EsU0FBUyxtQkFBbUI7SUFDM0JDLEdBQUcsYUFBYTtRQUNmQyxPQUNDQyxJQUFBQSxnQ0FBZSxFQUFDO1lBQ2ZDLGdCQUFnQjtnQkFBQzthQUFlO1lBQ2hDQyxrQkFBa0I7Z0JBQ2pCLGdCQUFnQjtvQkFDZjt3QkFDQ0MsT0FBTzt3QkFDUEMsT0FBTzt3QkFDUEMsT0FBTztvQkFDUjtvQkFDQTt3QkFDQ0YsT0FBTzt3QkFDUEMsT0FBTzt3QkFDUEUsU0FBUztvQkFDVjtpQkFDQTtZQUNGO1lBQ0FDLGVBQWU7Z0JBQ2RGLE9BQU87b0JBQUM7b0JBQW9CO2lCQUFvQjtnQkFDaERHLFNBQVM7b0JBQUM7b0JBQVc7aUJBQWU7Z0JBQ3BDQyxVQUFVO29CQUFDO29CQUFpQjtpQkFBTztnQkFDbkNDLE9BQU87WUFDUjtRQUNELElBQ0NDLGVBQWU7SUFDbEI7QUFDRCJ9
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
_export_star(require("./formatting"), exports);
|
|
6
|
+
_export_star(require("./template-sync"), exports);
|
|
7
|
+
_export_star(require("./types"), exports);
|
|
8
|
+
function _export_star(from, to) {
|
|
9
|
+
Object.keys(from).forEach(function(k) {
|
|
10
|
+
if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
|
|
11
|
+
Object.defineProperty(to, k, {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: function() {
|
|
14
|
+
return from[k];
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
return from;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9mb3JtYXR0aW5nXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZW1wbGF0ZS1zeW5jXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlc1wiO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQWM7cUJBQ0E7cUJBQ0EifQ==
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "loadPlugin", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return loadPlugin;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _fs = require("fs");
|
|
12
|
+
const _path = require("path");
|
|
13
|
+
const _plugins = require("./plugins");
|
|
14
|
+
async function loadPlugin(mergeConfig, configDir) {
|
|
15
|
+
if (mergeConfig.plugin.startsWith("_")) {
|
|
16
|
+
const defaultHandler = Object.values(_plugins.defaultExtensionMap).find((el)=>el.builtinName === mergeConfig.plugin);
|
|
17
|
+
if (!defaultHandler) {
|
|
18
|
+
throw new Error(`No builtin merge function supplied for ${mergeConfig.plugin}. Cannot have merge config without custom plugin supplied.`);
|
|
19
|
+
}
|
|
20
|
+
return defaultHandler;
|
|
21
|
+
}
|
|
22
|
+
let handler;
|
|
23
|
+
// First check if this is a local .js file
|
|
24
|
+
const localPath = (0, _path.resolve)(configDir, mergeConfig.plugin);
|
|
25
|
+
const importPath = (0, _fs.existsSync)(localPath) ? localPath : mergeConfig.plugin;
|
|
26
|
+
try {
|
|
27
|
+
// Sad workaround for testing since dynamic import segfaults
|
|
28
|
+
if (process.env.JEST_WORKER_ID !== undefined) {
|
|
29
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
30
|
+
handler = require(importPath);
|
|
31
|
+
} else {
|
|
32
|
+
handler = await import(importPath);
|
|
33
|
+
}
|
|
34
|
+
if (!handler.merge) {
|
|
35
|
+
handler = handler.default;
|
|
36
|
+
}
|
|
37
|
+
} catch (err) {
|
|
38
|
+
console.error(err);
|
|
39
|
+
throw err;
|
|
40
|
+
}
|
|
41
|
+
return handler;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2FkLXBsdWdpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSBcImZzXCI7XG5pbXBvcnQgeyByZXNvbHZlIH0gZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IGRlZmF1bHRFeHRlbnNpb25NYXAgfSBmcm9tIFwiLi9wbHVnaW5zXCI7XG5pbXBvcnQgdHlwZSB7IE1lcmdlQ29uZmlnLCBNZXJnZVBsdWdpbiB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbi8qKlxuICogTG9hZHMgdGhlIHBsdWdpbiBhc3NvY2lhdGVkIHdpdGggdGhlIG1lcmdlIGNvbmZpZ1xuICogQHBhcmFtIG1lcmdlQ29uZmlnXG4gKiBAcGFyYW0gZm9yRXh0XG4gKiBAcGFyYW0gY29uZmlnRGlyXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZFBsdWdpbjxUPihcblx0bWVyZ2VDb25maWc6IE1lcmdlQ29uZmlnPFQ+LFxuXHRjb25maWdEaXI6IHN0cmluZyxcbik6IFByb21pc2U8TWVyZ2VQbHVnaW48VD4+IHtcblx0aWYgKG1lcmdlQ29uZmlnLnBsdWdpbi5zdGFydHNXaXRoKFwiX1wiKSkge1xuXHRcdGNvbnN0IGRlZmF1bHRIYW5kbGVyID0gT2JqZWN0LnZhbHVlcyhkZWZhdWx0RXh0ZW5zaW9uTWFwKS5maW5kKFxuXHRcdFx0KGVsKSA9PiBlbC5idWlsdGluTmFtZSA9PT0gbWVyZ2VDb25maWcucGx1Z2luLFxuXHRcdCk7XG5cdFx0aWYgKCFkZWZhdWx0SGFuZGxlcikge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFxuXHRcdFx0XHRgTm8gYnVpbHRpbiBtZXJnZSBmdW5jdGlvbiBzdXBwbGllZCBmb3IgJHttZXJnZUNvbmZpZy5wbHVnaW59LiAgQ2Fubm90IGhhdmUgbWVyZ2UgY29uZmlnIHdpdGhvdXQgY3VzdG9tIHBsdWdpbiBzdXBwbGllZC5gLFxuXHRcdFx0KTtcblx0XHR9XG5cdFx0cmV0dXJuIGRlZmF1bHRIYW5kbGVyIGFzIE1lcmdlUGx1Z2luPFQ+O1xuXHR9XG5cblx0bGV0IGhhbmRsZXI6IE1lcmdlUGx1Z2luPHVua25vd24+O1xuXHQvLyBGaXJzdCBjaGVjayBpZiB0aGlzIGlzIGEgbG9jYWwgLmpzIGZpbGVcblx0Y29uc3QgbG9jYWxQYXRoID0gcmVzb2x2ZShjb25maWdEaXIsIG1lcmdlQ29uZmlnLnBsdWdpbik7XG5cdGNvbnN0IGltcG9ydFBhdGggPSBleGlzdHNTeW5jKGxvY2FsUGF0aCkgPyBsb2NhbFBhdGggOiBtZXJnZUNvbmZpZy5wbHVnaW47XG5cdHRyeSB7XG5cdFx0Ly8gU2FkIHdvcmthcm91bmQgZm9yIHRlc3Rpbmcgc2luY2UgZHluYW1pYyBpbXBvcnQgc2VnZmF1bHRzXG5cdFx0aWYgKHByb2Nlc3MuZW52LkpFU1RfV09SS0VSX0lEICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdmFyLXJlcXVpcmVzXG5cdFx0XHRoYW5kbGVyID0gcmVxdWlyZShpbXBvcnRQYXRoKSBhcyBNZXJnZVBsdWdpbjx1bmtub3duPjtcblx0XHR9IGVsc2Uge1xuXHRcdFx0aGFuZGxlciA9IChhd2FpdCBpbXBvcnQoaW1wb3J0UGF0aCkpIGFzIE1lcmdlUGx1Z2luPHVua25vd24+O1xuXHRcdH1cblx0XHRpZiAoIWhhbmRsZXIubWVyZ2UpIHtcblx0XHRcdGhhbmRsZXIgPSAoaGFuZGxlciBhcyB1bmtub3duIGFzIHsgZGVmYXVsdDogTWVyZ2VQbHVnaW48dW5rbm93bj4gfSlcblx0XHRcdFx0LmRlZmF1bHQ7XG5cdFx0fVxuXHR9IGNhdGNoIChlcnIpIHtcblx0XHRjb25zb2xlLmVycm9yKGVycik7XG5cdFx0dGhyb3cgZXJyO1xuXHR9XG5cblx0cmV0dXJuIGhhbmRsZXIgYXMgTWVyZ2VQbHVnaW48VD47XG59XG4iXSwibmFtZXMiOlsibG9hZFBsdWdpbiIsIm1lcmdlQ29uZmlnIiwiY29uZmlnRGlyIiwicGx1Z2luIiwic3RhcnRzV2l0aCIsImRlZmF1bHRIYW5kbGVyIiwiT2JqZWN0IiwidmFsdWVzIiwiZGVmYXVsdEV4dGVuc2lvbk1hcCIsImZpbmQiLCJlbCIsImJ1aWx0aW5OYW1lIiwiRXJyb3IiLCJoYW5kbGVyIiwibG9jYWxQYXRoIiwicmVzb2x2ZSIsImltcG9ydFBhdGgiLCJleGlzdHNTeW5jIiwicHJvY2VzcyIsImVudiIsIkpFU1RfV09SS0VSX0lEIiwidW5kZWZpbmVkIiwicmVxdWlyZSIsIm1lcmdlIiwiZGVmYXVsdCIsImVyciIsImNvbnNvbGUiLCJlcnJvciJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFZc0JBOzs7ZUFBQUE7OztvQkFaSztzQkFDSDt5QkFDWTtBQVU3QixlQUFlQSxXQUNyQkMsV0FBMkIsRUFDM0JDLFNBQWlCO0lBRWpCLElBQUlELFlBQVlFLE1BQU0sQ0FBQ0MsVUFBVSxDQUFDLE1BQU07UUFDdkMsTUFBTUMsaUJBQWlCQyxPQUFPQyxNQUFNLENBQUNDLDRCQUFtQixFQUFFQyxJQUFJLENBQzdELENBQUNDLEtBQU9BLEdBQUdDLFdBQVcsS0FBS1YsWUFBWUUsTUFBTTtRQUU5QyxJQUFJLENBQUNFLGdCQUFnQjtZQUNwQixNQUFNLElBQUlPLE1BQ1QsQ0FBQyx1Q0FBdUMsRUFBRVgsWUFBWUUsTUFBTSxDQUFDLDJEQUEyRCxDQUFDO1FBRTNIO1FBQ0EsT0FBT0U7SUFDUjtJQUVBLElBQUlRO0lBQ0osMENBQTBDO0lBQzFDLE1BQU1DLFlBQVlDLElBQUFBLGFBQU8sRUFBQ2IsV0FBV0QsWUFBWUUsTUFBTTtJQUN2RCxNQUFNYSxhQUFhQyxJQUFBQSxjQUFVLEVBQUNILGFBQWFBLFlBQVliLFlBQVlFLE1BQU07SUFDekUsSUFBSTtRQUNILDREQUE0RDtRQUM1RCxJQUFJZSxRQUFRQyxHQUFHLENBQUNDLGNBQWMsS0FBS0MsV0FBVztZQUM3Qyw4REFBOEQ7WUFDOURSLFVBQVVTLFFBQVFOO1FBQ25CLE9BQU87WUFDTkgsVUFBVyxNQUFNLE1BQU0sQ0FBQ0c7UUFDekI7UUFDQSxJQUFJLENBQUNILFFBQVFVLEtBQUssRUFBRTtZQUNuQlYsVUFBVSxBQUFDQSxRQUNUVyxPQUFPO1FBQ1Y7SUFDRCxFQUFFLE9BQU9DLEtBQUs7UUFDYkMsUUFBUUMsS0FBSyxDQUFDRjtRQUNkLE1BQU1BO0lBQ1A7SUFFQSxPQUFPWjtBQUNSIn0=
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
getAllFilesInDir: function() {
|
|
13
|
+
return getAllFilesInDir;
|
|
14
|
+
},
|
|
15
|
+
invertMatchPatterns: function() {
|
|
16
|
+
return invertMatchPatterns;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
const _fs = require("fs");
|
|
20
|
+
const _micromatch = require("micromatch");
|
|
21
|
+
const _path = require("path");
|
|
22
|
+
function invertMatchPatterns(patterns) {
|
|
23
|
+
return patterns.map((pattern)=>{
|
|
24
|
+
if (pattern.startsWith("!")) {
|
|
25
|
+
return pattern.slice(1);
|
|
26
|
+
}
|
|
27
|
+
return `!${pattern}`;
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
function getAllFilesInDir(dir, ignorePatterns) {
|
|
31
|
+
return recurseDirsForFiles(dir, ignorePatterns);
|
|
32
|
+
}
|
|
33
|
+
function recurseDirsForFiles(dirpath, ignorePatterns, relativeRoot = "") {
|
|
34
|
+
return (0, _fs.readdirSync)(dirpath, {
|
|
35
|
+
withFileTypes: true
|
|
36
|
+
}).reduce((files, f)=>{
|
|
37
|
+
const relPath = (0, _path.join)(relativeRoot, f.name);
|
|
38
|
+
if ((0, _micromatch.some)(relPath, ignorePatterns)) {
|
|
39
|
+
return files;
|
|
40
|
+
}
|
|
41
|
+
// Ensure we aren't ignoring these folders explicitly
|
|
42
|
+
if (f.isDirectory()) {
|
|
43
|
+
files.push(...recurseDirsForFiles((0, _path.join)(dirpath, f.name), ignorePatterns, relPath));
|
|
44
|
+
} else {
|
|
45
|
+
files.push(relPath);
|
|
46
|
+
}
|
|
47
|
+
return files;
|
|
48
|
+
}, []);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXRjaC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZWFkZGlyU3luYyB9IGZyb20gXCJmc1wiO1xuaW1wb3J0IHsgc29tZSB9IGZyb20gXCJtaWNyb21hdGNoXCI7XG5pbXBvcnQgeyBqb2luIH0gZnJvbSBcInBhdGhcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGludmVydE1hdGNoUGF0dGVybnMocGF0dGVybnM6IHN0cmluZ1tdKSB7XG5cdHJldHVybiBwYXR0ZXJucy5tYXAoKHBhdHRlcm4pID0+IHtcblx0XHRpZiAocGF0dGVybi5zdGFydHNXaXRoKFwiIVwiKSkge1xuXHRcdFx0cmV0dXJuIHBhdHRlcm4uc2xpY2UoMSk7XG5cdFx0fVxuXHRcdHJldHVybiBgISR7cGF0dGVybn1gO1xuXHR9KTtcbn1cblxuLyoqXG4gKiBHZXRzIGFsbCB0aGUgZmlsZXMgaW4gdGhlIGRpcmVjdG9yeSByZWN1cnNpdmVseSB3aGlsZSBhdm9pZGluZyBhbnkgbWljcm9tYXRjaCBwYXR0ZXJuc1xuICogdGhhdCB3b3VsZCBtYXRjaCBmb3IgaWdub3JpbmdcbiAqXG4gKiBAcGFyYW0gZGlyXG4gKiBAcGFyYW0gaWdub3JlUGF0dGVybnNcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBbGxGaWxlc0luRGlyKFxuXHRkaXI6IHN0cmluZyxcblx0aWdub3JlUGF0dGVybnM6IHN0cmluZ1tdLFxuKTogc3RyaW5nW10ge1xuXHRyZXR1cm4gcmVjdXJzZURpcnNGb3JGaWxlcyhkaXIsIGlnbm9yZVBhdHRlcm5zKTtcbn1cblxuZnVuY3Rpb24gcmVjdXJzZURpcnNGb3JGaWxlcyhcblx0ZGlycGF0aDogc3RyaW5nLFxuXHRpZ25vcmVQYXR0ZXJuczogc3RyaW5nW10sXG5cdHJlbGF0aXZlUm9vdCA9IFwiXCIsXG4pOiBzdHJpbmdbXSB7XG5cdHJldHVybiByZWFkZGlyU3luYyhkaXJwYXRoLCB7XG5cdFx0d2l0aEZpbGVUeXBlczogdHJ1ZSxcblx0fSkucmVkdWNlKChmaWxlcywgZikgPT4ge1xuXHRcdGNvbnN0IHJlbFBhdGggPSBqb2luKHJlbGF0aXZlUm9vdCwgZi5uYW1lKTtcblx0XHRpZiAoc29tZShyZWxQYXRoLCBpZ25vcmVQYXR0ZXJucykpIHtcblx0XHRcdHJldHVybiBmaWxlcztcblx0XHR9XG5cblx0XHQvLyBFbnN1cmUgd2UgYXJlbid0IGlnbm9yaW5nIHRoZXNlIGZvbGRlcnMgZXhwbGljaXRseVxuXHRcdGlmIChmLmlzRGlyZWN0b3J5KCkpIHtcblx0XHRcdGZpbGVzLnB1c2goXG5cdFx0XHRcdC4uLnJlY3Vyc2VEaXJzRm9yRmlsZXMoam9pbihkaXJwYXRoLCBmLm5hbWUpLCBpZ25vcmVQYXR0ZXJucywgcmVsUGF0aCksXG5cdFx0XHQpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRmaWxlcy5wdXNoKHJlbFBhdGgpO1xuXHRcdH1cblx0XHRyZXR1cm4gZmlsZXM7XG5cdH0sIFtdIGFzIHN0cmluZ1tdKTtcbn1cbiJdLCJuYW1lcyI6WyJnZXRBbGxGaWxlc0luRGlyIiwiaW52ZXJ0TWF0Y2hQYXR0ZXJucyIsInBhdHRlcm5zIiwibWFwIiwicGF0dGVybiIsInN0YXJ0c1dpdGgiLCJzbGljZSIsImRpciIsImlnbm9yZVBhdHRlcm5zIiwicmVjdXJzZURpcnNGb3JGaWxlcyIsImRpcnBhdGgiLCJyZWxhdGl2ZVJvb3QiLCJyZWFkZGlyU3luYyIsIndpdGhGaWxlVHlwZXMiLCJyZWR1Y2UiLCJmaWxlcyIsImYiLCJyZWxQYXRoIiwiam9pbiIsIm5hbWUiLCJzb21lIiwiaXNEaXJlY3RvcnkiLCJwdXNoIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQXFCZ0JBLGdCQUFnQjtlQUFoQkE7O0lBakJBQyxtQkFBbUI7ZUFBbkJBOzs7b0JBSlk7NEJBQ1A7c0JBQ0E7QUFFZCxTQUFTQSxvQkFBb0JDLFFBQWtCO0lBQ3JELE9BQU9BLFNBQVNDLEdBQUcsQ0FBQyxDQUFDQztRQUNwQixJQUFJQSxRQUFRQyxVQUFVLENBQUMsTUFBTTtZQUM1QixPQUFPRCxRQUFRRSxLQUFLLENBQUM7UUFDdEI7UUFDQSxPQUFPLENBQUMsQ0FBQyxFQUFFRixTQUFTO0lBQ3JCO0FBQ0Q7QUFVTyxTQUFTSixpQkFDZk8sR0FBVyxFQUNYQyxjQUF3QjtJQUV4QixPQUFPQyxvQkFBb0JGLEtBQUtDO0FBQ2pDO0FBRUEsU0FBU0Msb0JBQ1JDLE9BQWUsRUFDZkYsY0FBd0IsRUFDeEJHLGVBQWUsRUFBRTtJQUVqQixPQUFPQyxJQUFBQSxlQUFXLEVBQUNGLFNBQVM7UUFDM0JHLGVBQWU7SUFDaEIsR0FBR0MsTUFBTSxDQUFDLENBQUNDLE9BQU9DO1FBQ2pCLE1BQU1DLFVBQVVDLElBQUFBLFVBQUksRUFBQ1AsY0FBY0ssRUFBRUcsSUFBSTtRQUN6QyxJQUFJQyxJQUFBQSxnQkFBSSxFQUFDSCxTQUFTVCxpQkFBaUI7WUFDbEMsT0FBT087UUFDUjtRQUVBLHFEQUFxRDtRQUNyRCxJQUFJQyxFQUFFSyxXQUFXLElBQUk7WUFDcEJOLE1BQU1PLElBQUksSUFDTmIsb0JBQW9CUyxJQUFBQSxVQUFJLEVBQUNSLFNBQVNNLEVBQUVHLElBQUksR0FBR1gsZ0JBQWdCUztRQUVoRSxPQUFPO1lBQ05GLE1BQU1PLElBQUksQ0FBQ0w7UUFDWjtRQUNBLE9BQU9GO0lBQ1IsR0FBRyxFQUFFO0FBQ04ifQ==
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
const _path = require("path");
|
|
6
|
+
const _match = require("./match");
|
|
7
|
+
const _testutils = require("./test-utils");
|
|
8
|
+
const TEST_GLOB_DIR = (0, _path.resolve)(_testutils.TEST_FIXTURES_DIR, "glob-test");
|
|
9
|
+
describe("getAllFilesInDir", ()=>{
|
|
10
|
+
it("gets all files in the directory with no ignores", ()=>{
|
|
11
|
+
const files = (0, _match.getAllFilesInDir)(TEST_GLOB_DIR, []);
|
|
12
|
+
expect(files).toEqual(expect.arrayContaining([
|
|
13
|
+
"folder1/something.js",
|
|
14
|
+
"folder1/something.ts",
|
|
15
|
+
"toplevel.js",
|
|
16
|
+
"toplevel.txt"
|
|
17
|
+
]));
|
|
18
|
+
try {
|
|
19
|
+
expect(files.length).toBe(4);
|
|
20
|
+
} catch (err) {
|
|
21
|
+
console.error("All found files: " + files);
|
|
22
|
+
throw err;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
it("gets all files in the directory that do not match the ignore (single)", ()=>{
|
|
26
|
+
const files = (0, _match.getAllFilesInDir)(TEST_GLOB_DIR, [
|
|
27
|
+
"**/*.ts"
|
|
28
|
+
]);
|
|
29
|
+
expect(files).toEqual(expect.arrayContaining([
|
|
30
|
+
"folder1/something.js",
|
|
31
|
+
"toplevel.js",
|
|
32
|
+
"toplevel.txt"
|
|
33
|
+
]));
|
|
34
|
+
try {
|
|
35
|
+
expect(files.length).toBe(3);
|
|
36
|
+
} catch (err) {
|
|
37
|
+
console.error("All found files: " + files);
|
|
38
|
+
throw err;
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
it("gets all files in the directory that do not match the ignore (multiple)", ()=>{
|
|
42
|
+
const files = (0, _match.getAllFilesInDir)(TEST_GLOB_DIR, [
|
|
43
|
+
"**/*.ts",
|
|
44
|
+
"**/*.txt"
|
|
45
|
+
]);
|
|
46
|
+
expect(files).toEqual(expect.arrayContaining([
|
|
47
|
+
"folder1/something.js",
|
|
48
|
+
"toplevel.js"
|
|
49
|
+
]));
|
|
50
|
+
try {
|
|
51
|
+
expect(files.length).toBe(2);
|
|
52
|
+
} catch (err) {
|
|
53
|
+
console.error("All found files: " + files);
|
|
54
|
+
throw err;
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
it("gets all files in the directory that do not match the ignore with a folder level directive (multiple)", ()=>{
|
|
58
|
+
const files = (0, _match.getAllFilesInDir)(TEST_GLOB_DIR, [
|
|
59
|
+
"**/*.ts",
|
|
60
|
+
"**/*.txt",
|
|
61
|
+
"folder1"
|
|
62
|
+
]);
|
|
63
|
+
expect(files).toEqual(expect.arrayContaining([
|
|
64
|
+
"toplevel.js"
|
|
65
|
+
]));
|
|
66
|
+
try {
|
|
67
|
+
expect(files.length).toBe(1);
|
|
68
|
+
} catch (err) {
|
|
69
|
+
console.error("All found files: " + files);
|
|
70
|
+
throw err;
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXRjaC5zcGVjLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlc29sdmUgfSBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgZ2V0QWxsRmlsZXNJbkRpciB9IGZyb20gXCIuL21hdGNoXCI7XG5pbXBvcnQgeyBURVNUX0ZJWFRVUkVTX0RJUiB9IGZyb20gXCIuL3Rlc3QtdXRpbHNcIjtcblxuY29uc3QgVEVTVF9HTE9CX0RJUiA9IHJlc29sdmUoVEVTVF9GSVhUVVJFU19ESVIsIFwiZ2xvYi10ZXN0XCIpO1xuXG5kZXNjcmliZShcImdldEFsbEZpbGVzSW5EaXJcIiwgKCkgPT4ge1xuXHRpdChcImdldHMgYWxsIGZpbGVzIGluIHRoZSBkaXJlY3Rvcnkgd2l0aCBubyBpZ25vcmVzXCIsICgpID0+IHtcblx0XHRjb25zdCBmaWxlcyA9IGdldEFsbEZpbGVzSW5EaXIoVEVTVF9HTE9CX0RJUiwgW10pO1xuXHRcdGV4cGVjdChmaWxlcykudG9FcXVhbChcblx0XHRcdGV4cGVjdC5hcnJheUNvbnRhaW5pbmcoW1xuXHRcdFx0XHRcImZvbGRlcjEvc29tZXRoaW5nLmpzXCIsXG5cdFx0XHRcdFwiZm9sZGVyMS9zb21ldGhpbmcudHNcIixcblx0XHRcdFx0XCJ0b3BsZXZlbC5qc1wiLFxuXHRcdFx0XHRcInRvcGxldmVsLnR4dFwiLFxuXHRcdFx0XSksXG5cdFx0KTtcblx0XHR0cnkge1xuXHRcdFx0ZXhwZWN0KGZpbGVzLmxlbmd0aCkudG9CZSg0KTtcblx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdGNvbnNvbGUuZXJyb3IoXCJBbGwgZm91bmQgZmlsZXM6IFwiICsgZmlsZXMpO1xuXHRcdFx0dGhyb3cgZXJyO1xuXHRcdH1cblx0fSk7XG5cdGl0KFwiZ2V0cyBhbGwgZmlsZXMgaW4gdGhlIGRpcmVjdG9yeSB0aGF0IGRvIG5vdCBtYXRjaCB0aGUgaWdub3JlIChzaW5nbGUpXCIsICgpID0+IHtcblx0XHRjb25zdCBmaWxlcyA9IGdldEFsbEZpbGVzSW5EaXIoVEVTVF9HTE9CX0RJUiwgW1wiKiovKi50c1wiXSk7XG5cdFx0ZXhwZWN0KGZpbGVzKS50b0VxdWFsKFxuXHRcdFx0ZXhwZWN0LmFycmF5Q29udGFpbmluZyhbXG5cdFx0XHRcdFwiZm9sZGVyMS9zb21ldGhpbmcuanNcIixcblx0XHRcdFx0XCJ0b3BsZXZlbC5qc1wiLFxuXHRcdFx0XHRcInRvcGxldmVsLnR4dFwiLFxuXHRcdFx0XSksXG5cdFx0KTtcblx0XHR0cnkge1xuXHRcdFx0ZXhwZWN0KGZpbGVzLmxlbmd0aCkudG9CZSgzKTtcblx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdGNvbnNvbGUuZXJyb3IoXCJBbGwgZm91bmQgZmlsZXM6IFwiICsgZmlsZXMpO1xuXHRcdFx0dGhyb3cgZXJyO1xuXHRcdH1cblx0fSk7XG5cdGl0KFwiZ2V0cyBhbGwgZmlsZXMgaW4gdGhlIGRpcmVjdG9yeSB0aGF0IGRvIG5vdCBtYXRjaCB0aGUgaWdub3JlIChtdWx0aXBsZSlcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IGZpbGVzID0gZ2V0QWxsRmlsZXNJbkRpcihURVNUX0dMT0JfRElSLCBbXCIqKi8qLnRzXCIsIFwiKiovKi50eHRcIl0pO1xuXHRcdGV4cGVjdChmaWxlcykudG9FcXVhbChcblx0XHRcdGV4cGVjdC5hcnJheUNvbnRhaW5pbmcoW1wiZm9sZGVyMS9zb21ldGhpbmcuanNcIiwgXCJ0b3BsZXZlbC5qc1wiXSksXG5cdFx0KTtcblx0XHR0cnkge1xuXHRcdFx0ZXhwZWN0KGZpbGVzLmxlbmd0aCkudG9CZSgyKTtcblx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdGNvbnNvbGUuZXJyb3IoXCJBbGwgZm91bmQgZmlsZXM6IFwiICsgZmlsZXMpO1xuXHRcdFx0dGhyb3cgZXJyO1xuXHRcdH1cblx0fSk7XG5cblx0aXQoXCJnZXRzIGFsbCBmaWxlcyBpbiB0aGUgZGlyZWN0b3J5IHRoYXQgZG8gbm90IG1hdGNoIHRoZSBpZ25vcmUgd2l0aCBhIGZvbGRlciBsZXZlbCBkaXJlY3RpdmUgKG11bHRpcGxlKVwiLCAoKSA9PiB7XG5cdFx0Y29uc3QgZmlsZXMgPSBnZXRBbGxGaWxlc0luRGlyKFRFU1RfR0xPQl9ESVIsIFtcblx0XHRcdFwiKiovKi50c1wiLFxuXHRcdFx0XCIqKi8qLnR4dFwiLFxuXHRcdFx0XCJmb2xkZXIxXCIsXG5cdFx0XSk7XG5cdFx0ZXhwZWN0KGZpbGVzKS50b0VxdWFsKGV4cGVjdC5hcnJheUNvbnRhaW5pbmcoW1widG9wbGV2ZWwuanNcIl0pKTtcblx0XHR0cnkge1xuXHRcdFx0ZXhwZWN0KGZpbGVzLmxlbmd0aCkudG9CZSgxKTtcblx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdGNvbnNvbGUuZXJyb3IoXCJBbGwgZm91bmQgZmlsZXM6IFwiICsgZmlsZXMpO1xuXHRcdFx0dGhyb3cgZXJyO1xuXHRcdH1cblx0fSk7XG59KTtcbiJdLCJuYW1lcyI6WyJURVNUX0dMT0JfRElSIiwicmVzb2x2ZSIsIlRFU1RfRklYVFVSRVNfRElSIiwiZGVzY3JpYmUiLCJpdCIsImZpbGVzIiwiZ2V0QWxsRmlsZXNJbkRpciIsImV4cGVjdCIsInRvRXF1YWwiLCJhcnJheUNvbnRhaW5pbmciLCJsZW5ndGgiLCJ0b0JlIiwiZXJyIiwiY29uc29sZSIsImVycm9yIl0sIm1hcHBpbmdzIjoiOzs7O3NCQUF3Qjt1QkFDUzsyQkFDQztBQUVsQyxNQUFNQSxnQkFBZ0JDLElBQUFBLGFBQU8sRUFBQ0MsNEJBQWlCLEVBQUU7QUFFakRDLFNBQVMsb0JBQW9CO0lBQzVCQyxHQUFHLG1EQUFtRDtRQUNyRCxNQUFNQyxRQUFRQyxJQUFBQSx1QkFBZ0IsRUFBQ04sZUFBZSxFQUFFO1FBQ2hETyxPQUFPRixPQUFPRyxPQUFPLENBQ3BCRCxPQUFPRSxlQUFlLENBQUM7WUFDdEI7WUFDQTtZQUNBO1lBQ0E7U0FDQTtRQUVGLElBQUk7WUFDSEYsT0FBT0YsTUFBTUssTUFBTSxFQUFFQyxJQUFJLENBQUM7UUFDM0IsRUFBRSxPQUFPQyxLQUFLO1lBQ2JDLFFBQVFDLEtBQUssQ0FBQyxzQkFBc0JUO1lBQ3BDLE1BQU1PO1FBQ1A7SUFDRDtJQUNBUixHQUFHLHlFQUF5RTtRQUMzRSxNQUFNQyxRQUFRQyxJQUFBQSx1QkFBZ0IsRUFBQ04sZUFBZTtZQUFDO1NBQVU7UUFDekRPLE9BQU9GLE9BQU9HLE9BQU8sQ0FDcEJELE9BQU9FLGVBQWUsQ0FBQztZQUN0QjtZQUNBO1lBQ0E7U0FDQTtRQUVGLElBQUk7WUFDSEYsT0FBT0YsTUFBTUssTUFBTSxFQUFFQyxJQUFJLENBQUM7UUFDM0IsRUFBRSxPQUFPQyxLQUFLO1lBQ2JDLFFBQVFDLEtBQUssQ0FBQyxzQkFBc0JUO1lBQ3BDLE1BQU1PO1FBQ1A7SUFDRDtJQUNBUixHQUFHLDJFQUEyRTtRQUM3RSxNQUFNQyxRQUFRQyxJQUFBQSx1QkFBZ0IsRUFBQ04sZUFBZTtZQUFDO1lBQVc7U0FBVztRQUNyRU8sT0FBT0YsT0FBT0csT0FBTyxDQUNwQkQsT0FBT0UsZUFBZSxDQUFDO1lBQUM7WUFBd0I7U0FBYztRQUUvRCxJQUFJO1lBQ0hGLE9BQU9GLE1BQU1LLE1BQU0sRUFBRUMsSUFBSSxDQUFDO1FBQzNCLEVBQUUsT0FBT0MsS0FBSztZQUNiQyxRQUFRQyxLQUFLLENBQUMsc0JBQXNCVDtZQUNwQyxNQUFNTztRQUNQO0lBQ0Q7SUFFQVIsR0FBRyx5R0FBeUc7UUFDM0csTUFBTUMsUUFBUUMsSUFBQUEsdUJBQWdCLEVBQUNOLGVBQWU7WUFDN0M7WUFDQTtZQUNBO1NBQ0E7UUFDRE8sT0FBT0YsT0FBT0csT0FBTyxDQUFDRCxPQUFPRSxlQUFlLENBQUM7WUFBQztTQUFjO1FBQzVELElBQUk7WUFDSEYsT0FBT0YsTUFBTUssTUFBTSxFQUFFQyxJQUFJLENBQUM7UUFDM0IsRUFBRSxPQUFPQyxLQUFLO1lBQ2JDLFFBQVFDLEtBQUssQ0FBQyxzQkFBc0JUO1lBQ3BDLE1BQU1PO1FBQ1A7SUFDRDtBQUNEIn0=
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "mergeFile", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return mergeFile;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _diff = require("diff");
|
|
12
|
+
const _fs = require("fs");
|
|
13
|
+
const _promises = require("fs/promises");
|
|
14
|
+
const _fsextra = require("fs-extra");
|
|
15
|
+
const _micromatch = require("micromatch");
|
|
16
|
+
const _path = require("path");
|
|
17
|
+
const _loadplugin = require("./load-plugin");
|
|
18
|
+
async function mergeFile(relPath, context) {
|
|
19
|
+
const { localTemplateSyncConfig, templateSyncConfig, tempCloneDir, cwd } = context;
|
|
20
|
+
if ((0, _micromatch.some)(relPath, localTemplateSyncConfig.ignore)) {
|
|
21
|
+
return {
|
|
22
|
+
ignoredDueToLocal: true
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
const ext = (0, _path.extname)(relPath);
|
|
26
|
+
const filePath = (0, _path.join)(cwd, relPath);
|
|
27
|
+
const templatePath = (0, _path.join)(tempCloneDir, relPath);
|
|
28
|
+
// Unless there's a need, we remove files that were deleted and don't pass them to plugins yet
|
|
29
|
+
if (context.fileOperation === "deleted") {
|
|
30
|
+
if ((0, _fs.existsSync)(filePath)) {
|
|
31
|
+
await (0, _promises.rm)(filePath);
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
ignoredDueToLocal: false,
|
|
35
|
+
localChanges: []
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
const mergeConfig = templateSyncConfig.merge?.find((mc)=>(0, _micromatch.isMatch)(relPath, mc.glob));
|
|
39
|
+
const localMergeConfig = localTemplateSyncConfig.merge?.find((mc)=>(0, _micromatch.isMatch)(relPath, mc.glob));
|
|
40
|
+
const mergeHandler = mergeConfig ? await (0, _loadplugin.loadPlugin)(mergeConfig, tempCloneDir) : undefined;
|
|
41
|
+
const localMergeHandler = localMergeConfig ? await (0, _loadplugin.loadPlugin)(localMergeConfig, cwd) : undefined;
|
|
42
|
+
// Either write the merge or write the file
|
|
43
|
+
let fileContents;
|
|
44
|
+
const localChanges = [];
|
|
45
|
+
if ((0, _fs.existsSync)(filePath) && (mergeHandler || localMergeHandler)) {
|
|
46
|
+
const originalCurrentFile = (await (0, _promises.readFile)(filePath)).toString();
|
|
47
|
+
if (mergeHandler) {
|
|
48
|
+
fileContents = await safeMerge(mergeHandler, mergeConfig?.plugin ?? `default for ${ext}`, originalCurrentFile, (await (0, _promises.readFile)(templatePath)).toString(), {
|
|
49
|
+
relFilePath: relPath,
|
|
50
|
+
mergeArguments: mergeConfig?.options ?? {},
|
|
51
|
+
isLocalOptions: false
|
|
52
|
+
});
|
|
53
|
+
} else {
|
|
54
|
+
// Apply overwrite if we didn't set up merge
|
|
55
|
+
fileContents = (await (0, _promises.readFile)(templatePath)).toString();
|
|
56
|
+
}
|
|
57
|
+
// We apply the localMerge Config to the fileContent output by the template merge
|
|
58
|
+
if (localMergeHandler) {
|
|
59
|
+
const localContents = await safeMerge(localMergeHandler, localMergeConfig?.plugin ?? `default for ${ext}`, originalCurrentFile, fileContents, {
|
|
60
|
+
relFilePath: relPath,
|
|
61
|
+
mergeArguments: localMergeConfig?.options ?? {},
|
|
62
|
+
isLocalOptions: true
|
|
63
|
+
});
|
|
64
|
+
localChanges.push(...(0, _diff.diffLines)(fileContents, localContents));
|
|
65
|
+
fileContents = localContents;
|
|
66
|
+
}
|
|
67
|
+
} else {
|
|
68
|
+
// Just perform simple overwrite
|
|
69
|
+
fileContents = (await (0, _promises.readFile)(templatePath)).toString();
|
|
70
|
+
}
|
|
71
|
+
await (0, _fsextra.outputFile)(filePath, fileContents);
|
|
72
|
+
return {
|
|
73
|
+
ignoredDueToLocal: false,
|
|
74
|
+
localChanges
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Simple helper function to ensure that we don't let bad plugins corrupt the call flow
|
|
79
|
+
* @param plugin
|
|
80
|
+
*/ async function safeMerge(plugin, pluginPath, current, fromTemplate, context) {
|
|
81
|
+
const ret = await plugin.merge(current, fromTemplate, context);
|
|
82
|
+
if (typeof ret !== "string") {
|
|
83
|
+
throw new Error(`Plugin ${pluginPath} did not return string for merge function! This is not allowed!`);
|
|
84
|
+
}
|
|
85
|
+
if (!ret) {
|
|
86
|
+
throw new Error(`Plugin ${pluginPath} should not make a merge be an empty string!`);
|
|
87
|
+
}
|
|
88
|
+
return ret;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tZXJnZS1maWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ2hhbmdlIH0gZnJvbSBcImRpZmZcIjtcbmltcG9ydCB7IGRpZmZMaW5lcyB9IGZyb20gXCJkaWZmXCI7XG5pbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSBcImZzXCI7XG5pbXBvcnQgeyByZWFkRmlsZSwgcm0gfSBmcm9tIFwiZnMvcHJvbWlzZXNcIjtcbmltcG9ydCB7IG91dHB1dEZpbGUgfSBmcm9tIFwiZnMtZXh0cmFcIjtcbmltcG9ydCB7IGlzTWF0Y2gsIHNvbWUgfSBmcm9tIFwibWljcm9tYXRjaFwiO1xuaW1wb3J0IHsgZXh0bmFtZSwgam9pbiB9IGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBsb2FkUGx1Z2luIH0gZnJvbSBcIi4vbG9hZC1wbHVnaW5cIjtcbmltcG9ydCB0eXBlIHsgQ29uZmlnLCBGaWxlT3BlcmF0aW9uLCBNZXJnZUNvbnRleHQsIE1lcmdlUGx1Z2luIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuaW50ZXJmYWNlIE1lcmdlRmlsZU9wdGlvbnMge1xuXHRsb2NhbFRlbXBsYXRlU3luY0NvbmZpZzogQ29uZmlnO1xuXHR0ZW1wbGF0ZVN5bmNDb25maWc6IENvbmZpZztcblx0dGVtcENsb25lRGlyOiBzdHJpbmc7XG5cdGN3ZDogc3RyaW5nO1xuXHRmaWxlT3BlcmF0aW9uOiBGaWxlT3BlcmF0aW9uO1xufVxuXG5pbnRlcmZhY2UgTWVyZ2VGaWxlUmV0dXJuIHtcblx0LyoqXG5cdCAqIElmIHRoZSBmaWxlIHdhcyBpZ25vcmVkIGR1ZSB0byB0aGUgbG9jYWwgY29uZmlnXG5cdCAqL1xuXHRpZ25vcmVkRHVlVG9Mb2NhbDogYm9vbGVhbjtcblx0LyoqXG5cdCAqIE9ubHkgYXZhaWxhYmxlIGlmIHRoZSBmaWxlIHdhc24ndCBpZ25vcmVkLCB0aGlzIGlzIGEgbGlzdCBvZiBsaW5lRGlmZnNcblx0ICogZnJvbSB0aGUgZGlmZiBsaWJyYXJ5IHRoYXQgd2VyZSBhcHBsaWVkIHRvIHdoYXQgd291bGQndmUgYmVlbiBjaGFuZ2VkIGJ5XG5cdCAqIHRoZSBiYXNlIHRlbXBsYXRlc3luYyByZXBvXG5cdCAqL1xuXHRsb2NhbENoYW5nZXM/OiBDaGFuZ2VbXTtcbn1cblxuLyoqXG4gKiBBcHBsaWVzIHRoZSBtZXJnZSB0byBhIGZpbGUgYWNjb3JkaW5nIHRvIHRoZSBjb250ZXh0IGluZm9ybWF0aW9uLlxuICpcbiAqIFJldHVybnMgdHJ1ZSBpZiBtZXJnZWQgYW5kIGZhbHNlIGlmIHNraXBwZWRcbiAqIEBwYXJhbSByZWxQYXRoXG4gKiBAcGFyYW0gY29udGV4dFxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG1lcmdlRmlsZShcblx0cmVsUGF0aDogc3RyaW5nLFxuXHRjb250ZXh0OiBNZXJnZUZpbGVPcHRpb25zLFxuKTogUHJvbWlzZTxNZXJnZUZpbGVSZXR1cm4+IHtcblx0Y29uc3QgeyBsb2NhbFRlbXBsYXRlU3luY0NvbmZpZywgdGVtcGxhdGVTeW5jQ29uZmlnLCB0ZW1wQ2xvbmVEaXIsIGN3ZCB9ID1cblx0XHRjb250ZXh0O1xuXG5cdGlmIChzb21lKHJlbFBhdGgsIGxvY2FsVGVtcGxhdGVTeW5jQ29uZmlnLmlnbm9yZSkpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0aWdub3JlZER1ZVRvTG9jYWw6IHRydWUsXG5cdFx0fTtcblx0fVxuXG5cdGNvbnN0IGV4dCA9IGV4dG5hbWUocmVsUGF0aCk7XG5cdGNvbnN0IGZpbGVQYXRoID0gam9pbihjd2QsIHJlbFBhdGgpO1xuXHRjb25zdCB0ZW1wbGF0ZVBhdGggPSBqb2luKHRlbXBDbG9uZURpciwgcmVsUGF0aCk7XG5cblx0Ly8gVW5sZXNzIHRoZXJlJ3MgYSBuZWVkLCB3ZSByZW1vdmUgZmlsZXMgdGhhdCB3ZXJlIGRlbGV0ZWQgYW5kIGRvbid0IHBhc3MgdGhlbSB0byBwbHVnaW5zIHlldFxuXHRpZiAoY29udGV4dC5maWxlT3BlcmF0aW9uID09PSBcImRlbGV0ZWRcIikge1xuXHRcdGlmIChleGlzdHNTeW5jKGZpbGVQYXRoKSkge1xuXHRcdFx0YXdhaXQgcm0oZmlsZVBhdGgpO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0aWdub3JlZER1ZVRvTG9jYWw6IGZhbHNlLFxuXHRcdFx0bG9jYWxDaGFuZ2VzOiBbXSxcblx0XHR9O1xuXHR9XG5cblx0Y29uc3QgbWVyZ2VDb25maWcgPSB0ZW1wbGF0ZVN5bmNDb25maWcubWVyZ2U/LmZpbmQoKG1jKSA9PlxuXHRcdGlzTWF0Y2gocmVsUGF0aCwgbWMuZ2xvYiksXG5cdCk7XG5cdGNvbnN0IGxvY2FsTWVyZ2VDb25maWcgPSBsb2NhbFRlbXBsYXRlU3luY0NvbmZpZy5tZXJnZT8uZmluZCgobWMpID0+XG5cdFx0aXNNYXRjaChyZWxQYXRoLCBtYy5nbG9iKSxcblx0KTtcblxuXHRjb25zdCBtZXJnZUhhbmRsZXIgPSBtZXJnZUNvbmZpZ1xuXHRcdD8gYXdhaXQgbG9hZFBsdWdpbihtZXJnZUNvbmZpZywgdGVtcENsb25lRGlyKVxuXHRcdDogdW5kZWZpbmVkO1xuXHRjb25zdCBsb2NhbE1lcmdlSGFuZGxlciA9IGxvY2FsTWVyZ2VDb25maWdcblx0XHQ/IGF3YWl0IGxvYWRQbHVnaW4obG9jYWxNZXJnZUNvbmZpZywgY3dkKVxuXHRcdDogdW5kZWZpbmVkO1xuXG5cdC8vIEVpdGhlciB3cml0ZSB0aGUgbWVyZ2Ugb3Igd3JpdGUgdGhlIGZpbGVcblx0bGV0IGZpbGVDb250ZW50czogc3RyaW5nO1xuXHRjb25zdCBsb2NhbENoYW5nZXM6IENoYW5nZVtdID0gW107XG5cdGlmIChleGlzdHNTeW5jKGZpbGVQYXRoKSAmJiAobWVyZ2VIYW5kbGVyIHx8IGxvY2FsTWVyZ2VIYW5kbGVyKSkge1xuXHRcdGNvbnN0IG9yaWdpbmFsQ3VycmVudEZpbGUgPSAoYXdhaXQgcmVhZEZpbGUoZmlsZVBhdGgpKS50b1N0cmluZygpO1xuXHRcdGlmIChtZXJnZUhhbmRsZXIpIHtcblx0XHRcdGZpbGVDb250ZW50cyA9IGF3YWl0IHNhZmVNZXJnZShcblx0XHRcdFx0bWVyZ2VIYW5kbGVyLFxuXHRcdFx0XHRtZXJnZUNvbmZpZz8ucGx1Z2luID8/IGBkZWZhdWx0IGZvciAke2V4dH1gLFxuXHRcdFx0XHRvcmlnaW5hbEN1cnJlbnRGaWxlLFxuXHRcdFx0XHQoYXdhaXQgcmVhZEZpbGUodGVtcGxhdGVQYXRoKSkudG9TdHJpbmcoKSxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdHJlbEZpbGVQYXRoOiByZWxQYXRoLFxuXHRcdFx0XHRcdG1lcmdlQXJndW1lbnRzOiBtZXJnZUNvbmZpZz8ub3B0aW9ucyA/PyB7fSxcblx0XHRcdFx0XHRpc0xvY2FsT3B0aW9uczogZmFsc2UsXG5cdFx0XHRcdH0sXG5cdFx0XHQpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHQvLyBBcHBseSBvdmVyd3JpdGUgaWYgd2UgZGlkbid0IHNldCB1cCBtZXJnZVxuXHRcdFx0ZmlsZUNvbnRlbnRzID0gKGF3YWl0IHJlYWRGaWxlKHRlbXBsYXRlUGF0aCkpLnRvU3RyaW5nKCk7XG5cdFx0fVxuXG5cdFx0Ly8gV2UgYXBwbHkgdGhlIGxvY2FsTWVyZ2UgQ29uZmlnIHRvIHRoZSBmaWxlQ29udGVudCBvdXRwdXQgYnkgdGhlIHRlbXBsYXRlIG1lcmdlXG5cdFx0aWYgKGxvY2FsTWVyZ2VIYW5kbGVyKSB7XG5cdFx0XHRjb25zdCBsb2NhbENvbnRlbnRzID0gYXdhaXQgc2FmZU1lcmdlKFxuXHRcdFx0XHRsb2NhbE1lcmdlSGFuZGxlcixcblx0XHRcdFx0bG9jYWxNZXJnZUNvbmZpZz8ucGx1Z2luID8/IGBkZWZhdWx0IGZvciAke2V4dH1gLFxuXHRcdFx0XHRvcmlnaW5hbEN1cnJlbnRGaWxlLFxuXHRcdFx0XHRmaWxlQ29udGVudHMsXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRyZWxGaWxlUGF0aDogcmVsUGF0aCxcblx0XHRcdFx0XHRtZXJnZUFyZ3VtZW50czogbG9jYWxNZXJnZUNvbmZpZz8ub3B0aW9ucyA/PyB7fSxcblx0XHRcdFx0XHRpc0xvY2FsT3B0aW9uczogdHJ1ZSxcblx0XHRcdFx0fSxcblx0XHRcdCk7XG5cdFx0XHRsb2NhbENoYW5nZXMucHVzaCguLi5kaWZmTGluZXMoZmlsZUNvbnRlbnRzLCBsb2NhbENvbnRlbnRzKSk7XG5cdFx0XHRmaWxlQ29udGVudHMgPSBsb2NhbENvbnRlbnRzO1xuXHRcdH1cblx0fSBlbHNlIHtcblx0XHQvLyBKdXN0IHBlcmZvcm0gc2ltcGxlIG92ZXJ3cml0ZVxuXHRcdGZpbGVDb250ZW50cyA9IChhd2FpdCByZWFkRmlsZSh0ZW1wbGF0ZVBhdGgpKS50b1N0cmluZygpO1xuXHR9XG5cdGF3YWl0IG91dHB1dEZpbGUoZmlsZVBhdGgsIGZpbGVDb250ZW50cyk7XG5cdHJldHVybiB7XG5cdFx0aWdub3JlZER1ZVRvTG9jYWw6IGZhbHNlLFxuXHRcdGxvY2FsQ2hhbmdlcyxcblx0fTtcbn1cblxuLyoqXG4gKiBTaW1wbGUgaGVscGVyIGZ1bmN0aW9uIHRvIGVuc3VyZSB0aGF0IHdlIGRvbid0IGxldCBiYWQgcGx1Z2lucyBjb3JydXB0IHRoZSBjYWxsIGZsb3dcbiAqIEBwYXJhbSBwbHVnaW5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gc2FmZU1lcmdlKFxuXHRwbHVnaW46IE1lcmdlUGx1Z2luPHVua25vd24+LFxuXHRwbHVnaW5QYXRoOiBzdHJpbmcsXG5cdGN1cnJlbnQ6IHN0cmluZyxcblx0ZnJvbVRlbXBsYXRlOiBzdHJpbmcsXG5cdGNvbnRleHQ6IE1lcmdlQ29udGV4dCxcbikge1xuXHRjb25zdCByZXQgPSBhd2FpdCBwbHVnaW4ubWVyZ2UoY3VycmVudCwgZnJvbVRlbXBsYXRlLCBjb250ZXh0KTtcblx0aWYgKHR5cGVvZiByZXQgIT09IFwic3RyaW5nXCIpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoXG5cdFx0XHRgUGx1Z2luICR7cGx1Z2luUGF0aH0gZGlkIG5vdCByZXR1cm4gc3RyaW5nIGZvciBtZXJnZSBmdW5jdGlvbiEgIFRoaXMgaXMgbm90IGFsbG93ZWQhYCxcblx0XHQpO1xuXHR9XG5cblx0aWYgKCFyZXQpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoXG5cdFx0XHRgUGx1Z2luICR7cGx1Z2luUGF0aH0gc2hvdWxkIG5vdCBtYWtlIGEgbWVyZ2UgYmUgYW4gZW1wdHkgc3RyaW5nIWAsXG5cdFx0KTtcblx0fVxuXHRyZXR1cm4gcmV0IGFzIHN0cmluZztcbn1cbiJdLCJuYW1lcyI6WyJtZXJnZUZpbGUiLCJyZWxQYXRoIiwiY29udGV4dCIsImxvY2FsVGVtcGxhdGVTeW5jQ29uZmlnIiwidGVtcGxhdGVTeW5jQ29uZmlnIiwidGVtcENsb25lRGlyIiwiY3dkIiwic29tZSIsImlnbm9yZSIsImlnbm9yZWREdWVUb0xvY2FsIiwiZXh0IiwiZXh0bmFtZSIsImZpbGVQYXRoIiwiam9pbiIsInRlbXBsYXRlUGF0aCIsImZpbGVPcGVyYXRpb24iLCJleGlzdHNTeW5jIiwicm0iLCJsb2NhbENoYW5nZXMiLCJtZXJnZUNvbmZpZyIsIm1lcmdlIiwiZmluZCIsIm1jIiwiaXNNYXRjaCIsImdsb2IiLCJsb2NhbE1lcmdlQ29uZmlnIiwibWVyZ2VIYW5kbGVyIiwibG9hZFBsdWdpbiIsInVuZGVmaW5lZCIsImxvY2FsTWVyZ2VIYW5kbGVyIiwiZmlsZUNvbnRlbnRzIiwib3JpZ2luYWxDdXJyZW50RmlsZSIsInJlYWRGaWxlIiwidG9TdHJpbmciLCJzYWZlTWVyZ2UiLCJwbHVnaW4iLCJyZWxGaWxlUGF0aCIsIm1lcmdlQXJndW1lbnRzIiwib3B0aW9ucyIsImlzTG9jYWxPcHRpb25zIiwibG9jYWxDb250ZW50cyIsInB1c2giLCJkaWZmTGluZXMiLCJvdXRwdXRGaWxlIiwicGx1Z2luUGF0aCIsImN1cnJlbnQiLCJmcm9tVGVtcGxhdGUiLCJyZXQiLCJFcnJvciJdLCJtYXBwaW5ncyI6Ijs7OzsrQkF1Q3NCQTs7O2VBQUFBOzs7c0JBdENJO29CQUNDOzBCQUNFO3lCQUNGOzRCQUNHO3NCQUNBOzRCQUNIO0FBZ0NwQixlQUFlQSxVQUNyQkMsT0FBZSxFQUNmQyxPQUF5QjtJQUV6QixNQUFNLEVBQUVDLHVCQUF1QixFQUFFQyxrQkFBa0IsRUFBRUMsWUFBWSxFQUFFQyxHQUFHLEVBQUUsR0FDdkVKO0lBRUQsSUFBSUssSUFBQUEsZ0JBQUksRUFBQ04sU0FBU0Usd0JBQXdCSyxNQUFNLEdBQUc7UUFDbEQsT0FBTztZQUNOQyxtQkFBbUI7UUFDcEI7SUFDRDtJQUVBLE1BQU1DLE1BQU1DLElBQUFBLGFBQU8sRUFBQ1Y7SUFDcEIsTUFBTVcsV0FBV0MsSUFBQUEsVUFBSSxFQUFDUCxLQUFLTDtJQUMzQixNQUFNYSxlQUFlRCxJQUFBQSxVQUFJLEVBQUNSLGNBQWNKO0lBRXhDLDhGQUE4RjtJQUM5RixJQUFJQyxRQUFRYSxhQUFhLEtBQUssV0FBVztRQUN4QyxJQUFJQyxJQUFBQSxjQUFVLEVBQUNKLFdBQVc7WUFDekIsTUFBTUssSUFBQUEsWUFBRSxFQUFDTDtRQUNWO1FBQ0EsT0FBTztZQUNOSCxtQkFBbUI7WUFDbkJTLGNBQWMsRUFBRTtRQUNqQjtJQUNEO0lBRUEsTUFBTUMsY0FBY2YsbUJBQW1CZ0IsS0FBSyxFQUFFQyxLQUFLLENBQUNDLEtBQ25EQyxJQUFBQSxtQkFBTyxFQUFDdEIsU0FBU3FCLEdBQUdFLElBQUk7SUFFekIsTUFBTUMsbUJBQW1CdEIsd0JBQXdCaUIsS0FBSyxFQUFFQyxLQUFLLENBQUNDLEtBQzdEQyxJQUFBQSxtQkFBTyxFQUFDdEIsU0FBU3FCLEdBQUdFLElBQUk7SUFHekIsTUFBTUUsZUFBZVAsY0FDbEIsTUFBTVEsSUFBQUEsc0JBQVUsRUFBQ1IsYUFBYWQsZ0JBQzlCdUI7SUFDSCxNQUFNQyxvQkFBb0JKLG1CQUN2QixNQUFNRSxJQUFBQSxzQkFBVSxFQUFDRixrQkFBa0JuQixPQUNuQ3NCO0lBRUgsMkNBQTJDO0lBQzNDLElBQUlFO0lBQ0osTUFBTVosZUFBeUIsRUFBRTtJQUNqQyxJQUFJRixJQUFBQSxjQUFVLEVBQUNKLGFBQWNjLENBQUFBLGdCQUFnQkcsaUJBQWdCLEdBQUk7UUFDaEUsTUFBTUUsc0JBQXNCLEFBQUMsQ0FBQSxNQUFNQyxJQUFBQSxrQkFBUSxFQUFDcEIsU0FBUSxFQUFHcUIsUUFBUTtRQUMvRCxJQUFJUCxjQUFjO1lBQ2pCSSxlQUFlLE1BQU1JLFVBQ3BCUixjQUNBUCxhQUFhZ0IsVUFBVSxDQUFDLFlBQVksRUFBRXpCLEtBQUssRUFDM0NxQixxQkFDQSxBQUFDLENBQUEsTUFBTUMsSUFBQUEsa0JBQVEsRUFBQ2xCLGFBQVksRUFBR21CLFFBQVEsSUFDdkM7Z0JBQ0NHLGFBQWFuQztnQkFDYm9DLGdCQUFnQmxCLGFBQWFtQixXQUFXLENBQUM7Z0JBQ3pDQyxnQkFBZ0I7WUFDakI7UUFFRixPQUFPO1lBQ04sNENBQTRDO1lBQzVDVCxlQUFlLEFBQUMsQ0FBQSxNQUFNRSxJQUFBQSxrQkFBUSxFQUFDbEIsYUFBWSxFQUFHbUIsUUFBUTtRQUN2RDtRQUVBLGlGQUFpRjtRQUNqRixJQUFJSixtQkFBbUI7WUFDdEIsTUFBTVcsZ0JBQWdCLE1BQU1OLFVBQzNCTCxtQkFDQUosa0JBQWtCVSxVQUFVLENBQUMsWUFBWSxFQUFFekIsS0FBSyxFQUNoRHFCLHFCQUNBRCxjQUNBO2dCQUNDTSxhQUFhbkM7Z0JBQ2JvQyxnQkFBZ0JaLGtCQUFrQmEsV0FBVyxDQUFDO2dCQUM5Q0MsZ0JBQWdCO1lBQ2pCO1lBRURyQixhQUFhdUIsSUFBSSxJQUFJQyxJQUFBQSxlQUFTLEVBQUNaLGNBQWNVO1lBQzdDVixlQUFlVTtRQUNoQjtJQUNELE9BQU87UUFDTixnQ0FBZ0M7UUFDaENWLGVBQWUsQUFBQyxDQUFBLE1BQU1FLElBQUFBLGtCQUFRLEVBQUNsQixhQUFZLEVBQUdtQixRQUFRO0lBQ3ZEO0lBQ0EsTUFBTVUsSUFBQUEsbUJBQVUsRUFBQy9CLFVBQVVrQjtJQUMzQixPQUFPO1FBQ05yQixtQkFBbUI7UUFDbkJTO0lBQ0Q7QUFDRDtBQUVBOzs7Q0FHQyxHQUNELGVBQWVnQixVQUNkQyxNQUE0QixFQUM1QlMsVUFBa0IsRUFDbEJDLE9BQWUsRUFDZkMsWUFBb0IsRUFDcEI1QyxPQUFxQjtJQUVyQixNQUFNNkMsTUFBTSxNQUFNWixPQUFPZixLQUFLLENBQUN5QixTQUFTQyxjQUFjNUM7SUFDdEQsSUFBSSxPQUFPNkMsUUFBUSxVQUFVO1FBQzVCLE1BQU0sSUFBSUMsTUFDVCxDQUFDLE9BQU8sRUFBRUosV0FBVyxnRUFBZ0UsQ0FBQztJQUV4RjtJQUVBLElBQUksQ0FBQ0csS0FBSztRQUNULE1BQU0sSUFBSUMsTUFDVCxDQUFDLE9BQU8sRUFBRUosV0FBVyw0Q0FBNEMsQ0FBQztJQUVwRTtJQUNBLE9BQU9HO0FBQ1IifQ==
|