projen 0.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/.jsii +36365 -0
- package/API.md +14952 -0
- package/LICENSE +202 -0
- package/README.md +373 -0
- package/assets/web/react/favicon.ico +0 -0
- package/assets/web/react/index.html +43 -0
- package/assets/web/react/logo192.png +0 -0
- package/assets/web/react/logo512.png +0 -0
- package/assets/web/react/manifest.json +25 -0
- package/assets/web/react/robots.txt +3 -0
- package/bin/projen +3 -0
- package/docs/awscdk-apps.md +15 -0
- package/docs/awscdk-construct.md +195 -0
- package/docs/awscdk.md +200 -0
- package/docs/build.md +55 -0
- package/docs/bundling.md +30 -0
- package/docs/deps.md +59 -0
- package/docs/escape-hatches.md +27 -0
- package/docs/java.md +213 -0
- package/docs/mutable-builds.md +0 -0
- package/docs/node.md +20 -0
- package/docs/programmatic-api.md +56 -0
- package/docs/publisher.md +148 -0
- package/docs/python.md +167 -0
- package/docs/releases.md +71 -0
- package/docs/subproject.md +37 -0
- package/docs/tasks.md +178 -0
- package/docs/typescript.md +108 -0
- package/lib/_resolve.d.ts +2 -0
- package/lib/_resolve.js +53 -0
- package/lib/awscdk/auto-discover.d.ts +54 -0
- package/lib/awscdk/auto-discover.js +54 -0
- package/lib/awscdk/awscdk-app-ts.d.ts +78 -0
- package/lib/awscdk/awscdk-app-ts.js +185 -0
- package/lib/awscdk/awscdk-construct.d.ts +80 -0
- package/lib/awscdk/awscdk-construct.js +116 -0
- package/lib/awscdk/awscdk-deps.d.ts +158 -0
- package/lib/awscdk/awscdk-deps.js +169 -0
- package/lib/awscdk/cdk-config.d.ts +128 -0
- package/lib/awscdk/cdk-config.js +61 -0
- package/lib/awscdk/cdk-tasks.d.ts +50 -0
- package/lib/awscdk/cdk-tasks.js +54 -0
- package/lib/awscdk/index.d.ts +9 -0
- package/lib/awscdk/index.js +22 -0
- package/lib/awscdk/integration-test.d.ts +90 -0
- package/lib/awscdk/integration-test.js +106 -0
- package/lib/awscdk/internal.d.ts +12 -0
- package/lib/awscdk/internal.js +30 -0
- package/lib/awscdk/java-app.d.ts +92 -0
- package/lib/awscdk/java-app.js +90 -0
- package/lib/awscdk/lambda-function.d.ts +143 -0
- package/lib/awscdk/lambda-function.js +176 -0
- package/lib/build/build-workflow.d.ts +125 -0
- package/lib/build/build-workflow.js +223 -0
- package/lib/build/index.d.ts +1 -0
- package/lib/build/index.js +14 -0
- package/lib/builtin-example.task.d.ts +0 -0
- package/lib/builtin-example.task.js +4 -0
- package/lib/cdk/construct-lib.d.ts +52 -0
- package/lib/cdk/construct-lib.js +30 -0
- package/lib/cdk/consts.d.ts +14 -0
- package/lib/cdk/consts.js +37 -0
- package/lib/cdk/index.d.ts +3 -0
- package/lib/cdk/index.js +16 -0
- package/lib/cdk/jsii-docgen.d.ts +12 -0
- package/lib/cdk/jsii-docgen.js +29 -0
- package/lib/cdk/jsii-project.d.ts +205 -0
- package/lib/cdk/jsii-project.js +250 -0
- package/lib/cdk8s/cdk8s-app-ts.d.ts +111 -0
- package/lib/cdk8s/cdk8s-app-ts.js +134 -0
- package/lib/cdk8s/cdk8s-construct.d.ts +79 -0
- package/lib/cdk8s/cdk8s-construct.js +39 -0
- package/lib/cdk8s/index.d.ts +2 -0
- package/lib/cdk8s/index.js +15 -0
- package/lib/cdktf/cdktf-construct.d.ts +30 -0
- package/lib/cdktf/cdktf-construct.js +33 -0
- package/lib/cdktf/index.d.ts +1 -0
- package/lib/cdktf/index.js +14 -0
- package/lib/cleanup.d.ts +2 -0
- package/lib/cleanup.js +73 -0
- package/lib/cli/cmds/new.d.ts +1 -0
- package/lib/cli/cmds/new.js +232 -0
- package/lib/cli/index.d.ts +1 -0
- package/lib/cli/index.js +50 -0
- package/lib/cli/macros.d.ts +1 -0
- package/lib/cli/macros.js +40 -0
- package/lib/cli/synth.d.ts +19 -0
- package/lib/cli/synth.js +104 -0
- package/lib/cli/tasks.d.ts +7 -0
- package/lib/cli/tasks.js +62 -0
- package/lib/cli/util.d.ts +19 -0
- package/lib/cli/util.js +52 -0
- package/lib/clobber.d.ts +5 -0
- package/lib/clobber.js +24 -0
- package/lib/common.d.ts +5 -0
- package/lib/common.js +14 -0
- package/lib/component.d.ts +33 -0
- package/lib/component.js +43 -0
- package/lib/dependencies.d.ts +187 -0
- package/lib/dependencies.js +219 -0
- package/lib/dev-env.d.ts +107 -0
- package/lib/dev-env.js +41 -0
- package/lib/docker-compose.d.ts +434 -0
- package/lib/docker-compose.js +308 -0
- package/lib/file.d.ts +141 -0
- package/lib/file.js +75 -0
- package/lib/gitattributes.d.ts +29 -0
- package/lib/gitattributes.js +61 -0
- package/lib/github/auto-approve.d.ts +59 -0
- package/lib/github/auto-approve.js +63 -0
- package/lib/github/auto-merge.d.ts +44 -0
- package/lib/github/auto-merge.js +67 -0
- package/lib/github/constants.d.ts +17 -0
- package/lib/github/constants.js +33 -0
- package/lib/github/dependabot.d.ts +340 -0
- package/lib/github/dependabot.js +119 -0
- package/lib/github/github-project.d.ts +193 -0
- package/lib/github/github-project.js +70 -0
- package/lib/github/github.d.ts +110 -0
- package/lib/github/github.js +86 -0
- package/lib/github/index.d.ts +13 -0
- package/lib/github/index.js +26 -0
- package/lib/github/mergify.d.ts +75 -0
- package/lib/github/mergify.js +40 -0
- package/lib/github/pr-template.d.ts +29 -0
- package/lib/github/pr-template.js +28 -0
- package/lib/github/pull-request-lint.d.ts +68 -0
- package/lib/github/pull-request-lint.js +62 -0
- package/lib/github/stale-util.d.ts +8 -0
- package/lib/github/stale-util.js +20 -0
- package/lib/github/stale.d.ts +106 -0
- package/lib/github/stale.js +71 -0
- package/lib/github/task-workflow.d.ts +155 -0
- package/lib/github/task-workflow.js +84 -0
- package/lib/github/workflows-model.d.ts +1280 -0
- package/lib/github/workflows-model.js +17 -0
- package/lib/github/workflows.d.ts +99 -0
- package/lib/github/workflows.js +208 -0
- package/lib/gitpod.d.ts +397 -0
- package/lib/gitpod.js +208 -0
- package/lib/ignore-file.d.ts +55 -0
- package/lib/ignore-file.js +112 -0
- package/lib/index.d.ts +46 -0
- package/lib/index.js +60 -0
- package/lib/ini.d.ts +27 -0
- package/lib/ini.js +40 -0
- package/lib/inventory.d.ts +45 -0
- package/lib/inventory.js +273 -0
- package/lib/java/index.d.ts +7 -0
- package/lib/java/index.js +20 -0
- package/lib/java/java-project.d.ts +181 -0
- package/lib/java/java-project.js +98 -0
- package/lib/java/junit.d.ts +41 -0
- package/lib/java/junit.js +50 -0
- package/lib/java/maven-compile.d.ts +35 -0
- package/lib/java/maven-compile.js +32 -0
- package/lib/java/maven-packaging.d.ts +49 -0
- package/lib/java/maven-packaging.js +71 -0
- package/lib/java/maven-sample.d.ts +24 -0
- package/lib/java/maven-sample.js +39 -0
- package/lib/java/pom.d.ts +243 -0
- package/lib/java/pom.js +176 -0
- package/lib/java/projenrc.d.ts +65 -0
- package/lib/java/projenrc.js +147 -0
- package/lib/javascript/bundler.d.ts +182 -0
- package/lib/javascript/bundler.js +123 -0
- package/lib/javascript/eslint.d.ts +177 -0
- package/lib/javascript/eslint.js +261 -0
- package/lib/javascript/index.d.ts +9 -0
- package/lib/javascript/index.js +22 -0
- package/lib/javascript/jest.d.ts +766 -0
- package/lib/javascript/jest.js +185 -0
- package/lib/javascript/node-package.d.ts +649 -0
- package/lib/javascript/node-package.js +687 -0
- package/lib/javascript/node-project.d.ts +572 -0
- package/lib/javascript/node-project.js +473 -0
- package/lib/javascript/npm-config.d.ts +50 -0
- package/lib/javascript/npm-config.js +53 -0
- package/lib/javascript/projenrc.d.ts +27 -0
- package/lib/javascript/projenrc.js +59 -0
- package/lib/javascript/render-options.d.ts +57 -0
- package/lib/javascript/render-options.js +169 -0
- package/lib/javascript/typescript-config.d.ts +424 -0
- package/lib/javascript/typescript-config.js +71 -0
- package/lib/javascript/upgrade-dependencies.d.ts +252 -0
- package/lib/javascript/upgrade-dependencies.js +341 -0
- package/lib/javascript/util.d.ts +1 -0
- package/lib/javascript/util.js +16 -0
- package/lib/json.d.ts +27 -0
- package/lib/json.js +42 -0
- package/lib/license.d.ts +48 -0
- package/lib/license.js +48 -0
- package/lib/logger.d.ts +117 -0
- package/lib/logger.js +127 -0
- package/lib/logging.d.ts +8 -0
- package/lib/logging.js +46 -0
- package/lib/makefile.d.ts +108 -0
- package/lib/makefile.js +99 -0
- package/lib/object-file.d.ts +112 -0
- package/lib/object-file.js +125 -0
- package/lib/option-hints.d.ts +27 -0
- package/lib/option-hints.js +17 -0
- package/lib/project-build.d.ts +60 -0
- package/lib/project-build.js +61 -0
- package/lib/project.d.ts +427 -0
- package/lib/project.js +391 -0
- package/lib/projects.d.ts +80 -0
- package/lib/projects.js +81 -0
- package/lib/projenrc-json.d.ts +27 -0
- package/lib/projenrc-json.js +47 -0
- package/lib/python/index.d.ts +13 -0
- package/lib/python/index.js +26 -0
- package/lib/python/pip.d.ts +48 -0
- package/lib/python/pip.js +78 -0
- package/lib/python/poetry.d.ts +262 -0
- package/lib/python/poetry.js +169 -0
- package/lib/python/projenrc.d.ts +42 -0
- package/lib/python/projenrc.js +135 -0
- package/lib/python/pytest.d.ts +36 -0
- package/lib/python/pytest.js +52 -0
- package/lib/python/python-deps.d.ts +44 -0
- package/lib/python/python-deps.js +3 -0
- package/lib/python/python-env.d.ts +11 -0
- package/lib/python/python-env.js +3 -0
- package/lib/python/python-packaging.d.ts +80 -0
- package/lib/python/python-packaging.js +3 -0
- package/lib/python/python-project.d.ts +202 -0
- package/lib/python/python-project.js +155 -0
- package/lib/python/python-sample.d.ts +20 -0
- package/lib/python/python-sample.js +48 -0
- package/lib/python/requirements-file.d.ts +44 -0
- package/lib/python/requirements-file.js +75 -0
- package/lib/python/setuppy.d.ts +88 -0
- package/lib/python/setuppy.js +78 -0
- package/lib/python/setuptools.d.ts +27 -0
- package/lib/python/setuptools.js +47 -0
- package/lib/python/venv.d.ts +38 -0
- package/lib/python/venv.js +44 -0
- package/lib/readme.d.ts +37 -0
- package/lib/readme.js +24 -0
- package/lib/release/bump-version.d.ts +59 -0
- package/lib/release/bump-version.js +151 -0
- package/lib/release/bump-version.task.d.ts +1 -0
- package/lib/release/bump-version.task.js +60 -0
- package/lib/release/index.d.ts +3 -0
- package/lib/release/index.js +16 -0
- package/lib/release/publisher.d.ts +554 -0
- package/lib/release/publisher.js +407 -0
- package/lib/release/release-trigger.d.ts +129 -0
- package/lib/release/release-trigger.js +88 -0
- package/lib/release/release.d.ts +361 -0
- package/lib/release/release.js +287 -0
- package/lib/release/reset-version.task.d.ts +1 -0
- package/lib/release/reset-version.task.js +17 -0
- package/lib/release/tag-version.d.ts +31 -0
- package/lib/release/tag-version.js +36 -0
- package/lib/release/tag-version.task.d.ts +1 -0
- package/lib/release/tag-version.task.js +34 -0
- package/lib/release/update-changelog.d.ts +36 -0
- package/lib/release/update-changelog.js +41 -0
- package/lib/release/update-changelog.task.d.ts +1 -0
- package/lib/release/update-changelog.task.js +39 -0
- package/lib/run-projenrc-json.task.d.ts +1 -0
- package/lib/run-projenrc-json.task.js +31 -0
- package/lib/sample-file.d.ts +121 -0
- package/lib/sample-file.js +129 -0
- package/lib/semver.d.ts +51 -0
- package/lib/semver.js +61 -0
- package/lib/source-code.d.ts +51 -0
- package/lib/source-code.js +66 -0
- package/lib/task-model.d.ts +156 -0
- package/lib/task-model.js +3 -0
- package/lib/task-runtime.d.ts +43 -0
- package/lib/task-runtime.js +272 -0
- package/lib/task.d.ts +161 -0
- package/lib/task.js +215 -0
- package/lib/tasks.d.ts +73 -0
- package/lib/tasks.js +129 -0
- package/lib/testing.d.ts +20 -0
- package/lib/testing.js +31 -0
- package/lib/textfile.d.ts +48 -0
- package/lib/textfile.js +47 -0
- package/lib/toml.d.ts +27 -0
- package/lib/toml.js +40 -0
- package/lib/typescript/index.d.ts +3 -0
- package/lib/typescript/index.js +16 -0
- package/lib/typescript/projenrc.d.ts +34 -0
- package/lib/typescript/projenrc.js +72 -0
- package/lib/typescript/typescript-typedoc.d.ts +12 -0
- package/lib/typescript/typescript-typedoc.js +28 -0
- package/lib/typescript/typescript.d.ts +215 -0
- package/lib/typescript/typescript.js +287 -0
- package/lib/util/semver.d.ts +43 -0
- package/lib/util/semver.js +210 -0
- package/lib/util/synth.d.ts +24 -0
- package/lib/util/synth.js +69 -0
- package/lib/util.d.ts +99 -0
- package/lib/util.js +254 -0
- package/lib/version.d.ts +70 -0
- package/lib/version.js +60 -0
- package/lib/vscode/devcontainer.d.ts +68 -0
- package/lib/vscode/devcontainer.js +104 -0
- package/lib/vscode/index.d.ts +3 -0
- package/lib/vscode/index.js +16 -0
- package/lib/vscode/launch-config.d.ts +149 -0
- package/lib/vscode/launch-config.js +51 -0
- package/lib/vscode/vscode.d.ts +17 -0
- package/lib/vscode/vscode.js +31 -0
- package/lib/web/index.d.ts +4 -0
- package/lib/web/index.js +17 -0
- package/lib/web/next.d.ts +141 -0
- package/lib/web/next.js +403 -0
- package/lib/web/postcss.d.ts +49 -0
- package/lib/web/postcss.js +35 -0
- package/lib/web/react.d.ts +152 -0
- package/lib/web/react.js +379 -0
- package/lib/web/tailwind.d.ts +35 -0
- package/lib/web/tailwind.js +42 -0
- package/lib/xmlfile.d.ts +30 -0
- package/lib/xmlfile.js +46 -0
- package/lib/yaml.d.ts +27 -0
- package/lib/yaml.js +40 -0
- package/license-text/Apache-2.0.txt +202 -0
- package/license-text/Artistic-1.0.txt +122 -0
- package/license-text/Artistic-2.0.txt +181 -0
- package/license-text/GPL-2.0-or-later.txt +339 -0
- package/license-text/GPL-3.0-WITH-GCC-exception-3.1.txt +73 -0
- package/license-text/GPL-3.0-or-later.txt +674 -0
- package/license-text/LGPL-2.1-or-later.txt +502 -0
- package/license-text/LGPL-3.0-or-later.txt +165 -0
- package/license-text/MIT-0.txt +15 -0
- package/license-text/MIT.txt +19 -0
- package/license-text/MPL-2.0.txt +353 -0
- package/license-text/OFL-1.1.txt +91 -0
- package/license-text/PHP-3.01.txt +68 -0
- package/license-text/Ruby.txt +52 -0
- package/license-text/Unlicense.txt +24 -0
- package/license-text/WTFPL.txt +14 -0
- package/license-text/ZPL-2.1.txt +44 -0
- package/logo/projen.svg +211 -0
- package/node_modules/@iarna/toml/CHANGELOG.md +278 -0
- package/node_modules/@iarna/toml/LICENSE +14 -0
- package/node_modules/@iarna/toml/README.md +301 -0
- package/node_modules/@iarna/toml/index.d.ts +57 -0
- package/node_modules/@iarna/toml/lib/create-date.js +23 -0
- package/node_modules/@iarna/toml/lib/create-datetime-float.js +24 -0
- package/node_modules/@iarna/toml/lib/create-datetime.js +10 -0
- package/node_modules/@iarna/toml/lib/create-time.js +22 -0
- package/node_modules/@iarna/toml/lib/format-num.js +6 -0
- package/node_modules/@iarna/toml/lib/parser-debug.js +60 -0
- package/node_modules/@iarna/toml/lib/parser.js +127 -0
- package/node_modules/@iarna/toml/lib/toml-parser.js +1379 -0
- package/node_modules/@iarna/toml/package.json +82 -0
- package/node_modules/@iarna/toml/parse-async.js +30 -0
- package/node_modules/@iarna/toml/parse-pretty-error.js +33 -0
- package/node_modules/@iarna/toml/parse-stream.js +80 -0
- package/node_modules/@iarna/toml/parse-string.js +18 -0
- package/node_modules/@iarna/toml/parse.js +5 -0
- package/node_modules/@iarna/toml/stringify.js +296 -0
- package/node_modules/@iarna/toml/toml.js +3 -0
- package/node_modules/@oozcitak/dom/LICENSE +21 -0
- package/node_modules/@oozcitak/dom/README.md +32 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/AbortAlgorithm.d.ts +21 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/AbortAlgorithm.js +79 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/AbortAlgorithm.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/AttrAlgorithm.d.ts +8 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/AttrAlgorithm.js +23 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/AttrAlgorithm.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/BoundaryPointAlgorithm.d.ts +8 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/BoundaryPointAlgorithm.js +76 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/BoundaryPointAlgorithm.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/CharacterDataAlgorithm.d.ts +19 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/CharacterDataAlgorithm.js +140 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/CharacterDataAlgorithm.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/CreateAlgorithm.d.ts +192 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/CreateAlgorithm.js +303 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/CreateAlgorithm.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/CustomElementAlgorithm.d.ts +61 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/CustomElementAlgorithm.js +108 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/CustomElementAlgorithm.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/DOMAlgorithm.d.ts +72 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/DOMAlgorithm.js +288 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/DOMAlgorithm.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/DOMTokenListAlgorithm.d.ts +21 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/DOMTokenListAlgorithm.js +61 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/DOMTokenListAlgorithm.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/DocumentAlgorithm.d.ts +29 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/DocumentAlgorithm.js +161 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/DocumentAlgorithm.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/ElementAlgorithm.d.ts +121 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/ElementAlgorithm.js +608 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/ElementAlgorithm.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/EventAlgorithm.d.ts +146 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/EventAlgorithm.js +995 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/EventAlgorithm.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/EventTargetAlgorithm.d.ts +33 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/EventTargetAlgorithm.js +142 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/EventTargetAlgorithm.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/MutationAlgorithm.d.ts +66 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/MutationAlgorithm.js +1173 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/MutationAlgorithm.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/MutationObserverAlgorithm.d.ts +43 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/MutationObserverAlgorithm.js +276 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/MutationObserverAlgorithm.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/NamespaceAlgorithm.d.ts +25 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/NamespaceAlgorithm.js +85 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/NamespaceAlgorithm.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/NodeAlgorithm.d.ts +68 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/NodeAlgorithm.js +543 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/NodeAlgorithm.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/NodeIteratorAlgorithm.d.ts +15 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/NodeIteratorAlgorithm.js +105 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/NodeIteratorAlgorithm.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/OrderedSetAlgorithm.d.ts +27 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/OrderedSetAlgorithm.js +125 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/OrderedSetAlgorithm.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/ParentNodeAlgorithm.d.ts +9 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/ParentNodeAlgorithm.js +69 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/ParentNodeAlgorithm.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/RangeAlgorithm.d.ts +82 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/RangeAlgorithm.js +829 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/RangeAlgorithm.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/SelectorsAlgorithm.d.ts +8 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/SelectorsAlgorithm.js +21 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/SelectorsAlgorithm.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/ShadowTreeAlgorithm.d.ts +57 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/ShadowTreeAlgorithm.js +316 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/ShadowTreeAlgorithm.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/TextAlgorithm.d.ts +30 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/TextAlgorithm.js +226 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/TextAlgorithm.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/TraversalAlgorithm.d.ts +8 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/TraversalAlgorithm.js +62 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/TraversalAlgorithm.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/TreeAlgorithm.d.ts +268 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/TreeAlgorithm.js +853 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/TreeAlgorithm.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/TreeWalkerAlgorithm.d.ts +17 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/TreeWalkerAlgorithm.js +147 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/TreeWalkerAlgorithm.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/WebIDLAlgorithm.d.ts +8 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/WebIDLAlgorithm.js +14 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/WebIDLAlgorithm.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/XMLAlgorithm.d.ts +25 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/XMLAlgorithm.js +164 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/XMLAlgorithm.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/index.d.ts +28 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/index.js +34 -0
- package/node_modules/@oozcitak/dom/lib/algorithm/index.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/AbortControllerImpl.d.ts +15 -0
- package/node_modules/@oozcitak/dom/lib/dom/AbortControllerImpl.js +32 -0
- package/node_modules/@oozcitak/dom/lib/dom/AbortControllerImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/AbortSignalImpl.d.ts +23 -0
- package/node_modules/@oozcitak/dom/lib/dom/AbortSignalImpl.js +59 -0
- package/node_modules/@oozcitak/dom/lib/dom/AbortSignalImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/AbstractRangeImpl.d.ts +23 -0
- package/node_modules/@oozcitak/dom/lib/dom/AbstractRangeImpl.js +70 -0
- package/node_modules/@oozcitak/dom/lib/dom/AbstractRangeImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/AttrImpl.d.ts +45 -0
- package/node_modules/@oozcitak/dom/lib/dom/AttrImpl.js +118 -0
- package/node_modules/@oozcitak/dom/lib/dom/AttrImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/CDATASectionImpl.d.ts +21 -0
- package/node_modules/@oozcitak/dom/lib/dom/CDATASectionImpl.js +51 -0
- package/node_modules/@oozcitak/dom/lib/dom/CDATASectionImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/CharacterDataImpl.d.ts +35 -0
- package/node_modules/@oozcitak/dom/lib/dom/CharacterDataImpl.js +132 -0
- package/node_modules/@oozcitak/dom/lib/dom/CharacterDataImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/ChildNodeImpl.d.ts +16 -0
- package/node_modules/@oozcitak/dom/lib/dom/ChildNodeImpl.js +165 -0
- package/node_modules/@oozcitak/dom/lib/dom/ChildNodeImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/CommentImpl.d.ts +21 -0
- package/node_modules/@oozcitak/dom/lib/dom/CommentImpl.js +52 -0
- package/node_modules/@oozcitak/dom/lib/dom/CommentImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/CustomEventImpl.d.ts +16 -0
- package/node_modules/@oozcitak/dom/lib/dom/CustomEventImpl.js +60 -0
- package/node_modules/@oozcitak/dom/lib/dom/CustomEventImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/DOMException.d.ts +171 -0
- package/node_modules/@oozcitak/dom/lib/dom/DOMException.js +347 -0
- package/node_modules/@oozcitak/dom/lib/dom/DOMException.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/DOMImpl.d.ts +48 -0
- package/node_modules/@oozcitak/dom/lib/dom/DOMImpl.js +100 -0
- package/node_modules/@oozcitak/dom/lib/dom/DOMImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/DOMImplementationImpl.d.ts +29 -0
- package/node_modules/@oozcitak/dom/lib/dom/DOMImplementationImpl.js +149 -0
- package/node_modules/@oozcitak/dom/lib/dom/DOMImplementationImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/DOMTokenListImpl.d.ts +46 -0
- package/node_modules/@oozcitak/dom/lib/dom/DOMTokenListImpl.js +312 -0
- package/node_modules/@oozcitak/dom/lib/dom/DOMTokenListImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/DocumentFragmentImpl.d.ts +32 -0
- package/node_modules/@oozcitak/dom/lib/dom/DocumentFragmentImpl.js +103 -0
- package/node_modules/@oozcitak/dom/lib/dom/DocumentFragmentImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/DocumentImpl.d.ts +116 -0
- package/node_modules/@oozcitak/dom/lib/dom/DocumentImpl.js +545 -0
- package/node_modules/@oozcitak/dom/lib/dom/DocumentImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/DocumentOrShadowRootImpl.d.ts +11 -0
- package/node_modules/@oozcitak/dom/lib/dom/DocumentOrShadowRootImpl.js +17 -0
- package/node_modules/@oozcitak/dom/lib/dom/DocumentOrShadowRootImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/DocumentTypeImpl.d.ts +39 -0
- package/node_modules/@oozcitak/dom/lib/dom/DocumentTypeImpl.js +109 -0
- package/node_modules/@oozcitak/dom/lib/dom/DocumentTypeImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/ElementImpl.d.ts +132 -0
- package/node_modules/@oozcitak/dom/lib/dom/ElementImpl.js +714 -0
- package/node_modules/@oozcitak/dom/lib/dom/ElementImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/EventImpl.d.ts +74 -0
- package/node_modules/@oozcitak/dom/lib/dom/EventImpl.js +313 -0
- package/node_modules/@oozcitak/dom/lib/dom/EventImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/EventTargetImpl.d.ts +30 -0
- package/node_modules/@oozcitak/dom/lib/dom/EventTargetImpl.js +133 -0
- package/node_modules/@oozcitak/dom/lib/dom/EventTargetImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/HTMLCollectionImpl.d.ts +44 -0
- package/node_modules/@oozcitak/dom/lib/dom/HTMLCollectionImpl.js +157 -0
- package/node_modules/@oozcitak/dom/lib/dom/HTMLCollectionImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/MutationObserverImpl.d.ts +22 -0
- package/node_modules/@oozcitak/dom/lib/dom/MutationObserverImpl.js +184 -0
- package/node_modules/@oozcitak/dom/lib/dom/MutationObserverImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/MutationRecordImpl.d.ts +73 -0
- package/node_modules/@oozcitak/dom/lib/dom/MutationRecordImpl.js +116 -0
- package/node_modules/@oozcitak/dom/lib/dom/MutationRecordImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/NamedNodeMapImpl.d.ts +34 -0
- package/node_modules/@oozcitak/dom/lib/dom/NamedNodeMapImpl.js +112 -0
- package/node_modules/@oozcitak/dom/lib/dom/NamedNodeMapImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/NodeFilterImpl.d.ts +50 -0
- package/node_modules/@oozcitak/dom/lib/dom/NodeFilterImpl.js +64 -0
- package/node_modules/@oozcitak/dom/lib/dom/NodeFilterImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/NodeImpl.d.ts +252 -0
- package/node_modules/@oozcitak/dom/lib/dom/NodeImpl.js +891 -0
- package/node_modules/@oozcitak/dom/lib/dom/NodeImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/NodeIteratorImpl.d.ts +34 -0
- package/node_modules/@oozcitak/dom/lib/dom/NodeIteratorImpl.js +86 -0
- package/node_modules/@oozcitak/dom/lib/dom/NodeIteratorImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/NodeListImpl.d.ts +46 -0
- package/node_modules/@oozcitak/dom/lib/dom/NodeListImpl.js +198 -0
- package/node_modules/@oozcitak/dom/lib/dom/NodeListImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/NodeListStaticImpl.d.ts +49 -0
- package/node_modules/@oozcitak/dom/lib/dom/NodeListStaticImpl.js +188 -0
- package/node_modules/@oozcitak/dom/lib/dom/NodeListStaticImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/NonDocumentTypeChildNodeImpl.d.ts +12 -0
- package/node_modules/@oozcitak/dom/lib/dom/NonDocumentTypeChildNodeImpl.js +53 -0
- package/node_modules/@oozcitak/dom/lib/dom/NonDocumentTypeChildNodeImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/NonElementParentNodeImpl.d.ts +9 -0
- package/node_modules/@oozcitak/dom/lib/dom/NonElementParentNodeImpl.js +31 -0
- package/node_modules/@oozcitak/dom/lib/dom/NonElementParentNodeImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/ParentNodeImpl.d.ts +24 -0
- package/node_modules/@oozcitak/dom/lib/dom/ParentNodeImpl.js +158 -0
- package/node_modules/@oozcitak/dom/lib/dom/ParentNodeImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/ProcessingInstructionImpl.d.ts +25 -0
- package/node_modules/@oozcitak/dom/lib/dom/ProcessingInstructionImpl.js +59 -0
- package/node_modules/@oozcitak/dom/lib/dom/ProcessingInstructionImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/RangeImpl.d.ts +71 -0
- package/node_modules/@oozcitak/dom/lib/dom/RangeImpl.js +649 -0
- package/node_modules/@oozcitak/dom/lib/dom/RangeImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/ShadowRootImpl.d.ts +33 -0
- package/node_modules/@oozcitak/dom/lib/dom/ShadowRootImpl.js +82 -0
- package/node_modules/@oozcitak/dom/lib/dom/ShadowRootImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/SlotableImpl.d.ts +16 -0
- package/node_modules/@oozcitak/dom/lib/dom/SlotableImpl.js +35 -0
- package/node_modules/@oozcitak/dom/lib/dom/SlotableImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/StaticRangeImpl.d.ts +13 -0
- package/node_modules/@oozcitak/dom/lib/dom/StaticRangeImpl.js +48 -0
- package/node_modules/@oozcitak/dom/lib/dom/StaticRangeImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/TextImpl.d.ts +28 -0
- package/node_modules/@oozcitak/dom/lib/dom/TextImpl.js +109 -0
- package/node_modules/@oozcitak/dom/lib/dom/TextImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/TraverserImpl.d.ts +23 -0
- package/node_modules/@oozcitak/dom/lib/dom/TraverserImpl.js +41 -0
- package/node_modules/@oozcitak/dom/lib/dom/TraverserImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/TreeWalkerImpl.d.ts +36 -0
- package/node_modules/@oozcitak/dom/lib/dom/TreeWalkerImpl.js +249 -0
- package/node_modules/@oozcitak/dom/lib/dom/TreeWalkerImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/WindowImpl.d.ts +26 -0
- package/node_modules/@oozcitak/dom/lib/dom/WindowImpl.js +57 -0
- package/node_modules/@oozcitak/dom/lib/dom/WindowImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/XMLDocumentImpl.d.ts +11 -0
- package/node_modules/@oozcitak/dom/lib/dom/XMLDocumentImpl.js +31 -0
- package/node_modules/@oozcitak/dom/lib/dom/XMLDocumentImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/index.d.ts +36 -0
- package/node_modules/@oozcitak/dom/lib/dom/index.js +102 -0
- package/node_modules/@oozcitak/dom/lib/dom/index.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/dom/interfaces.d.ts +2218 -0
- package/node_modules/@oozcitak/dom/lib/dom/interfaces.js +91 -0
- package/node_modules/@oozcitak/dom/lib/dom/interfaces.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/index.d.ts +3 -0
- package/node_modules/@oozcitak/dom/lib/index.js +11 -0
- package/node_modules/@oozcitak/dom/lib/index.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/parser/DOMParserImpl.d.ts +11 -0
- package/node_modules/@oozcitak/dom/lib/parser/DOMParserImpl.js +37 -0
- package/node_modules/@oozcitak/dom/lib/parser/DOMParserImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/parser/XMLParserImpl.d.ts +14 -0
- package/node_modules/@oozcitak/dom/lib/parser/XMLParserImpl.js +220 -0
- package/node_modules/@oozcitak/dom/lib/parser/XMLParserImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/parser/XMLStringLexer.d.ts +159 -0
- package/node_modules/@oozcitak/dom/lib/parser/XMLStringLexer.js +512 -0
- package/node_modules/@oozcitak/dom/lib/parser/XMLStringLexer.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/parser/index.d.ts +1 -0
- package/node_modules/@oozcitak/dom/lib/parser/index.js +6 -0
- package/node_modules/@oozcitak/dom/lib/parser/index.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/parser/interfaces.d.ts +131 -0
- package/node_modules/@oozcitak/dom/lib/parser/interfaces.js +18 -0
- package/node_modules/@oozcitak/dom/lib/parser/interfaces.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/serializer/LocalNameSet.d.ts +27 -0
- package/node_modules/@oozcitak/dom/lib/serializer/LocalNameSet.js +56 -0
- package/node_modules/@oozcitak/dom/lib/serializer/LocalNameSet.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/serializer/NamespacePrefixMap.d.ts +52 -0
- package/node_modules/@oozcitak/dom/lib/serializer/NamespacePrefixMap.js +151 -0
- package/node_modules/@oozcitak/dom/lib/serializer/NamespacePrefixMap.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/serializer/XMLSerializerImpl.d.ts +166 -0
- package/node_modules/@oozcitak/dom/lib/serializer/XMLSerializerImpl.js +1479 -0
- package/node_modules/@oozcitak/dom/lib/serializer/XMLSerializerImpl.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/serializer/XMLSerializerImpl2.d.ts +2 -0
- package/node_modules/@oozcitak/dom/lib/serializer/XMLSerializerImpl2.js +962 -0
- package/node_modules/@oozcitak/dom/lib/serializer/XMLSerializerImpl2.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/serializer/index.d.ts +1 -0
- package/node_modules/@oozcitak/dom/lib/serializer/index.js +6 -0
- package/node_modules/@oozcitak/dom/lib/serializer/index.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/serializer/interfaces.d.ts +15 -0
- package/node_modules/@oozcitak/dom/lib/serializer/interfaces.js +3 -0
- package/node_modules/@oozcitak/dom/lib/serializer/interfaces.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/util/Cast.d.ts +12 -0
- package/node_modules/@oozcitak/dom/lib/util/Cast.js +26 -0
- package/node_modules/@oozcitak/dom/lib/util/Cast.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/util/EmptySet.d.ts +13 -0
- package/node_modules/@oozcitak/dom/lib/util/EmptySet.js +61 -0
- package/node_modules/@oozcitak/dom/lib/util/EmptySet.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/util/Guard.d.ts +135 -0
- package/node_modules/@oozcitak/dom/lib/util/Guard.js +192 -0
- package/node_modules/@oozcitak/dom/lib/util/Guard.js.map +1 -0
- package/node_modules/@oozcitak/dom/lib/util/index.d.ts +3 -0
- package/node_modules/@oozcitak/dom/lib/util/index.js +9 -0
- package/node_modules/@oozcitak/dom/lib/util/index.js.map +1 -0
- package/node_modules/@oozcitak/dom/package.json +72 -0
- package/node_modules/@oozcitak/infra/LICENSE +21 -0
- package/node_modules/@oozcitak/infra/README.md +13 -0
- package/node_modules/@oozcitak/infra/lib/Base64.d.ts +12 -0
- package/node_modules/@oozcitak/infra/lib/Base64.js +82 -0
- package/node_modules/@oozcitak/infra/lib/Base64.js.map +1 -0
- package/node_modules/@oozcitak/infra/lib/Byte.d.ts +6 -0
- package/node_modules/@oozcitak/infra/lib/Byte.js +15 -0
- package/node_modules/@oozcitak/infra/lib/Byte.js.map +1 -0
- package/node_modules/@oozcitak/infra/lib/ByteSequence.d.ts +45 -0
- package/node_modules/@oozcitak/infra/lib/ByteSequence.js +171 -0
- package/node_modules/@oozcitak/infra/lib/ByteSequence.js.map +1 -0
- package/node_modules/@oozcitak/infra/lib/CodePoints.d.ts +82 -0
- package/node_modules/@oozcitak/infra/lib/CodePoints.js +85 -0
- package/node_modules/@oozcitak/infra/lib/CodePoints.js.map +1 -0
- package/node_modules/@oozcitak/infra/lib/JSON.d.ts +24 -0
- package/node_modules/@oozcitak/infra/lib/JSON.js +123 -0
- package/node_modules/@oozcitak/infra/lib/JSON.js.map +1 -0
- package/node_modules/@oozcitak/infra/lib/List.d.ts +101 -0
- package/node_modules/@oozcitak/infra/lib/List.js +325 -0
- package/node_modules/@oozcitak/infra/lib/List.js.map +1 -0
- package/node_modules/@oozcitak/infra/lib/Map.d.ts +87 -0
- package/node_modules/@oozcitak/infra/lib/Map.js +308 -0
- package/node_modules/@oozcitak/infra/lib/Map.js.map +1 -0
- package/node_modules/@oozcitak/infra/lib/Namespace.d.ts +6 -0
- package/node_modules/@oozcitak/infra/lib/Namespace.js +9 -0
- package/node_modules/@oozcitak/infra/lib/Namespace.js.map +1 -0
- package/node_modules/@oozcitak/infra/lib/Queue.d.ts +13 -0
- package/node_modules/@oozcitak/infra/lib/Queue.js +22 -0
- package/node_modules/@oozcitak/infra/lib/Queue.js.map +1 -0
- package/node_modules/@oozcitak/infra/lib/Set.d.ts +136 -0
- package/node_modules/@oozcitak/infra/lib/Set.js +467 -0
- package/node_modules/@oozcitak/infra/lib/Set.js.map +1 -0
- package/node_modules/@oozcitak/infra/lib/Stack.d.ts +13 -0
- package/node_modules/@oozcitak/infra/lib/Stack.js +22 -0
- package/node_modules/@oozcitak/infra/lib/Stack.js.map +1 -0
- package/node_modules/@oozcitak/infra/lib/String.d.ts +129 -0
- package/node_modules/@oozcitak/infra/lib/String.js +472 -0
- package/node_modules/@oozcitak/infra/lib/String.js.map +1 -0
- package/node_modules/@oozcitak/infra/lib/index.d.ts +13 -0
- package/node_modules/@oozcitak/infra/lib/index.js +34 -0
- package/node_modules/@oozcitak/infra/lib/index.js.map +1 -0
- package/node_modules/@oozcitak/infra/package.json +54 -0
- package/node_modules/@oozcitak/url/LICENSE +21 -0
- package/node_modules/@oozcitak/url/README.md +27 -0
- package/node_modules/@oozcitak/url/lib/URLAlgorithm.d.ts +267 -0
- package/node_modules/@oozcitak/url/lib/URLAlgorithm.js +2758 -0
- package/node_modules/@oozcitak/url/lib/URLAlgorithm.js.map +1 -0
- package/node_modules/@oozcitak/url/lib/URLImpl.d.ts +53 -0
- package/node_modules/@oozcitak/url/lib/URLImpl.js +377 -0
- package/node_modules/@oozcitak/url/lib/URLImpl.js.map +1 -0
- package/node_modules/@oozcitak/url/lib/URLSearchParamsImpl.d.ts +38 -0
- package/node_modules/@oozcitak/url/lib/URLSearchParamsImpl.js +303 -0
- package/node_modules/@oozcitak/url/lib/URLSearchParamsImpl.js.map +1 -0
- package/node_modules/@oozcitak/url/lib/index.d.ts +2 -0
- package/node_modules/@oozcitak/url/lib/index.js +7 -0
- package/node_modules/@oozcitak/url/lib/index.js.map +1 -0
- package/node_modules/@oozcitak/url/lib/interfaces.d.ts +195 -0
- package/node_modules/@oozcitak/url/lib/interfaces.js +31 -0
- package/node_modules/@oozcitak/url/lib/interfaces.js.map +1 -0
- package/node_modules/@oozcitak/url/package.json +55 -0
- package/node_modules/@oozcitak/util/LICENSE +21 -0
- package/node_modules/@oozcitak/util/README.md +10 -0
- package/node_modules/@oozcitak/util/lib/CompareCache.d.ts +32 -0
- package/node_modules/@oozcitak/util/lib/CompareCache.js +59 -0
- package/node_modules/@oozcitak/util/lib/CompareCache.js.map +1 -0
- package/node_modules/@oozcitak/util/lib/FixedSizeSet.d.ts +64 -0
- package/node_modules/@oozcitak/util/lib/FixedSizeSet.js +174 -0
- package/node_modules/@oozcitak/util/lib/FixedSizeSet.js.map +1 -0
- package/node_modules/@oozcitak/util/lib/Lazy.d.ts +18 -0
- package/node_modules/@oozcitak/util/lib/Lazy.js +34 -0
- package/node_modules/@oozcitak/util/lib/Lazy.js.map +1 -0
- package/node_modules/@oozcitak/util/lib/ObjectCache.d.ts +71 -0
- package/node_modules/@oozcitak/util/lib/ObjectCache.js +181 -0
- package/node_modules/@oozcitak/util/lib/ObjectCache.js.map +1 -0
- package/node_modules/@oozcitak/util/lib/StringWalker.d.ts +49 -0
- package/node_modules/@oozcitak/util/lib/StringWalker.js +105 -0
- package/node_modules/@oozcitak/util/lib/StringWalker.js.map +1 -0
- package/node_modules/@oozcitak/util/lib/index.d.ts +178 -0
- package/node_modules/@oozcitak/util/lib/index.js +439 -0
- package/node_modules/@oozcitak/util/lib/index.js.map +1 -0
- package/node_modules/@oozcitak/util/package.json +50 -0
- package/node_modules/ansi-regex/index.d.ts +37 -0
- package/node_modules/ansi-regex/index.js +10 -0
- package/node_modules/ansi-regex/license +9 -0
- package/node_modules/ansi-regex/package.json +55 -0
- package/node_modules/ansi-regex/readme.md +78 -0
- package/node_modules/ansi-styles/index.d.ts +345 -0
- package/node_modules/ansi-styles/index.js +163 -0
- package/node_modules/ansi-styles/license +9 -0
- package/node_modules/ansi-styles/package.json +56 -0
- package/node_modules/ansi-styles/readme.md +152 -0
- package/node_modules/argparse/CHANGELOG.md +185 -0
- package/node_modules/argparse/LICENSE +21 -0
- package/node_modules/argparse/README.md +257 -0
- package/node_modules/argparse/index.js +3 -0
- package/node_modules/argparse/lib/action/append/constant.js +47 -0
- package/node_modules/argparse/lib/action/append.js +53 -0
- package/node_modules/argparse/lib/action/count.js +40 -0
- package/node_modules/argparse/lib/action/help.js +47 -0
- package/node_modules/argparse/lib/action/store/constant.js +43 -0
- package/node_modules/argparse/lib/action/store/false.js +27 -0
- package/node_modules/argparse/lib/action/store/true.js +26 -0
- package/node_modules/argparse/lib/action/store.js +50 -0
- package/node_modules/argparse/lib/action/subparsers.js +149 -0
- package/node_modules/argparse/lib/action/version.js +47 -0
- package/node_modules/argparse/lib/action.js +146 -0
- package/node_modules/argparse/lib/action_container.js +482 -0
- package/node_modules/argparse/lib/argparse.js +14 -0
- package/node_modules/argparse/lib/argument/error.js +50 -0
- package/node_modules/argparse/lib/argument/exclusive.js +54 -0
- package/node_modules/argparse/lib/argument/group.js +75 -0
- package/node_modules/argparse/lib/argument_parser.js +1161 -0
- package/node_modules/argparse/lib/const.js +21 -0
- package/node_modules/argparse/lib/help/added_formatters.js +87 -0
- package/node_modules/argparse/lib/help/formatter.js +795 -0
- package/node_modules/argparse/lib/namespace.js +76 -0
- package/node_modules/argparse/lib/utils.js +57 -0
- package/node_modules/argparse/package.json +34 -0
- package/node_modules/at-least-node/LICENSE +6 -0
- package/node_modules/at-least-node/README.md +25 -0
- package/node_modules/at-least-node/index.js +5 -0
- package/node_modules/at-least-node/package.json +32 -0
- package/node_modules/balanced-match/.github/FUNDING.yml +2 -0
- package/node_modules/balanced-match/LICENSE.md +21 -0
- package/node_modules/balanced-match/README.md +97 -0
- package/node_modules/balanced-match/index.js +62 -0
- package/node_modules/balanced-match/package.json +48 -0
- package/node_modules/brace-expansion/LICENSE +21 -0
- package/node_modules/brace-expansion/README.md +129 -0
- package/node_modules/brace-expansion/index.js +201 -0
- package/node_modules/brace-expansion/package.json +47 -0
- package/node_modules/case/LICENSE +22 -0
- package/node_modules/case/README.md +139 -0
- package/node_modules/case/case.d.ts +43 -0
- package/node_modules/case/dist/Case.js +171 -0
- package/node_modules/case/dist/Case.min.js +5 -0
- package/node_modules/case/dist/Case.min.js.map +1 -0
- package/node_modules/case/dist/Case.plus.js +189 -0
- package/node_modules/case/dist/Case.plus.min.js +5 -0
- package/node_modules/case/dist/Case.plus.min.js.map +1 -0
- package/node_modules/case/package.json +58 -0
- package/node_modules/chalk/index.d.ts +415 -0
- package/node_modules/chalk/license +9 -0
- package/node_modules/chalk/package.json +68 -0
- package/node_modules/chalk/readme.md +341 -0
- package/node_modules/chalk/source/index.js +229 -0
- package/node_modules/chalk/source/templates.js +134 -0
- package/node_modules/chalk/source/util.js +39 -0
- package/node_modules/cliui/CHANGELOG.md +121 -0
- package/node_modules/cliui/LICENSE.txt +14 -0
- package/node_modules/cliui/README.md +141 -0
- package/node_modules/cliui/build/index.cjs +302 -0
- package/node_modules/cliui/build/lib/index.js +287 -0
- package/node_modules/cliui/build/lib/string-utils.js +27 -0
- package/node_modules/cliui/index.mjs +13 -0
- package/node_modules/cliui/package.json +83 -0
- package/node_modules/color-convert/CHANGELOG.md +54 -0
- package/node_modules/color-convert/LICENSE +21 -0
- package/node_modules/color-convert/README.md +68 -0
- package/node_modules/color-convert/conversions.js +839 -0
- package/node_modules/color-convert/index.js +81 -0
- package/node_modules/color-convert/package.json +48 -0
- package/node_modules/color-convert/route.js +97 -0
- package/node_modules/color-name/LICENSE +8 -0
- package/node_modules/color-name/README.md +11 -0
- package/node_modules/color-name/index.js +152 -0
- package/node_modules/color-name/package.json +28 -0
- package/node_modules/concat-map/.travis.yml +4 -0
- package/node_modules/concat-map/LICENSE +18 -0
- package/node_modules/concat-map/README.markdown +62 -0
- package/node_modules/concat-map/example/map.js +6 -0
- package/node_modules/concat-map/index.js +13 -0
- package/node_modules/concat-map/package.json +43 -0
- package/node_modules/concat-map/test/map.js +39 -0
- package/node_modules/conventional-changelog-config-spec/CHANGELOG.md +15 -0
- package/node_modules/conventional-changelog-config-spec/README.md +7 -0
- package/node_modules/conventional-changelog-config-spec/index.js +1 -0
- package/node_modules/conventional-changelog-config-spec/package.json +32 -0
- package/node_modules/conventional-changelog-config-spec/renovate.json +5 -0
- package/node_modules/conventional-changelog-config-spec/tests/shared.js +38 -0
- package/node_modules/conventional-changelog-config-spec/tests/v1.test.js +7 -0
- package/node_modules/conventional-changelog-config-spec/tests/v2.test.js +26 -0
- package/node_modules/conventional-changelog-config-spec/versions/1.0.0/README.md +143 -0
- package/node_modules/conventional-changelog-config-spec/versions/1.0.0/schema.json +81 -0
- package/node_modules/conventional-changelog-config-spec/versions/2.0.0/README.md +155 -0
- package/node_modules/conventional-changelog-config-spec/versions/2.0.0/schema.json +89 -0
- package/node_modules/conventional-changelog-config-spec/versions/2.1.0/README.md +166 -0
- package/node_modules/conventional-changelog-config-spec/versions/2.1.0/schema.json +97 -0
- package/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
- package/node_modules/emoji-regex/README.md +73 -0
- package/node_modules/emoji-regex/es2015/index.js +6 -0
- package/node_modules/emoji-regex/es2015/text.js +6 -0
- package/node_modules/emoji-regex/index.d.ts +23 -0
- package/node_modules/emoji-regex/index.js +6 -0
- package/node_modules/emoji-regex/package.json +50 -0
- package/node_modules/emoji-regex/text.js +6 -0
- package/node_modules/escalade/dist/index.js +22 -0
- package/node_modules/escalade/dist/index.mjs +22 -0
- package/node_modules/escalade/index.d.ts +3 -0
- package/node_modules/escalade/license +9 -0
- package/node_modules/escalade/package.json +61 -0
- package/node_modules/escalade/readme.md +211 -0
- package/node_modules/escalade/sync/index.d.ts +2 -0
- package/node_modules/escalade/sync/index.js +18 -0
- package/node_modules/escalade/sync/index.mjs +18 -0
- package/node_modules/esprima/ChangeLog +235 -0
- package/node_modules/esprima/LICENSE.BSD +21 -0
- package/node_modules/esprima/README.md +46 -0
- package/node_modules/esprima/bin/esparse.js +139 -0
- package/node_modules/esprima/bin/esvalidate.js +236 -0
- package/node_modules/esprima/dist/esprima.js +6709 -0
- package/node_modules/esprima/package.json +112 -0
- package/node_modules/fs-extra/CHANGELOG.md +902 -0
- package/node_modules/fs-extra/LICENSE +15 -0
- package/node_modules/fs-extra/README.md +264 -0
- package/node_modules/fs-extra/lib/copy/copy.js +232 -0
- package/node_modules/fs-extra/lib/copy/index.js +6 -0
- package/node_modules/fs-extra/lib/copy-sync/copy-sync.js +166 -0
- package/node_modules/fs-extra/lib/copy-sync/index.js +5 -0
- package/node_modules/fs-extra/lib/empty/index.js +48 -0
- package/node_modules/fs-extra/lib/ensure/file.js +69 -0
- package/node_modules/fs-extra/lib/ensure/index.js +23 -0
- package/node_modules/fs-extra/lib/ensure/link.js +61 -0
- package/node_modules/fs-extra/lib/ensure/symlink-paths.js +99 -0
- package/node_modules/fs-extra/lib/ensure/symlink-type.js +31 -0
- package/node_modules/fs-extra/lib/ensure/symlink.js +63 -0
- package/node_modules/fs-extra/lib/fs/index.js +130 -0
- package/node_modules/fs-extra/lib/index.js +27 -0
- package/node_modules/fs-extra/lib/json/index.js +16 -0
- package/node_modules/fs-extra/lib/json/jsonfile.js +11 -0
- package/node_modules/fs-extra/lib/json/output-json-sync.js +12 -0
- package/node_modules/fs-extra/lib/json/output-json.js +12 -0
- package/node_modules/fs-extra/lib/mkdirs/index.js +14 -0
- package/node_modules/fs-extra/lib/mkdirs/make-dir.js +141 -0
- package/node_modules/fs-extra/lib/move/index.js +6 -0
- package/node_modules/fs-extra/lib/move/move.js +65 -0
- package/node_modules/fs-extra/lib/move-sync/index.js +5 -0
- package/node_modules/fs-extra/lib/move-sync/move-sync.js +47 -0
- package/node_modules/fs-extra/lib/output/index.js +40 -0
- package/node_modules/fs-extra/lib/path-exists/index.js +12 -0
- package/node_modules/fs-extra/lib/remove/index.js +9 -0
- package/node_modules/fs-extra/lib/remove/rimraf.js +302 -0
- package/node_modules/fs-extra/lib/util/stat.js +139 -0
- package/node_modules/fs-extra/lib/util/utimes.js +26 -0
- package/node_modules/fs-extra/node_modules/universalify/LICENSE +20 -0
- package/node_modules/fs-extra/node_modules/universalify/README.md +76 -0
- package/node_modules/fs-extra/node_modules/universalify/index.js +24 -0
- package/node_modules/fs-extra/node_modules/universalify/package.json +34 -0
- package/node_modules/fs-extra/package.json +70 -0
- package/node_modules/fs.realpath/LICENSE +43 -0
- package/node_modules/fs.realpath/README.md +33 -0
- package/node_modules/fs.realpath/index.js +66 -0
- package/node_modules/fs.realpath/old.js +303 -0
- package/node_modules/fs.realpath/package.json +26 -0
- package/node_modules/function-bind/.editorconfig +20 -0
- package/node_modules/function-bind/.eslintrc +15 -0
- package/node_modules/function-bind/.jscs.json +176 -0
- package/node_modules/function-bind/.npmignore +22 -0
- package/node_modules/function-bind/.travis.yml +168 -0
- package/node_modules/function-bind/LICENSE +20 -0
- package/node_modules/function-bind/README.md +48 -0
- package/node_modules/function-bind/implementation.js +52 -0
- package/node_modules/function-bind/index.js +5 -0
- package/node_modules/function-bind/package.json +63 -0
- package/node_modules/function-bind/test/.eslintrc +9 -0
- package/node_modules/function-bind/test/index.js +252 -0
- package/node_modules/get-caller-file/LICENSE.md +6 -0
- package/node_modules/get-caller-file/README.md +41 -0
- package/node_modules/get-caller-file/index.d.ts +2 -0
- package/node_modules/get-caller-file/index.js +22 -0
- package/node_modules/get-caller-file/index.js.map +1 -0
- package/node_modules/get-caller-file/package.json +42 -0
- package/node_modules/glob/LICENSE +21 -0
- package/node_modules/glob/README.md +378 -0
- package/node_modules/glob/common.js +236 -0
- package/node_modules/glob/glob.js +787 -0
- package/node_modules/glob/package.json +52 -0
- package/node_modules/glob/sync.js +483 -0
- package/node_modules/graceful-fs/LICENSE +15 -0
- package/node_modules/graceful-fs/README.md +143 -0
- package/node_modules/graceful-fs/clone.js +23 -0
- package/node_modules/graceful-fs/graceful-fs.js +429 -0
- package/node_modules/graceful-fs/legacy-streams.js +118 -0
- package/node_modules/graceful-fs/package.json +50 -0
- package/node_modules/graceful-fs/polyfills.js +346 -0
- package/node_modules/has/LICENSE-MIT +22 -0
- package/node_modules/has/README.md +18 -0
- package/node_modules/has/package.json +48 -0
- package/node_modules/has/src/index.js +5 -0
- package/node_modules/has/test/index.js +10 -0
- package/node_modules/has-flag/index.d.ts +39 -0
- package/node_modules/has-flag/index.js +8 -0
- package/node_modules/has-flag/license +9 -0
- package/node_modules/has-flag/package.json +46 -0
- package/node_modules/has-flag/readme.md +89 -0
- package/node_modules/inflight/LICENSE +15 -0
- package/node_modules/inflight/README.md +37 -0
- package/node_modules/inflight/inflight.js +54 -0
- package/node_modules/inflight/package.json +29 -0
- package/node_modules/inherits/LICENSE +16 -0
- package/node_modules/inherits/README.md +42 -0
- package/node_modules/inherits/inherits.js +9 -0
- package/node_modules/inherits/inherits_browser.js +27 -0
- package/node_modules/inherits/package.json +29 -0
- package/node_modules/ini/LICENSE +15 -0
- package/node_modules/ini/README.md +102 -0
- package/node_modules/ini/ini.js +206 -0
- package/node_modules/ini/package.json +36 -0
- package/node_modules/interpret/CHANGELOG +115 -0
- package/node_modules/interpret/LICENSE +22 -0
- package/node_modules/interpret/README.md +187 -0
- package/node_modules/interpret/index.js +168 -0
- package/node_modules/interpret/mjs-stub.js +1 -0
- package/node_modules/interpret/package.json +75 -0
- package/node_modules/is-core-module/.eslintignore +1 -0
- package/node_modules/is-core-module/.eslintrc +18 -0
- package/node_modules/is-core-module/.nycrc +9 -0
- package/node_modules/is-core-module/CHANGELOG.md +117 -0
- package/node_modules/is-core-module/LICENSE +20 -0
- package/node_modules/is-core-module/README.md +40 -0
- package/node_modules/is-core-module/core.json +152 -0
- package/node_modules/is-core-module/index.js +69 -0
- package/node_modules/is-core-module/package.json +69 -0
- package/node_modules/is-core-module/test/index.js +130 -0
- package/node_modules/is-fullwidth-code-point/index.d.ts +17 -0
- package/node_modules/is-fullwidth-code-point/index.js +50 -0
- package/node_modules/is-fullwidth-code-point/license +9 -0
- package/node_modules/is-fullwidth-code-point/package.json +42 -0
- package/node_modules/is-fullwidth-code-point/readme.md +39 -0
- package/node_modules/jsonfile/CHANGELOG.md +171 -0
- package/node_modules/jsonfile/LICENSE +15 -0
- package/node_modules/jsonfile/README.md +230 -0
- package/node_modules/jsonfile/index.js +88 -0
- package/node_modules/jsonfile/node_modules/universalify/LICENSE +20 -0
- package/node_modules/jsonfile/node_modules/universalify/README.md +76 -0
- package/node_modules/jsonfile/node_modules/universalify/index.js +24 -0
- package/node_modules/jsonfile/node_modules/universalify/package.json +34 -0
- package/node_modules/jsonfile/package.json +40 -0
- package/node_modules/jsonfile/utils.js +14 -0
- package/node_modules/lru-cache/LICENSE +15 -0
- package/node_modules/lru-cache/README.md +166 -0
- package/node_modules/lru-cache/index.js +334 -0
- package/node_modules/lru-cache/package.json +34 -0
- package/node_modules/minimatch/LICENSE +15 -0
- package/node_modules/minimatch/README.md +209 -0
- package/node_modules/minimatch/minimatch.js +923 -0
- package/node_modules/minimatch/package.json +30 -0
- package/node_modules/minimist/.travis.yml +8 -0
- package/node_modules/minimist/LICENSE +18 -0
- package/node_modules/minimist/example/parse.js +2 -0
- package/node_modules/minimist/index.js +245 -0
- package/node_modules/minimist/package.json +45 -0
- package/node_modules/minimist/readme.markdown +95 -0
- package/node_modules/minimist/test/all_bool.js +32 -0
- package/node_modules/minimist/test/bool.js +178 -0
- package/node_modules/minimist/test/dash.js +31 -0
- package/node_modules/minimist/test/default_bool.js +35 -0
- package/node_modules/minimist/test/dotted.js +22 -0
- package/node_modules/minimist/test/kv_short.js +16 -0
- package/node_modules/minimist/test/long.js +31 -0
- package/node_modules/minimist/test/num.js +36 -0
- package/node_modules/minimist/test/parse.js +197 -0
- package/node_modules/minimist/test/parse_modified.js +9 -0
- package/node_modules/minimist/test/proto.js +44 -0
- package/node_modules/minimist/test/short.js +67 -0
- package/node_modules/minimist/test/stop_early.js +15 -0
- package/node_modules/minimist/test/unknown.js +102 -0
- package/node_modules/minimist/test/whitespace.js +8 -0
- package/node_modules/once/LICENSE +15 -0
- package/node_modules/once/README.md +79 -0
- package/node_modules/once/once.js +42 -0
- package/node_modules/once/package.json +33 -0
- package/node_modules/path-is-absolute/index.js +20 -0
- package/node_modules/path-is-absolute/license +21 -0
- package/node_modules/path-is-absolute/package.json +43 -0
- package/node_modules/path-is-absolute/readme.md +59 -0
- package/node_modules/path-parse/LICENSE +21 -0
- package/node_modules/path-parse/README.md +42 -0
- package/node_modules/path-parse/index.js +75 -0
- package/node_modules/path-parse/package.json +33 -0
- package/node_modules/rechoir/.npmignore +1 -0
- package/node_modules/rechoir/.travis.yml +24 -0
- package/node_modules/rechoir/CHANGELOG +38 -0
- package/node_modules/rechoir/LICENSE +22 -0
- package/node_modules/rechoir/README.md +42 -0
- package/node_modules/rechoir/index.js +59 -0
- package/node_modules/rechoir/lib/extension.js +11 -0
- package/node_modules/rechoir/lib/normalize.js +15 -0
- package/node_modules/rechoir/lib/register.js +15 -0
- package/node_modules/rechoir/package.json +88 -0
- package/node_modules/require-directory/.jshintrc +67 -0
- package/node_modules/require-directory/.npmignore +1 -0
- package/node_modules/require-directory/.travis.yml +3 -0
- package/node_modules/require-directory/LICENSE +22 -0
- package/node_modules/require-directory/README.markdown +184 -0
- package/node_modules/require-directory/index.js +86 -0
- package/node_modules/require-directory/package.json +40 -0
- package/node_modules/resolve/.editorconfig +37 -0
- package/node_modules/resolve/.eslintignore +1 -0
- package/node_modules/resolve/.eslintrc +39 -0
- package/node_modules/resolve/LICENSE +21 -0
- package/node_modules/resolve/SECURITY.md +3 -0
- package/node_modules/resolve/appveyor.yml +74 -0
- package/node_modules/resolve/example/async.js +5 -0
- package/node_modules/resolve/example/sync.js +3 -0
- package/node_modules/resolve/index.js +6 -0
- package/node_modules/resolve/lib/async.js +320 -0
- package/node_modules/resolve/lib/caller.js +8 -0
- package/node_modules/resolve/lib/core.js +53 -0
- package/node_modules/resolve/lib/core.json +83 -0
- package/node_modules/resolve/lib/is-core.js +5 -0
- package/node_modules/resolve/lib/node-modules-paths.js +42 -0
- package/node_modules/resolve/lib/normalize-options.js +10 -0
- package/node_modules/resolve/lib/sync.js +199 -0
- package/node_modules/resolve/package.json +51 -0
- package/node_modules/resolve/readme.markdown +279 -0
- package/node_modules/resolve/test/.eslintrc +5 -0
- package/node_modules/resolve/test/core.js +81 -0
- package/node_modules/resolve/test/dotdot/abc/index.js +2 -0
- package/node_modules/resolve/test/dotdot/index.js +1 -0
- package/node_modules/resolve/test/dotdot.js +29 -0
- package/node_modules/resolve/test/faulty_basedir.js +29 -0
- package/node_modules/resolve/test/filter.js +34 -0
- package/node_modules/resolve/test/filter_sync.js +33 -0
- package/node_modules/resolve/test/mock.js +315 -0
- package/node_modules/resolve/test/mock_sync.js +216 -0
- package/node_modules/resolve/test/module_dir/xmodules/aaa/index.js +1 -0
- package/node_modules/resolve/test/module_dir/ymodules/aaa/index.js +1 -0
- package/node_modules/resolve/test/module_dir/zmodules/bbb/main.js +1 -0
- package/node_modules/resolve/test/module_dir/zmodules/bbb/package.json +3 -0
- package/node_modules/resolve/test/module_dir.js +56 -0
- package/node_modules/resolve/test/node-modules-paths.js +143 -0
- package/node_modules/resolve/test/node_path/x/aaa/index.js +1 -0
- package/node_modules/resolve/test/node_path/x/ccc/index.js +1 -0
- package/node_modules/resolve/test/node_path/y/bbb/index.js +1 -0
- package/node_modules/resolve/test/node_path/y/ccc/index.js +1 -0
- package/node_modules/resolve/test/node_path.js +70 -0
- package/node_modules/resolve/test/nonstring.js +9 -0
- package/node_modules/resolve/test/pathfilter/deep_ref/main.js +0 -0
- package/node_modules/resolve/test/pathfilter.js +75 -0
- package/node_modules/resolve/test/precedence/aaa/index.js +1 -0
- package/node_modules/resolve/test/precedence/aaa/main.js +1 -0
- package/node_modules/resolve/test/precedence/aaa.js +1 -0
- package/node_modules/resolve/test/precedence/bbb/main.js +1 -0
- package/node_modules/resolve/test/precedence/bbb.js +1 -0
- package/node_modules/resolve/test/precedence.js +23 -0
- package/node_modules/resolve/test/resolver/baz/doom.js +0 -0
- package/node_modules/resolve/test/resolver/baz/package.json +4 -0
- package/node_modules/resolve/test/resolver/baz/quux.js +1 -0
- package/node_modules/resolve/test/resolver/browser_field/a.js +0 -0
- package/node_modules/resolve/test/resolver/browser_field/b.js +0 -0
- package/node_modules/resolve/test/resolver/browser_field/package.json +5 -0
- package/node_modules/resolve/test/resolver/cup.coffee +1 -0
- package/node_modules/resolve/test/resolver/dot_main/index.js +1 -0
- package/node_modules/resolve/test/resolver/dot_main/package.json +3 -0
- package/node_modules/resolve/test/resolver/dot_slash_main/index.js +1 -0
- package/node_modules/resolve/test/resolver/dot_slash_main/package.json +3 -0
- package/node_modules/resolve/test/resolver/foo.js +1 -0
- package/node_modules/resolve/test/resolver/incorrect_main/index.js +2 -0
- package/node_modules/resolve/test/resolver/incorrect_main/package.json +3 -0
- package/node_modules/resolve/test/resolver/invalid_main/package.json +7 -0
- package/node_modules/resolve/test/resolver/mug.coffee +0 -0
- package/node_modules/resolve/test/resolver/mug.js +0 -0
- package/node_modules/resolve/test/resolver/multirepo/lerna.json +6 -0
- package/node_modules/resolve/test/resolver/multirepo/package.json +20 -0
- package/node_modules/resolve/test/resolver/multirepo/packages/package-a/index.js +35 -0
- package/node_modules/resolve/test/resolver/multirepo/packages/package-a/package.json +14 -0
- package/node_modules/resolve/test/resolver/multirepo/packages/package-b/index.js +0 -0
- package/node_modules/resolve/test/resolver/multirepo/packages/package-b/package.json +14 -0
- package/node_modules/resolve/test/resolver/nested_symlinks/mylib/async.js +26 -0
- package/node_modules/resolve/test/resolver/nested_symlinks/mylib/package.json +15 -0
- package/node_modules/resolve/test/resolver/nested_symlinks/mylib/sync.js +12 -0
- package/node_modules/resolve/test/resolver/other_path/lib/other-lib.js +0 -0
- package/node_modules/resolve/test/resolver/other_path/root.js +0 -0
- package/node_modules/resolve/test/resolver/quux/foo/index.js +1 -0
- package/node_modules/resolve/test/resolver/same_names/foo/index.js +1 -0
- package/node_modules/resolve/test/resolver/same_names/foo.js +1 -0
- package/node_modules/resolve/test/resolver/symlinked/_/node_modules/foo.js +0 -0
- package/node_modules/resolve/test/resolver/symlinked/_/symlink_target/.gitkeep +0 -0
- package/node_modules/resolve/test/resolver/symlinked/package/bar.js +1 -0
- package/node_modules/resolve/test/resolver/symlinked/package/package.json +3 -0
- package/node_modules/resolve/test/resolver/without_basedir/main.js +5 -0
- package/node_modules/resolve/test/resolver.js +450 -0
- package/node_modules/resolve/test/resolver_sync.js +358 -0
- package/node_modules/resolve/test/shadowed_core/node_modules/util/index.js +0 -0
- package/node_modules/resolve/test/shadowed_core.js +54 -0
- package/node_modules/resolve/test/subdirs.js +13 -0
- package/node_modules/resolve/test/symlinks.js +176 -0
- package/node_modules/semver/CHANGELOG.md +111 -0
- package/node_modules/semver/LICENSE +15 -0
- package/node_modules/semver/README.md +566 -0
- package/node_modules/semver/bin/semver.js +173 -0
- package/node_modules/semver/classes/comparator.js +135 -0
- package/node_modules/semver/classes/index.js +5 -0
- package/node_modules/semver/classes/range.js +510 -0
- package/node_modules/semver/classes/semver.js +287 -0
- package/node_modules/semver/functions/clean.js +6 -0
- package/node_modules/semver/functions/cmp.js +48 -0
- package/node_modules/semver/functions/coerce.js +51 -0
- package/node_modules/semver/functions/compare-build.js +7 -0
- package/node_modules/semver/functions/compare-loose.js +3 -0
- package/node_modules/semver/functions/compare.js +5 -0
- package/node_modules/semver/functions/diff.js +23 -0
- package/node_modules/semver/functions/eq.js +3 -0
- package/node_modules/semver/functions/gt.js +3 -0
- package/node_modules/semver/functions/gte.js +3 -0
- package/node_modules/semver/functions/inc.js +15 -0
- package/node_modules/semver/functions/lt.js +3 -0
- package/node_modules/semver/functions/lte.js +3 -0
- package/node_modules/semver/functions/major.js +3 -0
- package/node_modules/semver/functions/minor.js +3 -0
- package/node_modules/semver/functions/neq.js +3 -0
- package/node_modules/semver/functions/parse.js +33 -0
- package/node_modules/semver/functions/patch.js +3 -0
- package/node_modules/semver/functions/prerelease.js +6 -0
- package/node_modules/semver/functions/rcompare.js +3 -0
- package/node_modules/semver/functions/rsort.js +3 -0
- package/node_modules/semver/functions/satisfies.js +10 -0
- package/node_modules/semver/functions/sort.js +3 -0
- package/node_modules/semver/functions/valid.js +6 -0
- package/node_modules/semver/index.js +48 -0
- package/node_modules/semver/internal/constants.js +17 -0
- package/node_modules/semver/internal/debug.js +9 -0
- package/node_modules/semver/internal/identifiers.js +23 -0
- package/node_modules/semver/internal/parse-options.js +11 -0
- package/node_modules/semver/internal/re.js +182 -0
- package/node_modules/semver/package.json +41 -0
- package/node_modules/semver/preload.js +2 -0
- package/node_modules/semver/range.bnf +16 -0
- package/node_modules/semver/ranges/gtr.js +4 -0
- package/node_modules/semver/ranges/intersects.js +7 -0
- package/node_modules/semver/ranges/ltr.js +4 -0
- package/node_modules/semver/ranges/max-satisfying.js +25 -0
- package/node_modules/semver/ranges/min-satisfying.js +24 -0
- package/node_modules/semver/ranges/min-version.js +60 -0
- package/node_modules/semver/ranges/outside.js +80 -0
- package/node_modules/semver/ranges/simplify.js +44 -0
- package/node_modules/semver/ranges/subset.js +222 -0
- package/node_modules/semver/ranges/to-comparators.js +8 -0
- package/node_modules/semver/ranges/valid.js +11 -0
- package/node_modules/shelljs/CHANGELOG.md +942 -0
- package/node_modules/shelljs/LICENSE +26 -0
- package/node_modules/shelljs/README.md +835 -0
- package/node_modules/shelljs/bin/shjs +48 -0
- package/node_modules/shelljs/commands.js +29 -0
- package/node_modules/shelljs/global.js +12 -0
- package/node_modules/shelljs/make.js +57 -0
- package/node_modules/shelljs/package.json +79 -0
- package/node_modules/shelljs/plugin.js +16 -0
- package/node_modules/shelljs/shell.js +156 -0
- package/node_modules/shelljs/src/cat.js +76 -0
- package/node_modules/shelljs/src/cd.js +39 -0
- package/node_modules/shelljs/src/chmod.js +216 -0
- package/node_modules/shelljs/src/common.js +468 -0
- package/node_modules/shelljs/src/cp.js +304 -0
- package/node_modules/shelljs/src/dirs.js +212 -0
- package/node_modules/shelljs/src/echo.js +63 -0
- package/node_modules/shelljs/src/error.js +15 -0
- package/node_modules/shelljs/src/exec-child.js +39 -0
- package/node_modules/shelljs/src/exec.js +208 -0
- package/node_modules/shelljs/src/find.js +61 -0
- package/node_modules/shelljs/src/grep.js +73 -0
- package/node_modules/shelljs/src/head.js +107 -0
- package/node_modules/shelljs/src/ln.js +73 -0
- package/node_modules/shelljs/src/ls.js +141 -0
- package/node_modules/shelljs/src/mkdir.js +100 -0
- package/node_modules/shelljs/src/mv.js +118 -0
- package/node_modules/shelljs/src/popd.js +1 -0
- package/node_modules/shelljs/src/pushd.js +1 -0
- package/node_modules/shelljs/src/pwd.js +16 -0
- package/node_modules/shelljs/src/rm.js +201 -0
- package/node_modules/shelljs/src/sed.js +87 -0
- package/node_modules/shelljs/src/set.js +56 -0
- package/node_modules/shelljs/src/sort.js +97 -0
- package/node_modules/shelljs/src/tail.js +80 -0
- package/node_modules/shelljs/src/tempdir.js +75 -0
- package/node_modules/shelljs/src/test.js +85 -0
- package/node_modules/shelljs/src/to.js +37 -0
- package/node_modules/shelljs/src/toEnd.js +36 -0
- package/node_modules/shelljs/src/touch.js +111 -0
- package/node_modules/shelljs/src/uniq.js +92 -0
- package/node_modules/shelljs/src/which.js +118 -0
- package/node_modules/shx/CHANGELOG.md +224 -0
- package/node_modules/shx/LICENSE +21 -0
- package/node_modules/shx/README.md +149 -0
- package/node_modules/shx/lib/cli.js +40 -0
- package/node_modules/shx/lib/config.js +58 -0
- package/node_modules/shx/lib/help.js +37 -0
- package/node_modules/shx/lib/plugin-true-false.js +25 -0
- package/node_modules/shx/lib/printCmdRet.js +17 -0
- package/node_modules/shx/lib/shx.js +157 -0
- package/node_modules/shx/package.json +80 -0
- package/node_modules/sprintf-js/.npmignore +1 -0
- package/node_modules/sprintf-js/LICENSE +24 -0
- package/node_modules/sprintf-js/README.md +88 -0
- package/node_modules/sprintf-js/bower.json +14 -0
- package/node_modules/sprintf-js/demo/angular.html +20 -0
- package/node_modules/sprintf-js/dist/angular-sprintf.min.js +4 -0
- package/node_modules/sprintf-js/dist/angular-sprintf.min.js.map +1 -0
- package/node_modules/sprintf-js/dist/angular-sprintf.min.map +1 -0
- package/node_modules/sprintf-js/dist/sprintf.min.js +4 -0
- package/node_modules/sprintf-js/dist/sprintf.min.js.map +1 -0
- package/node_modules/sprintf-js/dist/sprintf.min.map +1 -0
- package/node_modules/sprintf-js/gruntfile.js +36 -0
- package/node_modules/sprintf-js/package.json +22 -0
- package/node_modules/sprintf-js/src/angular-sprintf.js +18 -0
- package/node_modules/sprintf-js/src/sprintf.js +208 -0
- package/node_modules/sprintf-js/test/test.js +82 -0
- package/node_modules/string-width/index.d.ts +29 -0
- package/node_modules/string-width/index.js +47 -0
- package/node_modules/string-width/license +9 -0
- package/node_modules/string-width/package.json +56 -0
- package/node_modules/string-width/readme.md +50 -0
- package/node_modules/strip-ansi/index.d.ts +17 -0
- package/node_modules/strip-ansi/index.js +4 -0
- package/node_modules/strip-ansi/license +9 -0
- package/node_modules/strip-ansi/package.json +54 -0
- package/node_modules/strip-ansi/readme.md +46 -0
- package/node_modules/supports-color/browser.js +5 -0
- package/node_modules/supports-color/index.js +135 -0
- package/node_modules/supports-color/license +9 -0
- package/node_modules/supports-color/package.json +53 -0
- package/node_modules/supports-color/readme.md +76 -0
- package/node_modules/wrap-ansi/index.js +216 -0
- package/node_modules/wrap-ansi/license +9 -0
- package/node_modules/wrap-ansi/package.json +62 -0
- package/node_modules/wrap-ansi/readme.md +91 -0
- package/node_modules/wrappy/LICENSE +15 -0
- package/node_modules/wrappy/README.md +36 -0
- package/node_modules/wrappy/package.json +29 -0
- package/node_modules/wrappy/wrappy.js +33 -0
- package/node_modules/xmlbuilder2/CHANGELOG.md +215 -0
- package/node_modules/xmlbuilder2/LICENSE +21 -0
- package/node_modules/xmlbuilder2/README.md +182 -0
- package/node_modules/xmlbuilder2/lib/builder/BuilderFunctions.d.ts +236 -0
- package/node_modules/xmlbuilder2/lib/builder/BuilderFunctions.js +108 -0
- package/node_modules/xmlbuilder2/lib/builder/BuilderFunctions.js.map +1 -0
- package/node_modules/xmlbuilder2/lib/builder/BuilderFunctionsCB.d.ts +17 -0
- package/node_modules/xmlbuilder2/lib/builder/BuilderFunctionsCB.js +26 -0
- package/node_modules/xmlbuilder2/lib/builder/BuilderFunctionsCB.js.map +1 -0
- package/node_modules/xmlbuilder2/lib/builder/XMLBuilderCBImpl.d.ts +122 -0
- package/node_modules/xmlbuilder2/lib/builder/XMLBuilderCBImpl.js +791 -0
- package/node_modules/xmlbuilder2/lib/builder/XMLBuilderCBImpl.js.map +1 -0
- package/node_modules/xmlbuilder2/lib/builder/XMLBuilderImpl.d.ts +143 -0
- package/node_modules/xmlbuilder2/lib/builder/XMLBuilderImpl.js +841 -0
- package/node_modules/xmlbuilder2/lib/builder/XMLBuilderImpl.js.map +1 -0
- package/node_modules/xmlbuilder2/lib/builder/dom.d.ts +8 -0
- package/node_modules/xmlbuilder2/lib/builder/dom.js +67 -0
- package/node_modules/xmlbuilder2/lib/builder/dom.js.map +1 -0
- package/node_modules/xmlbuilder2/lib/builder/index.d.ts +4 -0
- package/node_modules/xmlbuilder2/lib/builder/index.js +15 -0
- package/node_modules/xmlbuilder2/lib/builder/index.js.map +1 -0
- package/node_modules/xmlbuilder2/lib/index.d.ts +1 -0
- package/node_modules/xmlbuilder2/lib/index.js +10 -0
- package/node_modules/xmlbuilder2/lib/index.js.map +1 -0
- package/node_modules/xmlbuilder2/lib/interfaces.d.ts +1343 -0
- package/node_modules/xmlbuilder2/lib/interfaces.js +75 -0
- package/node_modules/xmlbuilder2/lib/interfaces.js.map +1 -0
- package/node_modules/xmlbuilder2/lib/readers/BaseReader.d.ts +96 -0
- package/node_modules/xmlbuilder2/lib/readers/BaseReader.js +138 -0
- package/node_modules/xmlbuilder2/lib/readers/BaseReader.js.map +1 -0
- package/node_modules/xmlbuilder2/lib/readers/JSONReader.d.ts +14 -0
- package/node_modules/xmlbuilder2/lib/readers/JSONReader.js +38 -0
- package/node_modules/xmlbuilder2/lib/readers/JSONReader.js.map +1 -0
- package/node_modules/xmlbuilder2/lib/readers/ObjectReader.d.ts +15 -0
- package/node_modules/xmlbuilder2/lib/readers/ObjectReader.js +161 -0
- package/node_modules/xmlbuilder2/lib/readers/ObjectReader.js.map +1 -0
- package/node_modules/xmlbuilder2/lib/readers/XMLReader.d.ts +14 -0
- package/node_modules/xmlbuilder2/lib/readers/XMLReader.js +200 -0
- package/node_modules/xmlbuilder2/lib/readers/XMLReader.js.map +1 -0
- package/node_modules/xmlbuilder2/lib/readers/YAMLReader.d.ts +14 -0
- package/node_modules/xmlbuilder2/lib/readers/YAMLReader.js +44 -0
- package/node_modules/xmlbuilder2/lib/readers/YAMLReader.js.map +1 -0
- package/node_modules/xmlbuilder2/lib/readers/index.d.ts +4 -0
- package/node_modules/xmlbuilder2/lib/readers/index.js +11 -0
- package/node_modules/xmlbuilder2/lib/readers/index.js.map +1 -0
- package/node_modules/xmlbuilder2/lib/writers/BaseCBWriter.d.ts +110 -0
- package/node_modules/xmlbuilder2/lib/writers/BaseCBWriter.js +23 -0
- package/node_modules/xmlbuilder2/lib/writers/BaseCBWriter.js.map +1 -0
- package/node_modules/xmlbuilder2/lib/writers/BaseWriter.d.ts +276 -0
- package/node_modules/xmlbuilder2/lib/writers/BaseWriter.js +1637 -0
- package/node_modules/xmlbuilder2/lib/writers/BaseWriter.js.map +1 -0
- package/node_modules/xmlbuilder2/lib/writers/JSONCBWriter.d.ts +68 -0
- package/node_modules/xmlbuilder2/lib/writers/JSONCBWriter.js +172 -0
- package/node_modules/xmlbuilder2/lib/writers/JSONCBWriter.js.map +1 -0
- package/node_modules/xmlbuilder2/lib/writers/JSONWriter.d.ts +67 -0
- package/node_modules/xmlbuilder2/lib/writers/JSONWriter.js +224 -0
- package/node_modules/xmlbuilder2/lib/writers/JSONWriter.js.map +1 -0
- package/node_modules/xmlbuilder2/lib/writers/MapWriter.d.ts +27 -0
- package/node_modules/xmlbuilder2/lib/writers/MapWriter.js +86 -0
- package/node_modules/xmlbuilder2/lib/writers/MapWriter.js.map +1 -0
- package/node_modules/xmlbuilder2/lib/writers/ObjectWriter.d.ts +56 -0
- package/node_modules/xmlbuilder2/lib/writers/ObjectWriter.js +484 -0
- package/node_modules/xmlbuilder2/lib/writers/ObjectWriter.js.map +1 -0
- package/node_modules/xmlbuilder2/lib/writers/XMLCBWriter.d.ts +51 -0
- package/node_modules/xmlbuilder2/lib/writers/XMLCBWriter.js +165 -0
- package/node_modules/xmlbuilder2/lib/writers/XMLCBWriter.js.map +1 -0
- package/node_modules/xmlbuilder2/lib/writers/XMLWriter.d.ts +60 -0
- package/node_modules/xmlbuilder2/lib/writers/XMLWriter.js +237 -0
- package/node_modules/xmlbuilder2/lib/writers/XMLWriter.js.map +1 -0
- package/node_modules/xmlbuilder2/lib/writers/YAMLCBWriter.d.ts +61 -0
- package/node_modules/xmlbuilder2/lib/writers/YAMLCBWriter.js +161 -0
- package/node_modules/xmlbuilder2/lib/writers/YAMLCBWriter.js.map +1 -0
- package/node_modules/xmlbuilder2/lib/writers/YAMLWriter.d.ts +55 -0
- package/node_modules/xmlbuilder2/lib/writers/YAMLWriter.js +188 -0
- package/node_modules/xmlbuilder2/lib/writers/YAMLWriter.js.map +1 -0
- package/node_modules/xmlbuilder2/lib/writers/index.d.ts +5 -0
- package/node_modules/xmlbuilder2/lib/writers/index.js +13 -0
- package/node_modules/xmlbuilder2/lib/writers/index.js.map +1 -0
- package/node_modules/xmlbuilder2/lib/xmlbuilder2.min.js +8 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/LICENSE +21 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/README.md +16 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/assert/strict.d.ts +8 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/assert.d.ts +912 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/async_hooks.d.ts +501 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/buffer.d.ts +2142 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/child_process.d.ts +1366 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/cluster.d.ts +414 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/console.d.ts +412 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/constants.d.ts +18 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/crypto.d.ts +3307 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/dgram.d.ts +545 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/diagnostics_channel.d.ts +134 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/dns/promises.d.ts +370 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/dns.d.ts +659 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/domain.d.ts +169 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/events.d.ts +623 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/fs/promises.d.ts +1091 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/fs.d.ts +3835 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/globals.d.ts +284 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/globals.global.d.ts +1 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/http.d.ts +1386 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/http2.d.ts +2100 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/https.d.ts +391 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/index.d.ts +131 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/inspector.d.ts +2744 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/module.d.ts +114 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/net.d.ts +783 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/os.d.ts +455 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/package.json +230 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/path.d.ts +180 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/perf_hooks.d.ts +557 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/process.d.ts +1481 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/punycode.d.ts +117 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/querystring.d.ts +131 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/readline.d.ts +650 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/repl.d.ts +424 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/stream/consumers.d.ts +24 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/stream/promises.d.ts +42 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/stream/web.d.ts +329 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/stream.d.ts +1249 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/string_decoder.d.ts +67 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/timers/promises.d.ts +68 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/timers.d.ts +94 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/tls.d.ts +1020 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/trace_events.d.ts +161 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/tty.d.ts +204 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/url.d.ts +861 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/util.d.ts +1594 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/v8.d.ts +378 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/vm.d.ts +507 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/wasi.d.ts +158 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/worker_threads.d.ts +649 -0
- package/node_modules/xmlbuilder2/node_modules/@types/node/zlib.d.ts +517 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/CHANGELOG.md +551 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/LICENSE +21 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/README.md +299 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/bin/js-yaml.js +132 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/dist/js-yaml.js +3989 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/dist/js-yaml.min.js +1 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/index.js +7 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/common.js +59 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/dumper.js +850 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/exception.js +43 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/loader.js +1644 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/mark.js +76 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/schema/core.js +18 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/schema/default_full.js +25 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js +28 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js +17 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/schema/json.js +25 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/schema.js +108 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/binary.js +138 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/bool.js +35 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/float.js +116 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/int.js +173 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/js/function.js +93 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js +60 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js +28 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/map.js +8 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/merge.js +12 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/null.js +34 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/omap.js +44 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/pairs.js +53 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/seq.js +8 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/set.js +29 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/str.js +8 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/timestamp.js +88 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type.js +61 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml.js +39 -0
- package/node_modules/xmlbuilder2/node_modules/js-yaml/package.json +49 -0
- package/node_modules/xmlbuilder2/package.json +82 -0
- package/node_modules/y18n/CHANGELOG.md +100 -0
- package/node_modules/y18n/LICENSE +13 -0
- package/node_modules/y18n/README.md +127 -0
- package/node_modules/y18n/build/index.cjs +203 -0
- package/node_modules/y18n/build/lib/cjs.js +6 -0
- package/node_modules/y18n/build/lib/index.js +174 -0
- package/node_modules/y18n/build/lib/platform-shims/node.js +19 -0
- package/node_modules/y18n/index.mjs +8 -0
- package/node_modules/y18n/package.json +70 -0
- package/node_modules/yallist/LICENSE +15 -0
- package/node_modules/yallist/README.md +204 -0
- package/node_modules/yallist/iterator.js +8 -0
- package/node_modules/yallist/package.json +29 -0
- package/node_modules/yallist/yallist.js +426 -0
- package/node_modules/yaml/LICENSE +13 -0
- package/node_modules/yaml/README.md +127 -0
- package/node_modules/yaml/browser/dist/PlainValue-b8036b75.js +1275 -0
- package/node_modules/yaml/browser/dist/Schema-e94716c8.js +682 -0
- package/node_modules/yaml/browser/dist/index.js +1002 -0
- package/node_modules/yaml/browser/dist/legacy-exports.js +3 -0
- package/node_modules/yaml/browser/dist/package.json +1 -0
- package/node_modules/yaml/browser/dist/parse-cst.js +1904 -0
- package/node_modules/yaml/browser/dist/resolveSeq-492ab440.js +2419 -0
- package/node_modules/yaml/browser/dist/types.js +4 -0
- package/node_modules/yaml/browser/dist/util.js +2 -0
- package/node_modules/yaml/browser/dist/warnings-df54cb69.js +499 -0
- package/node_modules/yaml/browser/index.js +1 -0
- package/node_modules/yaml/browser/map.js +2 -0
- package/node_modules/yaml/browser/pair.js +2 -0
- package/node_modules/yaml/browser/parse-cst.js +1 -0
- package/node_modules/yaml/browser/scalar.js +2 -0
- package/node_modules/yaml/browser/schema.js +9 -0
- package/node_modules/yaml/browser/seq.js +2 -0
- package/node_modules/yaml/browser/types/binary.js +8 -0
- package/node_modules/yaml/browser/types/omap.js +3 -0
- package/node_modules/yaml/browser/types/pairs.js +3 -0
- package/node_modules/yaml/browser/types/set.js +3 -0
- package/node_modules/yaml/browser/types/timestamp.js +10 -0
- package/node_modules/yaml/browser/types.js +1 -0
- package/node_modules/yaml/browser/util.js +1 -0
- package/node_modules/yaml/dist/Document-9b4560a1.js +757 -0
- package/node_modules/yaml/dist/PlainValue-ec8e588e.js +876 -0
- package/node_modules/yaml/dist/Schema-88e323a7.js +525 -0
- package/node_modules/yaml/dist/index.js +79 -0
- package/node_modules/yaml/dist/legacy-exports.js +16 -0
- package/node_modules/yaml/dist/parse-cst.js +1753 -0
- package/node_modules/yaml/dist/resolveSeq-d03cb037.js +2161 -0
- package/node_modules/yaml/dist/test-events.js +162 -0
- package/node_modules/yaml/dist/types.js +23 -0
- package/node_modules/yaml/dist/util.js +19 -0
- package/node_modules/yaml/dist/warnings-1000a372.js +416 -0
- package/node_modules/yaml/index.d.ts +372 -0
- package/node_modules/yaml/index.js +1 -0
- package/node_modules/yaml/map.js +2 -0
- package/node_modules/yaml/package.json +106 -0
- package/node_modules/yaml/pair.js +2 -0
- package/node_modules/yaml/parse-cst.d.ts +191 -0
- package/node_modules/yaml/parse-cst.js +1 -0
- package/node_modules/yaml/scalar.js +2 -0
- package/node_modules/yaml/schema.js +9 -0
- package/node_modules/yaml/seq.js +2 -0
- package/node_modules/yaml/types/binary.js +8 -0
- package/node_modules/yaml/types/omap.js +3 -0
- package/node_modules/yaml/types/pairs.js +3 -0
- package/node_modules/yaml/types/set.js +3 -0
- package/node_modules/yaml/types/timestamp.js +10 -0
- package/node_modules/yaml/types.d.ts +407 -0
- package/node_modules/yaml/types.js +17 -0
- package/node_modules/yaml/types.mjs +17 -0
- package/node_modules/yaml/util.d.ts +86 -0
- package/node_modules/yaml/util.js +16 -0
- package/node_modules/yaml/util.mjs +18 -0
- package/node_modules/yargs/CHANGELOG.md +88 -0
- package/node_modules/yargs/LICENSE +21 -0
- package/node_modules/yargs/README.md +202 -0
- package/node_modules/yargs/browser.mjs +7 -0
- package/node_modules/yargs/build/index.cjs +2920 -0
- package/node_modules/yargs/build/lib/argsert.js +62 -0
- package/node_modules/yargs/build/lib/command.js +382 -0
- package/node_modules/yargs/build/lib/completion-templates.js +47 -0
- package/node_modules/yargs/build/lib/completion.js +128 -0
- package/node_modules/yargs/build/lib/middleware.js +53 -0
- package/node_modules/yargs/build/lib/parse-command.js +32 -0
- package/node_modules/yargs/build/lib/typings/common-types.js +9 -0
- package/node_modules/yargs/build/lib/typings/yargs-parser-types.js +1 -0
- package/node_modules/yargs/build/lib/usage.js +548 -0
- package/node_modules/yargs/build/lib/utils/apply-extends.js +59 -0
- package/node_modules/yargs/build/lib/utils/is-promise.js +5 -0
- package/node_modules/yargs/build/lib/utils/levenshtein.js +26 -0
- package/node_modules/yargs/build/lib/utils/obj-filter.js +10 -0
- package/node_modules/yargs/build/lib/utils/process-argv.js +17 -0
- package/node_modules/yargs/build/lib/utils/set-blocking.js +12 -0
- package/node_modules/yargs/build/lib/utils/which-module.js +10 -0
- package/node_modules/yargs/build/lib/validation.js +308 -0
- package/node_modules/yargs/build/lib/yargs-factory.js +1143 -0
- package/node_modules/yargs/build/lib/yerror.js +7 -0
- package/node_modules/yargs/helpers/helpers.mjs +10 -0
- package/node_modules/yargs/helpers/index.js +14 -0
- package/node_modules/yargs/helpers/package.json +3 -0
- package/node_modules/yargs/index.cjs +39 -0
- package/node_modules/yargs/index.mjs +8 -0
- package/node_modules/yargs/lib/platform-shims/browser.mjs +92 -0
- package/node_modules/yargs/lib/platform-shims/esm.mjs +67 -0
- package/node_modules/yargs/locales/be.json +46 -0
- package/node_modules/yargs/locales/de.json +46 -0
- package/node_modules/yargs/locales/en.json +51 -0
- package/node_modules/yargs/locales/es.json +46 -0
- package/node_modules/yargs/locales/fi.json +49 -0
- package/node_modules/yargs/locales/fr.json +53 -0
- package/node_modules/yargs/locales/hi.json +49 -0
- package/node_modules/yargs/locales/hu.json +46 -0
- package/node_modules/yargs/locales/id.json +50 -0
- package/node_modules/yargs/locales/it.json +46 -0
- package/node_modules/yargs/locales/ja.json +51 -0
- package/node_modules/yargs/locales/ko.json +49 -0
- package/node_modules/yargs/locales/nb.json +44 -0
- package/node_modules/yargs/locales/nl.json +49 -0
- package/node_modules/yargs/locales/nn.json +44 -0
- package/node_modules/yargs/locales/pirate.json +13 -0
- package/node_modules/yargs/locales/pl.json +49 -0
- package/node_modules/yargs/locales/pt.json +45 -0
- package/node_modules/yargs/locales/pt_BR.json +48 -0
- package/node_modules/yargs/locales/ru.json +46 -0
- package/node_modules/yargs/locales/th.json +46 -0
- package/node_modules/yargs/locales/tr.json +48 -0
- package/node_modules/yargs/locales/zh_CN.json +48 -0
- package/node_modules/yargs/locales/zh_TW.json +47 -0
- package/node_modules/yargs/package.json +122 -0
- package/node_modules/yargs/yargs +9 -0
- package/node_modules/yargs-parser/CHANGELOG.md +263 -0
- package/node_modules/yargs-parser/LICENSE.txt +14 -0
- package/node_modules/yargs-parser/README.md +518 -0
- package/node_modules/yargs-parser/browser.js +29 -0
- package/node_modules/yargs-parser/build/index.cjs +1042 -0
- package/node_modules/yargs-parser/build/lib/index.js +59 -0
- package/node_modules/yargs-parser/build/lib/string-utils.js +65 -0
- package/node_modules/yargs-parser/build/lib/tokenize-arg-string.js +40 -0
- package/node_modules/yargs-parser/build/lib/yargs-parser-types.js +12 -0
- package/node_modules/yargs-parser/build/lib/yargs-parser.js +1037 -0
- package/node_modules/yargs-parser/package.json +87 -0
- package/package.json +181 -0
- package/rfcs/github-project-settings.md +95 -0
- package/version.json +3 -0
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a, _b, _c;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.mergeTsconfigOptions = exports.TypeScriptLibraryProject = exports.TypeScriptAppProject = exports.TypeScriptProject = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
const path = require("path");
|
|
7
|
+
const semver = require("semver");
|
|
8
|
+
const common_1 = require("../common");
|
|
9
|
+
const component_1 = require("../component");
|
|
10
|
+
const javascript_1 = require("../javascript");
|
|
11
|
+
const sample_file_1 = require("../sample-file");
|
|
12
|
+
const textfile_1 = require("../textfile");
|
|
13
|
+
const typescript_1 = require("../typescript");
|
|
14
|
+
/**
|
|
15
|
+
* (experimental) TypeScript project.
|
|
16
|
+
*
|
|
17
|
+
* @experimental
|
|
18
|
+
* @pjid typescript
|
|
19
|
+
*/
|
|
20
|
+
class TypeScriptProject extends javascript_1.NodeProject {
|
|
21
|
+
/**
|
|
22
|
+
* @experimental
|
|
23
|
+
*/
|
|
24
|
+
constructor(options) {
|
|
25
|
+
var _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2;
|
|
26
|
+
super({
|
|
27
|
+
...options,
|
|
28
|
+
// disable .projenrc.js if typescript is enabled
|
|
29
|
+
projenrcJs: options.projenrcTs ? false : options.projenrcJs,
|
|
30
|
+
jestOptions: {
|
|
31
|
+
...options.jestOptions,
|
|
32
|
+
jestConfig: {
|
|
33
|
+
...(_d = options.jestOptions) === null || _d === void 0 ? void 0 : _d.jestConfig,
|
|
34
|
+
testMatch: [],
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
this.srcdir = (_e = options.srcdir) !== null && _e !== void 0 ? _e : 'src';
|
|
39
|
+
this.libdir = (_f = options.libdir) !== null && _f !== void 0 ? _f : 'lib';
|
|
40
|
+
this.docgen = options.docgen;
|
|
41
|
+
this.docsDirectory = (_g = options.docsDirectory) !== null && _g !== void 0 ? _g : 'docs/';
|
|
42
|
+
this.compileTask.exec('tsc --build');
|
|
43
|
+
this.watchTask = this.addTask('watch', {
|
|
44
|
+
description: 'Watch & compile in the background',
|
|
45
|
+
exec: 'tsc --build -w',
|
|
46
|
+
});
|
|
47
|
+
this.testdir = (_h = options.testdir) !== null && _h !== void 0 ? _h : 'test';
|
|
48
|
+
this.gitignore.include(`/${this.testdir}/`);
|
|
49
|
+
(_j = this.npmignore) === null || _j === void 0 ? void 0 : _j.exclude(`/${this.testdir}/`);
|
|
50
|
+
// if the test directory is under `src/`, then we will run our tests against
|
|
51
|
+
// the javascript files and not let jest compile it for us.
|
|
52
|
+
const compiledTests = this.testdir.startsWith(this.srcdir + path.posix.sep);
|
|
53
|
+
if (options.entrypointTypes || this.entrypoint !== '') {
|
|
54
|
+
const entrypointTypes = (_k = options.entrypointTypes) !== null && _k !== void 0 ? _k : `${path.join(path.dirname(this.entrypoint), path.basename(this.entrypoint, '.js')).replace(/\\/g, '/')}.d.ts`;
|
|
55
|
+
this.package.addField('types', entrypointTypes);
|
|
56
|
+
}
|
|
57
|
+
const compilerOptionDefaults = {
|
|
58
|
+
alwaysStrict: true,
|
|
59
|
+
declaration: true,
|
|
60
|
+
esModuleInterop: true,
|
|
61
|
+
experimentalDecorators: true,
|
|
62
|
+
inlineSourceMap: true,
|
|
63
|
+
inlineSources: true,
|
|
64
|
+
lib: ['es2019'],
|
|
65
|
+
module: 'CommonJS',
|
|
66
|
+
noEmitOnError: false,
|
|
67
|
+
noFallthroughCasesInSwitch: true,
|
|
68
|
+
noImplicitAny: true,
|
|
69
|
+
noImplicitReturns: true,
|
|
70
|
+
noImplicitThis: true,
|
|
71
|
+
noUnusedLocals: true,
|
|
72
|
+
noUnusedParameters: true,
|
|
73
|
+
resolveJsonModule: true,
|
|
74
|
+
strict: true,
|
|
75
|
+
strictNullChecks: true,
|
|
76
|
+
strictPropertyInitialization: true,
|
|
77
|
+
stripInternal: true,
|
|
78
|
+
target: 'ES2019',
|
|
79
|
+
};
|
|
80
|
+
if (!options.disableTsconfig) {
|
|
81
|
+
this.tsconfig = new javascript_1.TypescriptConfig(this, mergeTsconfigOptions({
|
|
82
|
+
include: [`${this.srcdir}/**/*.ts`],
|
|
83
|
+
// exclude: ['node_modules'], // TODO: shouldn't we exclude node_modules?
|
|
84
|
+
compilerOptions: {
|
|
85
|
+
rootDir: this.srcdir,
|
|
86
|
+
outDir: this.libdir,
|
|
87
|
+
...compilerOptionDefaults,
|
|
88
|
+
},
|
|
89
|
+
}, options.tsconfig));
|
|
90
|
+
}
|
|
91
|
+
const tsconfigDevFile = (_l = options.tsconfigDevFile) !== null && _l !== void 0 ? _l : 'tsconfig.dev.json';
|
|
92
|
+
this.tsconfigDev = new javascript_1.TypescriptConfig(this, mergeTsconfigOptions({
|
|
93
|
+
fileName: tsconfigDevFile,
|
|
94
|
+
include: [
|
|
95
|
+
common_1.PROJEN_RC,
|
|
96
|
+
`${this.srcdir}/**/*.ts`,
|
|
97
|
+
`${this.testdir}/**/*.ts`,
|
|
98
|
+
],
|
|
99
|
+
exclude: ['node_modules'],
|
|
100
|
+
compilerOptions: compilerOptionDefaults,
|
|
101
|
+
}, options.tsconfig, options.tsconfigDev));
|
|
102
|
+
this.gitignore.include(`/${this.srcdir}/`);
|
|
103
|
+
(_m = this.npmignore) === null || _m === void 0 ? void 0 : _m.exclude(`/${this.srcdir}/`);
|
|
104
|
+
if (this.srcdir !== this.libdir) {
|
|
105
|
+
// separated, can ignore the entire libdir
|
|
106
|
+
this.gitignore.exclude(`/${this.libdir}`);
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
// collocated, can only ignore the compiled output
|
|
110
|
+
this.gitignore.exclude(`/${this.libdir}/**/*.js`);
|
|
111
|
+
this.gitignore.exclude(`/${this.libdir}/**/*.d.ts`);
|
|
112
|
+
}
|
|
113
|
+
(_o = this.npmignore) === null || _o === void 0 ? void 0 : _o.include(`/${this.libdir}/`);
|
|
114
|
+
(_p = this.npmignore) === null || _p === void 0 ? void 0 : _p.include(`/${this.libdir}/**/*.js`);
|
|
115
|
+
(_q = this.npmignore) === null || _q === void 0 ? void 0 : _q.include(`/${this.libdir}/**/*.d.ts`);
|
|
116
|
+
this.gitignore.exclude('/dist/');
|
|
117
|
+
(_r = this.npmignore) === null || _r === void 0 ? void 0 : _r.exclude('dist'); // jsii-pacmak expects this to be "dist" and not "/dist". otherwise it will tamper with it
|
|
118
|
+
(_s = this.npmignore) === null || _s === void 0 ? void 0 : _s.exclude('/tsconfig.json');
|
|
119
|
+
(_t = this.npmignore) === null || _t === void 0 ? void 0 : _t.exclude('/.github/');
|
|
120
|
+
(_u = this.npmignore) === null || _u === void 0 ? void 0 : _u.exclude('/.vscode/');
|
|
121
|
+
(_v = this.npmignore) === null || _v === void 0 ? void 0 : _v.exclude('/.idea/');
|
|
122
|
+
(_w = this.npmignore) === null || _w === void 0 ? void 0 : _w.exclude('/.projenrc.js');
|
|
123
|
+
(_x = this.npmignore) === null || _x === void 0 ? void 0 : _x.exclude('tsconfig.tsbuildinfo');
|
|
124
|
+
// tests are compiled to `lib/TESTDIR`, so we don't need jest to compile them for us.
|
|
125
|
+
// just run them directly from javascript.
|
|
126
|
+
if (this.jest && compiledTests) {
|
|
127
|
+
this.addDevDeps('@types/jest');
|
|
128
|
+
const testout = path.posix.relative(this.srcdir, this.testdir);
|
|
129
|
+
const libtest = path.posix.join(this.libdir, testout);
|
|
130
|
+
const srctest = this.testdir;
|
|
131
|
+
(_y = this.npmignore) === null || _y === void 0 ? void 0 : _y.exclude(`/${libtest}/`);
|
|
132
|
+
this.jest.addTestMatch(`**/${libtest}/**/?(*.)+(spec|test).js?(x)`);
|
|
133
|
+
this.jest.addWatchIgnorePattern(`/${this.srcdir}/`);
|
|
134
|
+
const resolveSnapshotPath = (test, ext) => {
|
|
135
|
+
const fullpath = test.replace(libtest, srctest);
|
|
136
|
+
return path.join(path.dirname(fullpath), '__snapshots__', path.basename(fullpath, '.js') + '.ts' + ext);
|
|
137
|
+
};
|
|
138
|
+
const resolveTestPath = (snap, ext) => {
|
|
139
|
+
const filename = path.basename(snap, '.ts' + ext) + '.js';
|
|
140
|
+
const dir = path.dirname(path.dirname(snap)).replace(srctest, libtest);
|
|
141
|
+
return path.join(dir, filename);
|
|
142
|
+
};
|
|
143
|
+
const resolver = new textfile_1.TextFile(this, path.posix.join(common_1.PROJEN_DIR, 'jest-snapshot-resolver.js'));
|
|
144
|
+
resolver.addLine(`// ${textfile_1.TextFile.PROJEN_MARKER}`);
|
|
145
|
+
resolver.addLine('const path = require("path");');
|
|
146
|
+
resolver.addLine(`const libtest = "${libtest}";`);
|
|
147
|
+
resolver.addLine(`const srctest= "${srctest}";`);
|
|
148
|
+
resolver.addLine('module.exports = {');
|
|
149
|
+
resolver.addLine(` resolveSnapshotPath: ${resolveSnapshotPath.toString()},`);
|
|
150
|
+
resolver.addLine(` resolveTestPath: ${resolveTestPath.toString()},`);
|
|
151
|
+
resolver.addLine(' testPathForConsistencyCheck: path.join(\'some\', \'__tests__\', \'example.test.js\')');
|
|
152
|
+
resolver.addLine('};');
|
|
153
|
+
this.jest.addSnapshotResolver(`./${resolver.path}`);
|
|
154
|
+
}
|
|
155
|
+
if (this.jest && !compiledTests) {
|
|
156
|
+
this.jest.addTestMatch('**\/__tests__/**\/*.ts?(x)');
|
|
157
|
+
this.jest.addTestMatch('**\/?(*.)+(spec|test).ts?(x)');
|
|
158
|
+
// create a tsconfig for jest that does NOT include outDir and rootDir and
|
|
159
|
+
// includes both "src" and "test" as inputs.
|
|
160
|
+
this.jest.addTypeScriptSupport(this.tsconfigDev);
|
|
161
|
+
}
|
|
162
|
+
if ((_z = options.eslint) !== null && _z !== void 0 ? _z : true) {
|
|
163
|
+
this.eslint = new javascript_1.Eslint(this, {
|
|
164
|
+
tsconfigPath: `./${this.tsconfigDev.fileName}`,
|
|
165
|
+
dirs: [this.srcdir],
|
|
166
|
+
devdirs: [this.testdir, 'build-tools'],
|
|
167
|
+
fileExtensions: ['.ts', '.tsx'],
|
|
168
|
+
...options.eslintOptions,
|
|
169
|
+
});
|
|
170
|
+
this.tsconfigEslint = this.tsconfigDev;
|
|
171
|
+
}
|
|
172
|
+
const tsver = options.typescriptVersion ? `@${options.typescriptVersion}` : '';
|
|
173
|
+
this.addDevDeps(`typescript${tsver}`,
|
|
174
|
+
// @types/node versions numbers match the node runtime versions' major.minor, however, new
|
|
175
|
+
// releases are only created when API changes are included in a node release... We might for
|
|
176
|
+
// example have dependencies that require `node >= 12.22`, but as 12.21 and 12.22 did not
|
|
177
|
+
// include API changes, `@types/node@12.20.x` is the "correct" version to use. As it is not
|
|
178
|
+
// possible to easily determine the correct version to use, we pick up the latest version.
|
|
179
|
+
//
|
|
180
|
+
// Additionally, we default to tracking the 12.x line, as the current earliest LTS release of
|
|
181
|
+
// node is 12.x, so this is what corresponds to the broadest compatibility with supported node
|
|
182
|
+
// runtimes.
|
|
183
|
+
`@types/node@^${semver.major((_0 = this.package.minNodeVersion) !== null && _0 !== void 0 ? _0 : '12.0.0')}`);
|
|
184
|
+
// generate sample code in `src` and `lib` if these directories are empty or non-existent.
|
|
185
|
+
if ((_1 = options.sampleCode) !== null && _1 !== void 0 ? _1 : true) {
|
|
186
|
+
new SampleCode(this);
|
|
187
|
+
}
|
|
188
|
+
if (this.docgen) {
|
|
189
|
+
new typescript_1.TypedocDocgen(this);
|
|
190
|
+
}
|
|
191
|
+
const projenrcTypeScript = (_2 = options.projenrcTs) !== null && _2 !== void 0 ? _2 : false;
|
|
192
|
+
if (projenrcTypeScript) {
|
|
193
|
+
new typescript_1.Projenrc(this, options.projenrcTsOptions);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
exports.TypeScriptProject = TypeScriptProject;
|
|
198
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
199
|
+
TypeScriptProject[_a] = { fqn: "projen.typescript.TypeScriptProject", version: "0.46.8" };
|
|
200
|
+
class SampleCode extends component_1.Component {
|
|
201
|
+
constructor(project) {
|
|
202
|
+
super(project);
|
|
203
|
+
const srcCode = [
|
|
204
|
+
'export class Hello {',
|
|
205
|
+
' public sayHello() {',
|
|
206
|
+
' return \'hello, world!\';',
|
|
207
|
+
' }',
|
|
208
|
+
'}',
|
|
209
|
+
].join('\n');
|
|
210
|
+
const testCode = [
|
|
211
|
+
"import { Hello } from '../src';",
|
|
212
|
+
'',
|
|
213
|
+
"test('hello', () => {",
|
|
214
|
+
" expect(new Hello().sayHello()).toBe('hello, world!');",
|
|
215
|
+
'});',
|
|
216
|
+
].join('\n');
|
|
217
|
+
new sample_file_1.SampleDir(project, project.srcdir, {
|
|
218
|
+
files: {
|
|
219
|
+
'index.ts': srcCode,
|
|
220
|
+
},
|
|
221
|
+
});
|
|
222
|
+
new sample_file_1.SampleDir(project, project.testdir, {
|
|
223
|
+
files: {
|
|
224
|
+
'hello.test.ts': testCode,
|
|
225
|
+
},
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* (experimental) TypeScript app.
|
|
231
|
+
*
|
|
232
|
+
* @experimental
|
|
233
|
+
* @pjid typescript-app
|
|
234
|
+
*/
|
|
235
|
+
class TypeScriptAppProject extends TypeScriptProject {
|
|
236
|
+
/**
|
|
237
|
+
* @experimental
|
|
238
|
+
*/
|
|
239
|
+
constructor(options) {
|
|
240
|
+
super({
|
|
241
|
+
allowLibraryDependencies: false,
|
|
242
|
+
releaseWorkflow: false,
|
|
243
|
+
entrypoint: '',
|
|
244
|
+
package: false,
|
|
245
|
+
...options,
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
exports.TypeScriptAppProject = TypeScriptAppProject;
|
|
250
|
+
_b = JSII_RTTI_SYMBOL_1;
|
|
251
|
+
TypeScriptAppProject[_b] = { fqn: "projen.typescript.TypeScriptAppProject", version: "0.46.8" };
|
|
252
|
+
/**
|
|
253
|
+
* @deprecated use `TypeScriptProject`
|
|
254
|
+
*/
|
|
255
|
+
class TypeScriptLibraryProject extends TypeScriptProject {
|
|
256
|
+
}
|
|
257
|
+
exports.TypeScriptLibraryProject = TypeScriptLibraryProject;
|
|
258
|
+
_c = JSII_RTTI_SYMBOL_1;
|
|
259
|
+
TypeScriptLibraryProject[_c] = { fqn: "projen.typescript.TypeScriptLibraryProject", version: "0.46.8" };
|
|
260
|
+
;
|
|
261
|
+
/**
|
|
262
|
+
* @internal
|
|
263
|
+
*/
|
|
264
|
+
function mergeTsconfigOptions(...options) {
|
|
265
|
+
const definedOptions = options.filter(Boolean);
|
|
266
|
+
return definedOptions.reduce((previous, current) => {
|
|
267
|
+
var _d, _e, _f, _g;
|
|
268
|
+
return ({
|
|
269
|
+
...previous,
|
|
270
|
+
...current,
|
|
271
|
+
include: [
|
|
272
|
+
...(_d = previous.include) !== null && _d !== void 0 ? _d : [],
|
|
273
|
+
...(_e = current.include) !== null && _e !== void 0 ? _e : [],
|
|
274
|
+
],
|
|
275
|
+
exclude: [
|
|
276
|
+
...(_f = previous.exclude) !== null && _f !== void 0 ? _f : [],
|
|
277
|
+
...(_g = current.exclude) !== null && _g !== void 0 ? _g : [],
|
|
278
|
+
],
|
|
279
|
+
compilerOptions: {
|
|
280
|
+
...previous.compilerOptions,
|
|
281
|
+
...current.compilerOptions,
|
|
282
|
+
},
|
|
283
|
+
});
|
|
284
|
+
}, { compilerOptions: {} });
|
|
285
|
+
}
|
|
286
|
+
exports.mergeTsconfigOptions = mergeTsconfigOptions;
|
|
287
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlc2NyaXB0L3R5cGVzY3JpcHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2QkFBNkI7QUFDN0IsaUNBQWlDO0FBQ2pDLHNDQUFrRDtBQUNsRCw0Q0FBeUM7QUFDekMsOENBQTZKO0FBQzdKLGdEQUEyQztBQUUzQywwQ0FBdUM7QUFDdkMsOENBQTRHOzs7Ozs7O0FBcUQ1RyxNQUFhLGlCQUFrQixTQUFRLHdCQUFXOzs7O0lBc0JoRCxZQUFZLE9BQWlDOztRQUMzQyxLQUFLLENBQUM7WUFDSixHQUFHLE9BQU87WUFFVixnREFBZ0Q7WUFDaEQsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVU7WUFFM0QsV0FBVyxFQUFFO2dCQUNYLEdBQUcsT0FBTyxDQUFDLFdBQVc7Z0JBQ3RCLFVBQVUsRUFBRTtvQkFDVixTQUFHLE9BQU8sQ0FBQyxXQUFXLDBDQUFFLFVBQVU7b0JBQ2xDLFNBQVMsRUFBRSxFQUFFO2lCQUNkO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxTQUFHLE9BQU8sQ0FBQyxNQUFNLG1DQUFJLEtBQUssQ0FBQztRQUN0QyxJQUFJLENBQUMsTUFBTSxTQUFHLE9BQU8sQ0FBQyxNQUFNLG1DQUFJLEtBQUssQ0FBQztRQUV0QyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsU0FBRyxPQUFPLENBQUMsYUFBYSxtQ0FBSSxPQUFPLENBQUM7UUFFdEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtZQUNyQyxXQUFXLEVBQUUsbUNBQW1DO1lBQ2hELElBQUksRUFBRSxnQkFBZ0I7U0FDdkIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE9BQU8sU0FBRyxPQUFPLENBQUMsT0FBTyxtQ0FBSSxNQUFNLENBQUM7UUFDekMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztRQUM1QyxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRTtRQUU3Qyw0RUFBNEU7UUFDNUUsMkRBQTJEO1FBQzNELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUc1RSxJQUFJLE9BQU8sQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxFQUFFLEVBQUU7WUFDckQsTUFBTSxlQUFlLFNBQUcsT0FBTyxDQUFDLGVBQWUsbUNBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQztZQUNqSyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUM7U0FDakQ7UUFFRCxNQUFNLHNCQUFzQixHQUE4QjtZQUN4RCxZQUFZLEVBQUUsSUFBSTtZQUNsQixXQUFXLEVBQUUsSUFBSTtZQUNqQixlQUFlLEVBQUUsSUFBSTtZQUNyQixzQkFBc0IsRUFBRSxJQUFJO1lBQzVCLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLGFBQWEsRUFBRSxJQUFJO1lBQ25CLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQUNmLE1BQU0sRUFBRSxVQUFVO1lBQ2xCLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLDBCQUEwQixFQUFFLElBQUk7WUFDaEMsYUFBYSxFQUFFLElBQUk7WUFDbkIsaUJBQWlCLEVBQUUsSUFBSTtZQUN2QixjQUFjLEVBQUUsSUFBSTtZQUNwQixjQUFjLEVBQUUsSUFBSTtZQUNwQixrQkFBa0IsRUFBRSxJQUFJO1lBQ3hCLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsTUFBTSxFQUFFLElBQUk7WUFDWixnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLDRCQUE0QixFQUFFLElBQUk7WUFDbEMsYUFBYSxFQUFFLElBQUk7WUFDbkIsTUFBTSxFQUFFLFFBQVE7U0FDakIsQ0FBQztRQUVGLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFO1lBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSw2QkFBZ0IsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLENBQUM7Z0JBQzlELE9BQU8sRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sVUFBVSxDQUFDO2dCQUNuQyx5RUFBeUU7Z0JBQ3pFLGVBQWUsRUFBRTtvQkFDZixPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU07b0JBQ3BCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtvQkFDbkIsR0FBRyxzQkFBc0I7aUJBQzFCO2FBQ0YsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztTQUN2QjtRQUVELE1BQU0sZUFBZSxTQUFHLE9BQU8sQ0FBQyxlQUFlLG1DQUFJLG1CQUFtQixDQUFDO1FBQ3ZFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSw2QkFBZ0IsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLENBQUM7WUFDakUsUUFBUSxFQUFFLGVBQWU7WUFDekIsT0FBTyxFQUFFO2dCQUNQLGtCQUFTO2dCQUNULEdBQUcsSUFBSSxDQUFDLE1BQU0sVUFBVTtnQkFDeEIsR0FBRyxJQUFJLENBQUMsT0FBTyxVQUFVO2FBQzFCO1lBQ0QsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDO1lBQ3pCLGVBQWUsRUFBRSxzQkFBc0I7U0FDeEMsRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBRTNDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDM0MsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUU7UUFFNUMsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDL0IsMENBQTBDO1lBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7U0FDM0M7YUFBTTtZQUNMLGtEQUFrRDtZQUNsRCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLFVBQVUsQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sWUFBWSxDQUFDLENBQUM7U0FDckQ7UUFFRCxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRTtRQUU1QyxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLFVBQVUsRUFBRTtRQUNuRCxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLFlBQVksRUFBRTtRQUVyRCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqQyxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQywwRkFBMEY7UUFFM0gsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxPQUFPLENBQUMsZ0JBQWdCLEVBQUU7UUFDMUMsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxPQUFPLENBQUMsV0FBVyxFQUFFO1FBQ3JDLE1BQUEsSUFBSSxDQUFDLFNBQVMsMENBQUUsT0FBTyxDQUFDLFdBQVcsRUFBRTtRQUNyQyxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUU7UUFDbkMsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxPQUFPLENBQUMsZUFBZSxFQUFFO1FBQ3pDLE1BQUEsSUFBSSxDQUFDLFNBQVMsMENBQUUsT0FBTyxDQUFDLHNCQUFzQixFQUFFO1FBRWhELHFGQUFxRjtRQUNyRiwwQ0FBMEM7UUFDMUMsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLGFBQWEsRUFBRTtZQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBRS9CLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQy9ELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDdEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUU3QixNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLE9BQU8sR0FBRyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sT0FBTyw4QkFBOEIsQ0FBQyxDQUFDO1lBQ3BFLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUVwRCxNQUFNLG1CQUFtQixHQUFHLENBQUMsSUFBWSxFQUFFLEdBQVcsRUFBRSxFQUFFO2dCQUN4RCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDaEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsZUFBZSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxHQUFHLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQztZQUMxRyxDQUFDLENBQUM7WUFFRixNQUFNLGVBQWUsR0FBRyxDQUFDLElBQVksRUFBRSxHQUFXLEVBQUUsRUFBRTtnQkFDcEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztnQkFDMUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDdkUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNsQyxDQUFDLENBQUM7WUFFRixNQUFNLFFBQVEsR0FBRyxJQUFJLG1CQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLG1CQUFVLEVBQUUsMkJBQTJCLENBQUMsQ0FBQyxDQUFDO1lBQzlGLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxtQkFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7WUFDakQsUUFBUSxDQUFDLE9BQU8sQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1lBQ2xELFFBQVEsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLE9BQU8sSUFBSSxDQUFDLENBQUM7WUFDbEQsUUFBUSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsT0FBTyxJQUFJLENBQUMsQ0FBQztZQUNqRCxRQUFRLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDdkMsUUFBUSxDQUFDLE9BQU8sQ0FBQywwQkFBMEIsbUJBQW1CLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzlFLFFBQVEsQ0FBQyxPQUFPLENBQUMsc0JBQXNCLGVBQWUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDdEUsUUFBUSxDQUFDLE9BQU8sQ0FBQyx3RkFBd0YsQ0FBQyxDQUFDO1lBQzNHLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ3JEO1FBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLDRCQUE0QixDQUFDLENBQUM7WUFDckQsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsOEJBQThCLENBQUMsQ0FBQztZQUV2RCwwRUFBMEU7WUFDMUUsNENBQTRDO1lBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ2xEO1FBRUQsVUFBSSxPQUFPLENBQUMsTUFBTSxtQ0FBSSxJQUFJLEVBQUU7WUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLG1CQUFNLENBQUMsSUFBSSxFQUFFO2dCQUM3QixZQUFZLEVBQUUsS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRTtnQkFDOUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztnQkFDbkIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUM7Z0JBQ3RDLGNBQWMsRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUM7Z0JBQy9CLEdBQUcsT0FBTyxDQUFDLGFBQWE7YUFDekIsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQ3hDO1FBRUQsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFL0UsSUFBSSxDQUFDLFVBQVUsQ0FDYixhQUFhLEtBQUssRUFBRTtRQUNwQiwwRkFBMEY7UUFDMUYsNEZBQTRGO1FBQzVGLHlGQUF5RjtRQUN6RiwyRkFBMkY7UUFDM0YsMEZBQTBGO1FBQzFGLEVBQUU7UUFDRiw2RkFBNkY7UUFDN0YsOEZBQThGO1FBQzlGLFlBQVk7UUFDWixnQkFBZ0IsTUFBTSxDQUFDLEtBQUssT0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsbUNBQUksUUFBUSxDQUFDLEVBQUUsQ0FDeEUsQ0FBQztRQUVGLDBGQUEwRjtRQUMxRixVQUFJLE9BQU8sQ0FBQyxVQUFVLG1DQUFJLElBQUksRUFBRTtZQUM5QixJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN0QjtRQUVELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLElBQUksMEJBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN6QjtRQUVELE1BQU0sa0JBQWtCLFNBQUcsT0FBTyxDQUFDLFVBQVUsbUNBQUksS0FBSyxDQUFDO1FBQ3ZELElBQUksa0JBQWtCLEVBQUU7WUFDdEIsSUFBSSxxQkFBVSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztTQUNqRDtJQUNILENBQUM7O0FBcE9ILDhDQXFPQzs7O0FBRUQsTUFBTSxVQUFXLFNBQVEscUJBQVM7SUFDaEMsWUFBWSxPQUEwQjtRQUNwQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixNQUFNLE9BQU8sR0FBRztZQUNkLHNCQUFzQjtZQUN0Qix1QkFBdUI7WUFDdkIsK0JBQStCO1lBQy9CLEtBQUs7WUFDTCxHQUFHO1NBQ0osQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFYixNQUFNLFFBQVEsR0FBRztZQUNmLGlDQUFpQztZQUNqQyxFQUFFO1lBQ0YsdUJBQXVCO1lBQ3ZCLHlEQUF5RDtZQUN6RCxLQUFLO1NBQ04sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFYixJQUFJLHVCQUFTLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDckMsS0FBSyxFQUFFO2dCQUNMLFVBQVUsRUFBRSxPQUFPO2FBQ3BCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSx1QkFBUyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFO1lBQ3RDLEtBQUssRUFBRTtnQkFDTCxlQUFlLEVBQUUsUUFBUTthQUMxQjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjs7Ozs7OztBQUdELE1BQWEsb0JBQXFCLFNBQVEsaUJBQWlCOzs7O0lBQ3pELFlBQVksT0FBaUM7UUFDM0MsS0FBSyxDQUFDO1lBQ0osd0JBQXdCLEVBQUUsS0FBSztZQUMvQixlQUFlLEVBQUUsS0FBSztZQUN0QixVQUFVLEVBQUUsRUFBRTtZQUNkLE9BQU8sRUFBRSxLQUFLO1lBQ2QsR0FBRyxPQUFPO1NBQ1gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFUSCxvREFVQzs7Ozs7O0FBR0QsTUFBYSx3QkFBeUIsU0FBUSxpQkFBaUI7O0FBQS9ELDREQUNDOzs7QUFBQSxDQUFDO0FBTUY7O0dBRUc7QUFDSCxTQUFnQixvQkFBb0IsQ0FBQyxHQUFHLE9BQWdEO0lBQ3RGLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUE4QixDQUFDO0lBQzVFLE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBMEIsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUU7O1FBQUMsT0FBQSxDQUFDO1lBQzVFLEdBQUcsUUFBUTtZQUNYLEdBQUcsT0FBTztZQUNWLE9BQU8sRUFBRTtnQkFDUCxTQUFHLFFBQVEsQ0FBQyxPQUFPLG1DQUFJLEVBQUU7Z0JBQ3pCLFNBQUcsT0FBTyxDQUFDLE9BQU8sbUNBQUksRUFBRTthQUN6QjtZQUNELE9BQU8sRUFBRTtnQkFDUCxTQUFHLFFBQVEsQ0FBQyxPQUFPLG1DQUFJLEVBQUU7Z0JBQ3pCLFNBQUcsT0FBTyxDQUFDLE9BQU8sbUNBQUksRUFBRTthQUN6QjtZQUNELGVBQWUsRUFBRTtnQkFDZixHQUFHLFFBQVEsQ0FBQyxlQUFlO2dCQUMzQixHQUFHLE9BQU8sQ0FBQyxlQUFlO2FBQzNCO1NBQ0YsQ0FBQyxDQUFBO0tBQUEsRUFBRSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQy9CLENBQUM7QUFsQkQsb0RBa0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIHNlbXZlciBmcm9tICdzZW12ZXInO1xuaW1wb3J0IHsgUFJPSkVOX0RJUiwgUFJPSkVOX1JDIH0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBFc2xpbnQsIEVzbGludE9wdGlvbnMsIE5vZGVQcm9qZWN0LCBOb2RlUHJvamVjdE9wdGlvbnMsIFR5cGVTY3JpcHRDb21waWxlck9wdGlvbnMsIFR5cGVzY3JpcHRDb25maWcsIFR5cGVzY3JpcHRDb25maWdPcHRpb25zIH0gZnJvbSAnLi4vamF2YXNjcmlwdCc7XG5pbXBvcnQgeyBTYW1wbGVEaXIgfSBmcm9tICcuLi9zYW1wbGUtZmlsZSc7XG5pbXBvcnQgeyBUYXNrIH0gZnJvbSAnLi4vdGFzayc7XG5pbXBvcnQgeyBUZXh0RmlsZSB9IGZyb20gJy4uL3RleHRmaWxlJztcbmltcG9ydCB7IFByb2plbnJjIGFzIFByb2plbnJjVHMsIFByb2plbnJjT3B0aW9ucyBhcyBQcm9qZW5yY1RzT3B0aW9ucywgVHlwZWRvY0RvY2dlbiB9IGZyb20gJy4uL3R5cGVzY3JpcHQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucyBleHRlbmRzIE5vZGVQcm9qZWN0T3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBsaWJkaXI/OiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHNyY2Rpcj86IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgdGVzdGRpcj86IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGVzbGludD86IGJvb2xlYW47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBlc2xpbnRPcHRpb25zPzogRXNsaW50T3B0aW9ucztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSB0eXBlc2NyaXB0VmVyc2lvbj86IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZG9jZ2VuPzogYm9vbGVhbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGRvY3NEaXJlY3Rvcnk/OiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgdHNjb25maWc/OiBUeXBlc2NyaXB0Q29uZmlnT3B0aW9ucztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSB0c2NvbmZpZ0Rldj86IFR5cGVzY3JpcHRDb25maWdPcHRpb25zO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHRzY29uZmlnRGV2RmlsZT86IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZGlzYWJsZVRzY29uZmlnPzogYm9vbGVhbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHNhbXBsZUNvZGU/OiBib29sZWFuO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZW50cnlwb2ludFR5cGVzPzogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHByb2plbnJjVHM/OiBib29sZWFuO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBwcm9qZW5yY1RzT3B0aW9ucz86IFByb2plbnJjVHNPcHRpb25zO1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgVHlwZVNjcmlwdFByb2plY3QgZXh0ZW5kcyBOb2RlUHJvamVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBkb2NnZW4/OiBib29sZWFuO1xuICBwdWJsaWMgcmVhZG9ubHkgZG9jc0RpcmVjdG9yeTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgZXNsaW50PzogRXNsaW50O1xuICBwdWJsaWMgcmVhZG9ubHkgdHNjb25maWdFc2xpbnQ/OiBUeXBlc2NyaXB0Q29uZmlnO1xuICBwdWJsaWMgcmVhZG9ubHkgdHNjb25maWc/OiBUeXBlc2NyaXB0Q29uZmlnO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSB0c2NvbmZpZ0RldjogVHlwZXNjcmlwdENvbmZpZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBzcmNkaXI6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBsaWJkaXI6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IHRlc3RkaXI6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgd2F0Y2hUYXNrOiBUYXNrO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFR5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucykge1xuICAgIHN1cGVyKHtcbiAgICAgIC4uLm9wdGlvbnMsXG5cbiAgICAgIC8vIGRpc2FibGUgLnByb2plbnJjLmpzIGlmIHR5cGVzY3JpcHQgaXMgZW5hYmxlZFxuICAgICAgcHJvamVucmNKczogb3B0aW9ucy5wcm9qZW5yY1RzID8gZmFsc2UgOiBvcHRpb25zLnByb2plbnJjSnMsXG5cbiAgICAgIGplc3RPcHRpb25zOiB7XG4gICAgICAgIC4uLm9wdGlvbnMuamVzdE9wdGlvbnMsXG4gICAgICAgIGplc3RDb25maWc6IHtcbiAgICAgICAgICAuLi5vcHRpb25zLmplc3RPcHRpb25zPy5qZXN0Q29uZmlnLFxuICAgICAgICAgIHRlc3RNYXRjaDogW10sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5zcmNkaXIgPSBvcHRpb25zLnNyY2RpciA/PyAnc3JjJztcbiAgICB0aGlzLmxpYmRpciA9IG9wdGlvbnMubGliZGlyID8/ICdsaWInO1xuXG4gICAgdGhpcy5kb2NnZW4gPSBvcHRpb25zLmRvY2dlbjtcbiAgICB0aGlzLmRvY3NEaXJlY3RvcnkgPSBvcHRpb25zLmRvY3NEaXJlY3RvcnkgPz8gJ2RvY3MvJztcblxuICAgIHRoaXMuY29tcGlsZVRhc2suZXhlYygndHNjIC0tYnVpbGQnKTtcblxuICAgIHRoaXMud2F0Y2hUYXNrID0gdGhpcy5hZGRUYXNrKCd3YXRjaCcsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnV2F0Y2ggJiBjb21waWxlIGluIHRoZSBiYWNrZ3JvdW5kJyxcbiAgICAgIGV4ZWM6ICd0c2MgLS1idWlsZCAtdycsXG4gICAgfSk7XG5cbiAgICB0aGlzLnRlc3RkaXIgPSBvcHRpb25zLnRlc3RkaXIgPz8gJ3Rlc3QnO1xuICAgIHRoaXMuZ2l0aWdub3JlLmluY2x1ZGUoYC8ke3RoaXMudGVzdGRpcn0vYCk7XG4gICAgdGhpcy5ucG1pZ25vcmU/LmV4Y2x1ZGUoYC8ke3RoaXMudGVzdGRpcn0vYCk7XG5cbiAgICAvLyBpZiB0aGUgdGVzdCBkaXJlY3RvcnkgaXMgdW5kZXIgYHNyYy9gLCB0aGVuIHdlIHdpbGwgcnVuIG91ciB0ZXN0cyBhZ2FpbnN0XG4gICAgLy8gdGhlIGphdmFzY3JpcHQgZmlsZXMgYW5kIG5vdCBsZXQgamVzdCBjb21waWxlIGl0IGZvciB1cy5cbiAgICBjb25zdCBjb21waWxlZFRlc3RzID0gdGhpcy50ZXN0ZGlyLnN0YXJ0c1dpdGgodGhpcy5zcmNkaXIgKyBwYXRoLnBvc2l4LnNlcCk7XG5cblxuICAgIGlmIChvcHRpb25zLmVudHJ5cG9pbnRUeXBlcyB8fCB0aGlzLmVudHJ5cG9pbnQgIT09ICcnKSB7XG4gICAgICBjb25zdCBlbnRyeXBvaW50VHlwZXMgPSBvcHRpb25zLmVudHJ5cG9pbnRUeXBlcyA/PyBgJHtwYXRoLmpvaW4ocGF0aC5kaXJuYW1lKHRoaXMuZW50cnlwb2ludCksIHBhdGguYmFzZW5hbWUodGhpcy5lbnRyeXBvaW50LCAnLmpzJykpLnJlcGxhY2UoL1xcXFwvZywgJy8nKX0uZC50c2A7XG4gICAgICB0aGlzLnBhY2thZ2UuYWRkRmllbGQoJ3R5cGVzJywgZW50cnlwb2ludFR5cGVzKTtcbiAgICB9XG5cbiAgICBjb25zdCBjb21waWxlck9wdGlvbkRlZmF1bHRzOiBUeXBlU2NyaXB0Q29tcGlsZXJPcHRpb25zID0ge1xuICAgICAgYWx3YXlzU3RyaWN0OiB0cnVlLFxuICAgICAgZGVjbGFyYXRpb246IHRydWUsXG4gICAgICBlc01vZHVsZUludGVyb3A6IHRydWUsXG4gICAgICBleHBlcmltZW50YWxEZWNvcmF0b3JzOiB0cnVlLFxuICAgICAgaW5saW5lU291cmNlTWFwOiB0cnVlLFxuICAgICAgaW5saW5lU291cmNlczogdHJ1ZSxcbiAgICAgIGxpYjogWydlczIwMTknXSxcbiAgICAgIG1vZHVsZTogJ0NvbW1vbkpTJyxcbiAgICAgIG5vRW1pdE9uRXJyb3I6IGZhbHNlLFxuICAgICAgbm9GYWxsdGhyb3VnaENhc2VzSW5Td2l0Y2g6IHRydWUsXG4gICAgICBub0ltcGxpY2l0QW55OiB0cnVlLFxuICAgICAgbm9JbXBsaWNpdFJldHVybnM6IHRydWUsXG4gICAgICBub0ltcGxpY2l0VGhpczogdHJ1ZSxcbiAgICAgIG5vVW51c2VkTG9jYWxzOiB0cnVlLFxuICAgICAgbm9VbnVzZWRQYXJhbWV0ZXJzOiB0cnVlLFxuICAgICAgcmVzb2x2ZUpzb25Nb2R1bGU6IHRydWUsXG4gICAgICBzdHJpY3Q6IHRydWUsXG4gICAgICBzdHJpY3ROdWxsQ2hlY2tzOiB0cnVlLFxuICAgICAgc3RyaWN0UHJvcGVydHlJbml0aWFsaXphdGlvbjogdHJ1ZSxcbiAgICAgIHN0cmlwSW50ZXJuYWw6IHRydWUsXG4gICAgICB0YXJnZXQ6ICdFUzIwMTknLFxuICAgIH07XG5cbiAgICBpZiAoIW9wdGlvbnMuZGlzYWJsZVRzY29uZmlnKSB7XG4gICAgICB0aGlzLnRzY29uZmlnID0gbmV3IFR5cGVzY3JpcHRDb25maWcodGhpcywgbWVyZ2VUc2NvbmZpZ09wdGlvbnMoe1xuICAgICAgICBpbmNsdWRlOiBbYCR7dGhpcy5zcmNkaXJ9LyoqLyoudHNgXSxcbiAgICAgICAgLy8gZXhjbHVkZTogWydub2RlX21vZHVsZXMnXSwgLy8gVE9ETzogc2hvdWxkbid0IHdlIGV4Y2x1ZGUgbm9kZV9tb2R1bGVzP1xuICAgICAgICBjb21waWxlck9wdGlvbnM6IHtcbiAgICAgICAgICByb290RGlyOiB0aGlzLnNyY2RpcixcbiAgICAgICAgICBvdXREaXI6IHRoaXMubGliZGlyLFxuICAgICAgICAgIC4uLmNvbXBpbGVyT3B0aW9uRGVmYXVsdHMsXG4gICAgICAgIH0sXG4gICAgICB9LCBvcHRpb25zLnRzY29uZmlnKSk7XG4gICAgfVxuXG4gICAgY29uc3QgdHNjb25maWdEZXZGaWxlID0gb3B0aW9ucy50c2NvbmZpZ0RldkZpbGUgPz8gJ3RzY29uZmlnLmRldi5qc29uJztcbiAgICB0aGlzLnRzY29uZmlnRGV2ID0gbmV3IFR5cGVzY3JpcHRDb25maWcodGhpcywgbWVyZ2VUc2NvbmZpZ09wdGlvbnMoe1xuICAgICAgZmlsZU5hbWU6IHRzY29uZmlnRGV2RmlsZSxcbiAgICAgIGluY2x1ZGU6IFtcbiAgICAgICAgUFJPSkVOX1JDLFxuICAgICAgICBgJHt0aGlzLnNyY2Rpcn0vKiovKi50c2AsXG4gICAgICAgIGAke3RoaXMudGVzdGRpcn0vKiovKi50c2AsXG4gICAgICBdLFxuICAgICAgZXhjbHVkZTogWydub2RlX21vZHVsZXMnXSxcbiAgICAgIGNvbXBpbGVyT3B0aW9uczogY29tcGlsZXJPcHRpb25EZWZhdWx0cyxcbiAgICB9LCBvcHRpb25zLnRzY29uZmlnLCBvcHRpb25zLnRzY29uZmlnRGV2KSk7XG5cbiAgICB0aGlzLmdpdGlnbm9yZS5pbmNsdWRlKGAvJHt0aGlzLnNyY2Rpcn0vYCk7XG4gICAgdGhpcy5ucG1pZ25vcmU/LmV4Y2x1ZGUoYC8ke3RoaXMuc3JjZGlyfS9gKTtcblxuICAgIGlmICh0aGlzLnNyY2RpciAhPT0gdGhpcy5saWJkaXIpIHtcbiAgICAgIC8vIHNlcGFyYXRlZCwgY2FuIGlnbm9yZSB0aGUgZW50aXJlIGxpYmRpclxuICAgICAgdGhpcy5naXRpZ25vcmUuZXhjbHVkZShgLyR7dGhpcy5saWJkaXJ9YCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGNvbGxvY2F0ZWQsIGNhbiBvbmx5IGlnbm9yZSB0aGUgY29tcGlsZWQgb3V0cHV0XG4gICAgICB0aGlzLmdpdGlnbm9yZS5leGNsdWRlKGAvJHt0aGlzLmxpYmRpcn0vKiovKi5qc2ApO1xuICAgICAgdGhpcy5naXRpZ25vcmUuZXhjbHVkZShgLyR7dGhpcy5saWJkaXJ9LyoqLyouZC50c2ApO1xuICAgIH1cblxuICAgIHRoaXMubnBtaWdub3JlPy5pbmNsdWRlKGAvJHt0aGlzLmxpYmRpcn0vYCk7XG5cbiAgICB0aGlzLm5wbWlnbm9yZT8uaW5jbHVkZShgLyR7dGhpcy5saWJkaXJ9LyoqLyouanNgKTtcbiAgICB0aGlzLm5wbWlnbm9yZT8uaW5jbHVkZShgLyR7dGhpcy5saWJkaXJ9LyoqLyouZC50c2ApO1xuXG4gICAgdGhpcy5naXRpZ25vcmUuZXhjbHVkZSgnL2Rpc3QvJyk7XG4gICAgdGhpcy5ucG1pZ25vcmU/LmV4Y2x1ZGUoJ2Rpc3QnKTsgLy8ganNpaS1wYWNtYWsgZXhwZWN0cyB0aGlzIHRvIGJlIFwiZGlzdFwiIGFuZCBub3QgXCIvZGlzdFwiLiBvdGhlcndpc2UgaXQgd2lsbCB0YW1wZXIgd2l0aCBpdFxuXG4gICAgdGhpcy5ucG1pZ25vcmU/LmV4Y2x1ZGUoJy90c2NvbmZpZy5qc29uJyk7XG4gICAgdGhpcy5ucG1pZ25vcmU/LmV4Y2x1ZGUoJy8uZ2l0aHViLycpO1xuICAgIHRoaXMubnBtaWdub3JlPy5leGNsdWRlKCcvLnZzY29kZS8nKTtcbiAgICB0aGlzLm5wbWlnbm9yZT8uZXhjbHVkZSgnLy5pZGVhLycpO1xuICAgIHRoaXMubnBtaWdub3JlPy5leGNsdWRlKCcvLnByb2plbnJjLmpzJyk7XG4gICAgdGhpcy5ucG1pZ25vcmU/LmV4Y2x1ZGUoJ3RzY29uZmlnLnRzYnVpbGRpbmZvJyk7XG5cbiAgICAvLyB0ZXN0cyBhcmUgY29tcGlsZWQgdG8gYGxpYi9URVNURElSYCwgc28gd2UgZG9uJ3QgbmVlZCBqZXN0IHRvIGNvbXBpbGUgdGhlbSBmb3IgdXMuXG4gICAgLy8ganVzdCBydW4gdGhlbSBkaXJlY3RseSBmcm9tIGphdmFzY3JpcHQuXG4gICAgaWYgKHRoaXMuamVzdCAmJiBjb21waWxlZFRlc3RzKSB7XG4gICAgICB0aGlzLmFkZERldkRlcHMoJ0B0eXBlcy9qZXN0Jyk7XG5cbiAgICAgIGNvbnN0IHRlc3RvdXQgPSBwYXRoLnBvc2l4LnJlbGF0aXZlKHRoaXMuc3JjZGlyLCB0aGlzLnRlc3RkaXIpO1xuICAgICAgY29uc3QgbGlidGVzdCA9IHBhdGgucG9zaXguam9pbih0aGlzLmxpYmRpciwgdGVzdG91dCk7XG4gICAgICBjb25zdCBzcmN0ZXN0ID0gdGhpcy50ZXN0ZGlyO1xuXG4gICAgICB0aGlzLm5wbWlnbm9yZT8uZXhjbHVkZShgLyR7bGlidGVzdH0vYCk7XG4gICAgICB0aGlzLmplc3QuYWRkVGVzdE1hdGNoKGAqKi8ke2xpYnRlc3R9LyoqLz8oKi4pKyhzcGVjfHRlc3QpLmpzPyh4KWApO1xuICAgICAgdGhpcy5qZXN0LmFkZFdhdGNoSWdub3JlUGF0dGVybihgLyR7dGhpcy5zcmNkaXJ9L2ApO1xuXG4gICAgICBjb25zdCByZXNvbHZlU25hcHNob3RQYXRoID0gKHRlc3Q6IHN0cmluZywgZXh0OiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgZnVsbHBhdGggPSB0ZXN0LnJlcGxhY2UobGlidGVzdCwgc3JjdGVzdCk7XG4gICAgICAgIHJldHVybiBwYXRoLmpvaW4ocGF0aC5kaXJuYW1lKGZ1bGxwYXRoKSwgJ19fc25hcHNob3RzX18nLCBwYXRoLmJhc2VuYW1lKGZ1bGxwYXRoLCAnLmpzJykgKyAnLnRzJyArIGV4dCk7XG4gICAgICB9O1xuXG4gICAgICBjb25zdCByZXNvbHZlVGVzdFBhdGggPSAoc25hcDogc3RyaW5nLCBleHQ6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCBmaWxlbmFtZSA9IHBhdGguYmFzZW5hbWUoc25hcCwgJy50cycgKyBleHQpICsgJy5qcyc7XG4gICAgICAgIGNvbnN0IGRpciA9IHBhdGguZGlybmFtZShwYXRoLmRpcm5hbWUoc25hcCkpLnJlcGxhY2Uoc3JjdGVzdCwgbGlidGVzdCk7XG4gICAgICAgIHJldHVybiBwYXRoLmpvaW4oZGlyLCBmaWxlbmFtZSk7XG4gICAgICB9O1xuXG4gICAgICBjb25zdCByZXNvbHZlciA9IG5ldyBUZXh0RmlsZSh0aGlzLCBwYXRoLnBvc2l4LmpvaW4oUFJPSkVOX0RJUiwgJ2plc3Qtc25hcHNob3QtcmVzb2x2ZXIuanMnKSk7XG4gICAgICByZXNvbHZlci5hZGRMaW5lKGAvLyAke1RleHRGaWxlLlBST0pFTl9NQVJLRVJ9YCk7XG4gICAgICByZXNvbHZlci5hZGRMaW5lKCdjb25zdCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7Jyk7XG4gICAgICByZXNvbHZlci5hZGRMaW5lKGBjb25zdCBsaWJ0ZXN0ID0gXCIke2xpYnRlc3R9XCI7YCk7XG4gICAgICByZXNvbHZlci5hZGRMaW5lKGBjb25zdCBzcmN0ZXN0PSBcIiR7c3JjdGVzdH1cIjtgKTtcbiAgICAgIHJlc29sdmVyLmFkZExpbmUoJ21vZHVsZS5leHBvcnRzID0geycpO1xuICAgICAgcmVzb2x2ZXIuYWRkTGluZShgICByZXNvbHZlU25hcHNob3RQYXRoOiAke3Jlc29sdmVTbmFwc2hvdFBhdGgudG9TdHJpbmcoKX0sYCk7XG4gICAgICByZXNvbHZlci5hZGRMaW5lKGAgIHJlc29sdmVUZXN0UGF0aDogJHtyZXNvbHZlVGVzdFBhdGgudG9TdHJpbmcoKX0sYCk7XG4gICAgICByZXNvbHZlci5hZGRMaW5lKCcgIHRlc3RQYXRoRm9yQ29uc2lzdGVuY3lDaGVjazogcGF0aC5qb2luKFxcJ3NvbWVcXCcsIFxcJ19fdGVzdHNfX1xcJywgXFwnZXhhbXBsZS50ZXN0LmpzXFwnKScpO1xuICAgICAgcmVzb2x2ZXIuYWRkTGluZSgnfTsnKTtcblxuICAgICAgdGhpcy5qZXN0LmFkZFNuYXBzaG90UmVzb2x2ZXIoYC4vJHtyZXNvbHZlci5wYXRofWApO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmplc3QgJiYgIWNvbXBpbGVkVGVzdHMpIHtcbiAgICAgIHRoaXMuamVzdC5hZGRUZXN0TWF0Y2goJyoqXFwvX190ZXN0c19fLyoqXFwvKi50cz8oeCknKTtcbiAgICAgIHRoaXMuamVzdC5hZGRUZXN0TWF0Y2goJyoqXFwvPygqLikrKHNwZWN8dGVzdCkudHM/KHgpJyk7XG5cbiAgICAgIC8vIGNyZWF0ZSBhIHRzY29uZmlnIGZvciBqZXN0IHRoYXQgZG9lcyBOT1QgaW5jbHVkZSBvdXREaXIgYW5kIHJvb3REaXIgYW5kXG4gICAgICAvLyBpbmNsdWRlcyBib3RoIFwic3JjXCIgYW5kIFwidGVzdFwiIGFzIGlucHV0cy5cbiAgICAgIHRoaXMuamVzdC5hZGRUeXBlU2NyaXB0U3VwcG9ydCh0aGlzLnRzY29uZmlnRGV2KTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5lc2xpbnQgPz8gdHJ1ZSkge1xuICAgICAgdGhpcy5lc2xpbnQgPSBuZXcgRXNsaW50KHRoaXMsIHtcbiAgICAgICAgdHNjb25maWdQYXRoOiBgLi8ke3RoaXMudHNjb25maWdEZXYuZmlsZU5hbWV9YCxcbiAgICAgICAgZGlyczogW3RoaXMuc3JjZGlyXSxcbiAgICAgICAgZGV2ZGlyczogW3RoaXMudGVzdGRpciwgJ2J1aWxkLXRvb2xzJ10sXG4gICAgICAgIGZpbGVFeHRlbnNpb25zOiBbJy50cycsICcudHN4J10sXG4gICAgICAgIC4uLm9wdGlvbnMuZXNsaW50T3B0aW9ucyxcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnRzY29uZmlnRXNsaW50ID0gdGhpcy50c2NvbmZpZ0RldjtcbiAgICB9XG5cbiAgICBjb25zdCB0c3ZlciA9IG9wdGlvbnMudHlwZXNjcmlwdFZlcnNpb24gPyBgQCR7b3B0aW9ucy50eXBlc2NyaXB0VmVyc2lvbn1gIDogJyc7XG5cbiAgICB0aGlzLmFkZERldkRlcHMoXG4gICAgICBgdHlwZXNjcmlwdCR7dHN2ZXJ9YCxcbiAgICAgIC8vIEB0eXBlcy9ub2RlIHZlcnNpb25zIG51bWJlcnMgbWF0Y2ggdGhlIG5vZGUgcnVudGltZSB2ZXJzaW9ucycgbWFqb3IubWlub3IsIGhvd2V2ZXIsIG5ld1xuICAgICAgLy8gcmVsZWFzZXMgYXJlIG9ubHkgY3JlYXRlZCB3aGVuIEFQSSBjaGFuZ2VzIGFyZSBpbmNsdWRlZCBpbiBhIG5vZGUgcmVsZWFzZS4uLiBXZSBtaWdodCBmb3JcbiAgICAgIC8vIGV4YW1wbGUgaGF2ZSBkZXBlbmRlbmNpZXMgdGhhdCByZXF1aXJlIGBub2RlID49IDEyLjIyYCwgYnV0IGFzIDEyLjIxIGFuZCAxMi4yMiBkaWQgbm90XG4gICAgICAvLyBpbmNsdWRlIEFQSSBjaGFuZ2VzLCBgQHR5cGVzL25vZGVAMTIuMjAueGAgaXMgdGhlIFwiY29ycmVjdFwiIHZlcnNpb24gdG8gdXNlLiBBcyBpdCBpcyBub3RcbiAgICAgIC8vIHBvc3NpYmxlIHRvIGVhc2lseSBkZXRlcm1pbmUgdGhlIGNvcnJlY3QgdmVyc2lvbiB0byB1c2UsIHdlIHBpY2sgdXAgdGhlIGxhdGVzdCB2ZXJzaW9uLlxuICAgICAgLy9cbiAgICAgIC8vIEFkZGl0aW9uYWxseSwgd2UgZGVmYXVsdCB0byB0cmFja2luZyB0aGUgMTIueCBsaW5lLCBhcyB0aGUgY3VycmVudCBlYXJsaWVzdCBMVFMgcmVsZWFzZSBvZlxuICAgICAgLy8gbm9kZSBpcyAxMi54LCBzbyB0aGlzIGlzIHdoYXQgY29ycmVzcG9uZHMgdG8gdGhlIGJyb2FkZXN0IGNvbXBhdGliaWxpdHkgd2l0aCBzdXBwb3J0ZWQgbm9kZVxuICAgICAgLy8gcnVudGltZXMuXG4gICAgICBgQHR5cGVzL25vZGVAXiR7c2VtdmVyLm1ham9yKHRoaXMucGFja2FnZS5taW5Ob2RlVmVyc2lvbiA/PyAnMTIuMC4wJyl9YCxcbiAgICApO1xuXG4gICAgLy8gZ2VuZXJhdGUgc2FtcGxlIGNvZGUgaW4gYHNyY2AgYW5kIGBsaWJgIGlmIHRoZXNlIGRpcmVjdG9yaWVzIGFyZSBlbXB0eSBvciBub24tZXhpc3RlbnQuXG4gICAgaWYgKG9wdGlvbnMuc2FtcGxlQ29kZSA/PyB0cnVlKSB7XG4gICAgICBuZXcgU2FtcGxlQ29kZSh0aGlzKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5kb2NnZW4pIHtcbiAgICAgIG5ldyBUeXBlZG9jRG9jZ2VuKHRoaXMpO1xuICAgIH1cblxuICAgIGNvbnN0IHByb2plbnJjVHlwZVNjcmlwdCA9IG9wdGlvbnMucHJvamVucmNUcyA/PyBmYWxzZTtcbiAgICBpZiAocHJvamVucmNUeXBlU2NyaXB0KSB7XG4gICAgICBuZXcgUHJvamVucmNUcyh0aGlzLCBvcHRpb25zLnByb2plbnJjVHNPcHRpb25zKTtcbiAgICB9XG4gIH1cbn1cblxuY2xhc3MgU2FtcGxlQ29kZSBleHRlbmRzIENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFR5cGVTY3JpcHRQcm9qZWN0KSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG4gICAgY29uc3Qgc3JjQ29kZSA9IFtcbiAgICAgICdleHBvcnQgY2xhc3MgSGVsbG8geycsXG4gICAgICAnICBwdWJsaWMgc2F5SGVsbG8oKSB7JyxcbiAgICAgICcgICAgcmV0dXJuIFxcJ2hlbGxvLCB3b3JsZCFcXCc7JyxcbiAgICAgICcgIH0nLFxuICAgICAgJ30nLFxuICAgIF0uam9pbignXFxuJyk7XG5cbiAgICBjb25zdCB0ZXN0Q29kZSA9IFtcbiAgICAgIFwiaW1wb3J0IHsgSGVsbG8gfSBmcm9tICcuLi9zcmMnO1wiLFxuICAgICAgJycsXG4gICAgICBcInRlc3QoJ2hlbGxvJywgKCkgPT4ge1wiLFxuICAgICAgXCIgIGV4cGVjdChuZXcgSGVsbG8oKS5zYXlIZWxsbygpKS50b0JlKCdoZWxsbywgd29ybGQhJyk7XCIsXG4gICAgICAnfSk7JyxcbiAgICBdLmpvaW4oJ1xcbicpO1xuXG4gICAgbmV3IFNhbXBsZURpcihwcm9qZWN0LCBwcm9qZWN0LnNyY2Rpciwge1xuICAgICAgZmlsZXM6IHtcbiAgICAgICAgJ2luZGV4LnRzJzogc3JjQ29kZSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBuZXcgU2FtcGxlRGlyKHByb2plY3QsIHByb2plY3QudGVzdGRpciwge1xuICAgICAgZmlsZXM6IHtcbiAgICAgICAgJ2hlbGxvLnRlc3QudHMnOiB0ZXN0Q29kZSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBjbGFzcyBUeXBlU2NyaXB0QXBwUHJvamVjdCBleHRlbmRzIFR5cGVTY3JpcHRQcm9qZWN0IHtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogVHlwZVNjcmlwdFByb2plY3RPcHRpb25zKSB7XG4gICAgc3VwZXIoe1xuICAgICAgYWxsb3dMaWJyYXJ5RGVwZW5kZW5jaWVzOiBmYWxzZSxcbiAgICAgIHJlbGVhc2VXb3JrZmxvdzogZmFsc2UsXG4gICAgICBlbnRyeXBvaW50OiAnJywgLy8gXCJtYWluXCIgaXMgbm90IG5lZWRlZCBpbiB0eXBlc2NyaXB0IGFwcHNcbiAgICAgIHBhY2thZ2U6IGZhbHNlLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcbiAgfVxufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgVHlwZVNjcmlwdExpYnJhcnlQcm9qZWN0IGV4dGVuZHMgVHlwZVNjcmlwdFByb2plY3Qge1xufTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVTY3JpcHRMaWJyYXJ5UHJvamVjdE9wdGlvbnMgZXh0ZW5kcyBUeXBlU2NyaXB0UHJvamVjdE9wdGlvbnMge1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VUc2NvbmZpZ09wdGlvbnMoLi4ub3B0aW9uczogKFR5cGVzY3JpcHRDb25maWdPcHRpb25zIHwgdW5kZWZpbmVkKVtdKTogVHlwZXNjcmlwdENvbmZpZ09wdGlvbnMge1xuICBjb25zdCBkZWZpbmVkT3B0aW9ucyA9IG9wdGlvbnMuZmlsdGVyKEJvb2xlYW4pIGFzIFR5cGVzY3JpcHRDb25maWdPcHRpb25zW107XG4gIHJldHVybiBkZWZpbmVkT3B0aW9ucy5yZWR1Y2U8VHlwZXNjcmlwdENvbmZpZ09wdGlvbnM+KChwcmV2aW91cywgY3VycmVudCkgPT4gKHtcbiAgICAuLi5wcmV2aW91cyxcbiAgICAuLi5jdXJyZW50LFxuICAgIGluY2x1ZGU6IFtcbiAgICAgIC4uLnByZXZpb3VzLmluY2x1ZGUgPz8gW10sXG4gICAgICAuLi5jdXJyZW50LmluY2x1ZGUgPz8gW10sXG4gICAgXSxcbiAgICBleGNsdWRlOiBbXG4gICAgICAuLi5wcmV2aW91cy5leGNsdWRlID8/IFtdLFxuICAgICAgLi4uY3VycmVudC5leGNsdWRlID8/IFtdLFxuICAgIF0sXG4gICAgY29tcGlsZXJPcHRpb25zOiB7XG4gICAgICAuLi5wcmV2aW91cy5jb21waWxlck9wdGlvbnMsXG4gICAgICAuLi5jdXJyZW50LmNvbXBpbGVyT3B0aW9ucyxcbiAgICB9LFxuICB9KSwgeyBjb21waWxlck9wdGlvbnM6IHt9IH0pO1xufVxuIl19
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export declare enum TargetName {
|
|
2
|
+
JAVA = 0,
|
|
3
|
+
DOTNET = 1,
|
|
4
|
+
PYTHON = 2,
|
|
5
|
+
GO = 3,
|
|
6
|
+
JAVASCRIPT = 4
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Converts a SemVer range expression to a Maven version range expression.
|
|
10
|
+
*
|
|
11
|
+
* @param semverRange the SemVer range expression to convert.
|
|
12
|
+
* @param suffix the suffix to add to versions in the range.
|
|
13
|
+
*
|
|
14
|
+
* @see https://cwiki.apache.org/confluence/display/MAVENOLD/Dependency+Mediation+and+Conflict+Resolution
|
|
15
|
+
*/
|
|
16
|
+
export declare function toMavenVersionRange(semverRange: string, suffix?: string): string;
|
|
17
|
+
/**
|
|
18
|
+
* Converts a SemVer range expression to a NuGet version range expression.
|
|
19
|
+
*
|
|
20
|
+
* @param semverRange the SemVer range expression to convert.
|
|
21
|
+
*
|
|
22
|
+
* @see https://docs.microsoft.com/en-us/nuget/concepts/package-versioning#version-ranges-and-wildcards
|
|
23
|
+
*/
|
|
24
|
+
export declare function toNuGetVersionRange(semverRange: string): string;
|
|
25
|
+
/**
|
|
26
|
+
* Converts a SemVer range expression to a Python setuptools compatible version
|
|
27
|
+
* constraint expression.
|
|
28
|
+
*
|
|
29
|
+
* @param semverRange the SemVer range expression to convert.
|
|
30
|
+
*/
|
|
31
|
+
export declare function toPythonVersionRange(semverRange: string): string;
|
|
32
|
+
/**
|
|
33
|
+
* Converts an original version number from the NPM convention to the target
|
|
34
|
+
* language's convention for expressing the same. For versions that do not
|
|
35
|
+
* include a prerelease identifier, this always returns the assembly version
|
|
36
|
+
* unmodified.
|
|
37
|
+
*
|
|
38
|
+
* @param assemblyVersion the assembly version being released
|
|
39
|
+
* @param target the target language for which the version is destined
|
|
40
|
+
*
|
|
41
|
+
* @returns the version that should be serialized
|
|
42
|
+
*/
|
|
43
|
+
export declare function toReleaseVersion(assemblyVersion: string, target: TargetName): string;
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// stolen from: https://github.com/aws/jsii/blob/main/packages/jsii-pacmak/lib/targets/version-utils.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.toReleaseVersion = exports.toPythonVersionRange = exports.toNuGetVersionRange = exports.toMavenVersionRange = exports.TargetName = void 0;
|
|
5
|
+
const util_1 = require("util");
|
|
6
|
+
const semver_1 = require("semver");
|
|
7
|
+
var TargetName;
|
|
8
|
+
(function (TargetName) {
|
|
9
|
+
TargetName[TargetName["JAVA"] = 0] = "JAVA";
|
|
10
|
+
TargetName[TargetName["DOTNET"] = 1] = "DOTNET";
|
|
11
|
+
TargetName[TargetName["PYTHON"] = 2] = "PYTHON";
|
|
12
|
+
TargetName[TargetName["GO"] = 3] = "GO";
|
|
13
|
+
TargetName[TargetName["JAVASCRIPT"] = 4] = "JAVASCRIPT";
|
|
14
|
+
})(TargetName = exports.TargetName || (exports.TargetName = {}));
|
|
15
|
+
/**
|
|
16
|
+
* Converts a SemVer range expression to a Maven version range expression.
|
|
17
|
+
*
|
|
18
|
+
* @param semverRange the SemVer range expression to convert.
|
|
19
|
+
* @param suffix the suffix to add to versions in the range.
|
|
20
|
+
*
|
|
21
|
+
* @see https://cwiki.apache.org/confluence/display/MAVENOLD/Dependency+Mediation+and+Conflict+Resolution
|
|
22
|
+
*/
|
|
23
|
+
function toMavenVersionRange(semverRange, suffix) {
|
|
24
|
+
return toBracketNotation(semverRange, suffix, {
|
|
25
|
+
semver: false,
|
|
26
|
+
target: TargetName.JAVA,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
exports.toMavenVersionRange = toMavenVersionRange;
|
|
30
|
+
/**
|
|
31
|
+
* Converts a SemVer range expression to a NuGet version range expression.
|
|
32
|
+
*
|
|
33
|
+
* @param semverRange the SemVer range expression to convert.
|
|
34
|
+
*
|
|
35
|
+
* @see https://docs.microsoft.com/en-us/nuget/concepts/package-versioning#version-ranges-and-wildcards
|
|
36
|
+
*/
|
|
37
|
+
function toNuGetVersionRange(semverRange) {
|
|
38
|
+
return toBracketNotation(semverRange, undefined, {
|
|
39
|
+
semver: false,
|
|
40
|
+
target: TargetName.DOTNET,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
exports.toNuGetVersionRange = toNuGetVersionRange;
|
|
44
|
+
/**
|
|
45
|
+
* Converts a SemVer range expression to a Python setuptools compatible version
|
|
46
|
+
* constraint expression.
|
|
47
|
+
*
|
|
48
|
+
* @param semverRange the SemVer range expression to convert.
|
|
49
|
+
*/
|
|
50
|
+
function toPythonVersionRange(semverRange) {
|
|
51
|
+
const range = new semver_1.Range(semverRange);
|
|
52
|
+
return range.set
|
|
53
|
+
.map((set) => set
|
|
54
|
+
.map((comp) => {
|
|
55
|
+
var _a, _b;
|
|
56
|
+
const versionId = toReleaseVersion((_b = (_a = comp.semver.raw) === null || _a === void 0 ? void 0 : _a.replace(/-0$/, '')) !== null && _b !== void 0 ? _b : '0.0.0', TargetName.PYTHON);
|
|
57
|
+
switch (comp.operator) {
|
|
58
|
+
case '':
|
|
59
|
+
// With ^0.0.0, somehow we get a left entry with an empty operator and value, we'll fix this up
|
|
60
|
+
return comp.value === '' ? '>=0.0.0' : `==${versionId}`;
|
|
61
|
+
case '=':
|
|
62
|
+
return `==${versionId}`;
|
|
63
|
+
default:
|
|
64
|
+
// >, >=, <, <= are all valid expressions
|
|
65
|
+
return `${comp.operator}${versionId}`;
|
|
66
|
+
}
|
|
67
|
+
})
|
|
68
|
+
.join(', '))
|
|
69
|
+
.join(', ');
|
|
70
|
+
}
|
|
71
|
+
exports.toPythonVersionRange = toPythonVersionRange;
|
|
72
|
+
/**
|
|
73
|
+
* Converts an original version number from the NPM convention to the target
|
|
74
|
+
* language's convention for expressing the same. For versions that do not
|
|
75
|
+
* include a prerelease identifier, this always returns the assembly version
|
|
76
|
+
* unmodified.
|
|
77
|
+
*
|
|
78
|
+
* @param assemblyVersion the assembly version being released
|
|
79
|
+
* @param target the target language for which the version is destined
|
|
80
|
+
*
|
|
81
|
+
* @returns the version that should be serialized
|
|
82
|
+
*/
|
|
83
|
+
function toReleaseVersion(assemblyVersion, target) {
|
|
84
|
+
const version = semver_1.parse(assemblyVersion, { includePrerelease: true });
|
|
85
|
+
if (version == null) {
|
|
86
|
+
throw new Error(`Unable to parse the provided assembly version: "${assemblyVersion}"`);
|
|
87
|
+
}
|
|
88
|
+
if (version.prerelease.length === 0) {
|
|
89
|
+
return assemblyVersion;
|
|
90
|
+
}
|
|
91
|
+
switch (target) {
|
|
92
|
+
case TargetName.PYTHON:
|
|
93
|
+
// Python supports a limited set of identifiers... And we have a mapping table...
|
|
94
|
+
// https://packaging.python.org/guides/distributing-packages-using-setuptools/#pre-release-versioning
|
|
95
|
+
const [label, sequence, ...rest] = version.prerelease;
|
|
96
|
+
if (rest.filter((elt) => elt !== 0).length > 0 || sequence == null) {
|
|
97
|
+
throw new Error(`Unable to map prerelease identifier (in: ${assemblyVersion}) components to python: ${util_1.inspect(version.prerelease)}. The format should be 'X.Y.Z-label.sequence', where sequence is a positive integer, and label is "dev", "pre", "alpha", beta", or "rc"`);
|
|
98
|
+
}
|
|
99
|
+
if (!Number.isInteger(sequence)) {
|
|
100
|
+
throw new Error(`Unable to map prerelease identifier (in: ${assemblyVersion}) to python, as sequence ${util_1.inspect(sequence)} is not an integer`);
|
|
101
|
+
}
|
|
102
|
+
const baseVersion = `${version.major}.${version.minor}.${version.patch}`;
|
|
103
|
+
// See PEP 440: https://www.python.org/dev/peps/pep-0440/#pre-releases
|
|
104
|
+
switch (label) {
|
|
105
|
+
case 'dev':
|
|
106
|
+
case 'pre':
|
|
107
|
+
return `${baseVersion}.dev${sequence}`;
|
|
108
|
+
case 'alpha':
|
|
109
|
+
return `${baseVersion}.a${sequence}`;
|
|
110
|
+
case 'beta':
|
|
111
|
+
return `${baseVersion}.b${sequence}`;
|
|
112
|
+
case 'rc':
|
|
113
|
+
return `${baseVersion}.rc${sequence}`;
|
|
114
|
+
default:
|
|
115
|
+
throw new Error(`Unable to map prerelease identifier (in: ${assemblyVersion}) to python, as label ${util_1.inspect(label)} is not mapped (only "dev", "pre", "alpha", "beta" and "rc" are)`);
|
|
116
|
+
}
|
|
117
|
+
case TargetName.DOTNET:
|
|
118
|
+
case TargetName.GO:
|
|
119
|
+
case TargetName.JAVA:
|
|
120
|
+
case TargetName.JAVASCRIPT:
|
|
121
|
+
// Not touching - the NPM version number should be usable as-is
|
|
122
|
+
break;
|
|
123
|
+
}
|
|
124
|
+
return assemblyVersion;
|
|
125
|
+
}
|
|
126
|
+
exports.toReleaseVersion = toReleaseVersion;
|
|
127
|
+
/**
|
|
128
|
+
* Converts a semantic version range to the kind of bracket notation used by
|
|
129
|
+
* Maven and NuGet. For example, this turns `^1.2.3` into `[1.2.3,2.0.0)`.
|
|
130
|
+
*
|
|
131
|
+
* @param semverRange The semantic version range to be converted.
|
|
132
|
+
* @param suffix A version suffix to apply to versions in the resulting expression.
|
|
133
|
+
* @param semver Whether the target supports full semantic versioning (including
|
|
134
|
+
* `-0` as the lowest possible prerelease identifier)
|
|
135
|
+
*
|
|
136
|
+
* @returns a bracket-notation version range.
|
|
137
|
+
*/
|
|
138
|
+
function toBracketNotation(semverRange, suffix, { semver = true, target = TargetName.JAVASCRIPT, } = {}) {
|
|
139
|
+
if (semverRange === '*') {
|
|
140
|
+
semverRange = '>=0.0.0';
|
|
141
|
+
}
|
|
142
|
+
const range = new semver_1.Range(semverRange);
|
|
143
|
+
if (semverRange === range.range) {
|
|
144
|
+
return semverRange;
|
|
145
|
+
}
|
|
146
|
+
return range.set
|
|
147
|
+
.map((set) => {
|
|
148
|
+
if (set.length === 1) {
|
|
149
|
+
const version = set[0].semver.raw;
|
|
150
|
+
if (!version && range.raw === '>=0.0.0') {
|
|
151
|
+
// Case where version is '*'
|
|
152
|
+
return '[0.0.0,)';
|
|
153
|
+
}
|
|
154
|
+
switch (set[0].operator || '=') {
|
|
155
|
+
// "[version]" => means exactly version
|
|
156
|
+
case '=':
|
|
157
|
+
return `[${addSuffix(version)}]`;
|
|
158
|
+
// "(version,]" => means greater than version
|
|
159
|
+
case '>':
|
|
160
|
+
return `(${addSuffix(version)},)`;
|
|
161
|
+
// "[version,]" => means greater than or equal to that version
|
|
162
|
+
case '>=':
|
|
163
|
+
return `[${addSuffix(version)},)`;
|
|
164
|
+
// "[,version)" => means less than version
|
|
165
|
+
case '<':
|
|
166
|
+
return `(,${addSuffix(version, !semver)})`;
|
|
167
|
+
// "[,version]" => means less than or equal to version
|
|
168
|
+
case '<=':
|
|
169
|
+
return `(,${addSuffix(version)}]`;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
else if (set.length === 2) {
|
|
173
|
+
const nugetRange = toBracketRange(set[0], set[1]);
|
|
174
|
+
if (nugetRange) {
|
|
175
|
+
return nugetRange;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
throw new Error(`Unsupported SemVer range set in ${semverRange}: ${set
|
|
179
|
+
.map((comp) => comp.value)
|
|
180
|
+
.join(', ')}`);
|
|
181
|
+
})
|
|
182
|
+
.join(', ');
|
|
183
|
+
function toBracketRange(left, right) {
|
|
184
|
+
if (left.operator.startsWith('<') && right.operator.startsWith('>')) {
|
|
185
|
+
// Order isn't ideal, swap around..
|
|
186
|
+
[left, right] = [right, left];
|
|
187
|
+
}
|
|
188
|
+
// With ^0.0.0, somehow we get a left entry with an empty operator and value, we'll fix this up
|
|
189
|
+
if (left.operator === '' && left.value === '') {
|
|
190
|
+
left = new semver_1.Comparator('>=0.0.0', left.options);
|
|
191
|
+
}
|
|
192
|
+
if (!left.operator.startsWith('>') || !right.operator.startsWith('<')) {
|
|
193
|
+
// We only support ranges defined like "> (or >=) left, < (or <=) right"
|
|
194
|
+
return undefined;
|
|
195
|
+
}
|
|
196
|
+
const leftBrace = left.operator.endsWith('=') ? '[' : '(';
|
|
197
|
+
const rightBrace = right.operator.endsWith('=') ? ']' : ')';
|
|
198
|
+
return `${leftBrace}${addSuffix(left.semver.raw)},${addSuffix(right.semver.raw, right.operator === '<' && !semver)}${rightBrace}`;
|
|
199
|
+
}
|
|
200
|
+
function addSuffix(str, trimDashZero = false) {
|
|
201
|
+
if (!str) {
|
|
202
|
+
return '';
|
|
203
|
+
}
|
|
204
|
+
if (trimDashZero) {
|
|
205
|
+
str = str.replace(/-0$/, '');
|
|
206
|
+
}
|
|
207
|
+
return suffix ? `${str}${suffix}` : toReleaseVersion(str, target);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VtdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvc2VtdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx1R0FBdUc7OztBQUV2RywrQkFBK0I7QUFDL0IsbUNBQWtEO0FBRWxELElBQVksVUFNWDtBQU5ELFdBQVksVUFBVTtJQUNwQiwyQ0FBSSxDQUFBO0lBQ0osK0NBQU0sQ0FBQTtJQUNOLCtDQUFNLENBQUE7SUFDTix1Q0FBRSxDQUFBO0lBQ0YsdURBQVUsQ0FBQTtBQUNaLENBQUMsRUFOVyxVQUFVLEdBQVYsa0JBQVUsS0FBVixrQkFBVSxRQU1yQjtBQUVEOzs7Ozs7O0dBT0c7QUFDSCxTQUFnQixtQkFBbUIsQ0FDakMsV0FBbUIsRUFDbkIsTUFBZTtJQUVmLE9BQU8saUJBQWlCLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRTtRQUM1QyxNQUFNLEVBQUUsS0FBSztRQUNiLE1BQU0sRUFBRSxVQUFVLENBQUMsSUFBSTtLQUN4QixDQUFDLENBQUM7QUFDTCxDQUFDO0FBUkQsa0RBUUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQixtQkFBbUIsQ0FBQyxXQUFtQjtJQUNyRCxPQUFPLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUU7UUFDL0MsTUFBTSxFQUFFLEtBQUs7UUFDYixNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU07S0FDMUIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUxELGtEQUtDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixvQkFBb0IsQ0FBQyxXQUFtQjtJQUN0RCxNQUFNLEtBQUssR0FBRyxJQUFJLGNBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQyxPQUFPLEtBQUssQ0FBQyxHQUFHO1NBQ2IsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDWCxHQUFHO1NBQ0EsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7O1FBQ1osTUFBTSxTQUFTLEdBQUcsZ0JBQWdC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QUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDcEUsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdG9sZW4gZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL2F3cy9qc2lpL2Jsb2IvbWFpbi9wYWNrYWdlcy9qc2lpLXBhY21hay9saWIvdGFyZ2V0cy92ZXJzaW9uLXV0aWxzLnRzXG5cbmltcG9ydCB7IGluc3BlY3QgfSBmcm9tICd1dGlsJztcbmltcG9ydCB7IENvbXBhcmF0b3IsIFJhbmdlLCBwYXJzZSB9IGZyb20gJ3NlbXZlcic7XG5cbmV4cG9ydCBlbnVtIFRhcmdldE5hbWUge1xuICBKQVZBLFxuICBET1RORVQsXG4gIFBZVEhPTixcbiAgR08sXG4gIEpBVkFTQ1JJUFRcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIFNlbVZlciByYW5nZSBleHByZXNzaW9uIHRvIGEgTWF2ZW4gdmVyc2lvbiByYW5nZSBleHByZXNzaW9uLlxuICpcbiAqIEBwYXJhbSBzZW12ZXJSYW5nZSB0aGUgU2VtVmVyIHJhbmdlIGV4cHJlc3Npb24gdG8gY29udmVydC5cbiAqIEBwYXJhbSBzdWZmaXggICAgICB0aGUgc3VmZml4IHRvIGFkZCB0byB2ZXJzaW9ucyBpbiB0aGUgcmFuZ2UuXG4gKlxuICogQHNlZSBodHRwczovL2N3aWtpLmFwYWNoZS5vcmcvY29uZmx1ZW5jZS9kaXNwbGF5L01BVkVOT0xEL0RlcGVuZGVuY3krTWVkaWF0aW9uK2FuZCtDb25mbGljdCtSZXNvbHV0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b01hdmVuVmVyc2lvblJhbmdlKFxuICBzZW12ZXJSYW5nZTogc3RyaW5nLFxuICBzdWZmaXg/OiBzdHJpbmcsXG4pOiBzdHJpbmcge1xuICByZXR1cm4gdG9CcmFja2V0Tm90YXRpb24oc2VtdmVyUmFuZ2UsIHN1ZmZpeCwge1xuICAgIHNlbXZlcjogZmFsc2UsXG4gICAgdGFyZ2V0OiBUYXJnZXROYW1lLkpBVkEsXG4gIH0pO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgU2VtVmVyIHJhbmdlIGV4cHJlc3Npb24gdG8gYSBOdUdldCB2ZXJzaW9uIHJhbmdlIGV4cHJlc3Npb24uXG4gKlxuICogQHBhcmFtIHNlbXZlclJhbmdlIHRoZSBTZW1WZXIgcmFuZ2UgZXhwcmVzc2lvbiB0byBjb252ZXJ0LlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvbnVnZXQvY29uY2VwdHMvcGFja2FnZS12ZXJzaW9uaW5nI3ZlcnNpb24tcmFuZ2VzLWFuZC13aWxkY2FyZHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvTnVHZXRWZXJzaW9uUmFuZ2Uoc2VtdmVyUmFuZ2U6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiB0b0JyYWNrZXROb3RhdGlvbihzZW12ZXJSYW5nZSwgdW5kZWZpbmVkLCB7XG4gICAgc2VtdmVyOiBmYWxzZSxcbiAgICB0YXJnZXQ6IFRhcmdldE5hbWUuRE9UTkVULFxuICB9KTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIFNlbVZlciByYW5nZSBleHByZXNzaW9uIHRvIGEgUHl0aG9uIHNldHVwdG9vbHMgY29tcGF0aWJsZSB2ZXJzaW9uXG4gKiBjb25zdHJhaW50IGV4cHJlc3Npb24uXG4gKlxuICogQHBhcmFtIHNlbXZlclJhbmdlIHRoZSBTZW1WZXIgcmFuZ2UgZXhwcmVzc2lvbiB0byBjb252ZXJ0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9QeXRob25WZXJzaW9uUmFuZ2Uoc2VtdmVyUmFuZ2U6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IHJhbmdlID0gbmV3IFJhbmdlKHNlbXZlclJhbmdlKTtcbiAgcmV0dXJuIHJhbmdlLnNldFxuICAgIC5tYXAoKHNldCkgPT5cbiAgICAgIHNldFxuICAgICAgICAubWFwKChjb21wKSA9PiB7XG4gICAgICAgICAgY29uc3QgdmVyc2lvbklkID0gdG9SZWxlYXNlVmVyc2lvbihcbiAgICAgICAgICAgIGNvbXAuc2VtdmVyLnJhdz8ucmVwbGFjZSgvLTAkLywgJycpID8/ICcwLjAuMCcsXG4gICAgICAgICAgICBUYXJnZXROYW1lLlBZVEhPTixcbiAgICAgICAgICApO1xuICAgICAgICAgIHN3aXRjaCAoY29tcC5vcGVyYXRvcikge1xuICAgICAgICAgICAgY2FzZSAnJzpcbiAgICAgICAgICAgICAgLy8gV2l0aCBeMC4wLjAsIHNvbWVob3cgd2UgZ2V0IGEgbGVmdCBlbnRyeSB3aXRoIGFuIGVtcHR5IG9wZXJhdG9yIGFuZCB2YWx1ZSwgd2UnbGwgZml4IHRoaXMgdXBcbiAgICAgICAgICAgICAgcmV0dXJuIGNvbXAudmFsdWUgPT09ICcnID8gJz49MC4wLjAnIDogYD09JHt2ZXJzaW9uSWR9YDtcbiAgICAgICAgICAgIGNhc2UgJz0nOlxuICAgICAgICAgICAgICByZXR1cm4gYD09JHt2ZXJzaW9uSWR9YDtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIC8vID4sID49LCA8LCA8PSBhcmUgYWxsIHZhbGlkIGV4cHJlc3Npb25zXG4gICAgICAgICAgICAgIHJldHVybiBgJHtjb21wLm9wZXJhdG9yfSR7dmVyc2lvbklkfWA7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAuam9pbignLCAnKSxcbiAgICApXG4gICAgLmpvaW4oJywgJyk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gb3JpZ2luYWwgdmVyc2lvbiBudW1iZXIgZnJvbSB0aGUgTlBNIGNvbnZlbnRpb24gdG8gdGhlIHRhcmdldFxuICogbGFuZ3VhZ2UncyBjb252ZW50aW9uIGZvciBleHByZXNzaW5nIHRoZSBzYW1lLiBGb3IgdmVyc2lvbnMgdGhhdCBkbyBub3RcbiAqIGluY2x1ZGUgYSBwcmVyZWxlYXNlIGlkZW50aWZpZXIsIHRoaXMgYWx3YXlzIHJldHVybnMgdGhlIGFzc2VtYmx5IHZlcnNpb25cbiAqIHVubW9kaWZpZWQuXG4gKlxuICogQHBhcmFtIGFzc2VtYmx5VmVyc2lvbiB0aGUgYXNzZW1ibHkgdmVyc2lvbiBiZWluZyByZWxlYXNlZFxuICogQHBhcmFtIHRhcmdldCAgICAgICAgICB0aGUgdGFyZ2V0IGxhbmd1YWdlIGZvciB3aGljaCB0aGUgdmVyc2lvbiBpcyBkZXN0aW5lZFxuICpcbiAqIEByZXR1cm5zIHRoZSB2ZXJzaW9uIHRoYXQgc2hvdWxkIGJlIHNlcmlhbGl6ZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvUmVsZWFzZVZlcnNpb24oXG4gIGFzc2VtYmx5VmVyc2lvbjogc3RyaW5nLFxuICB0YXJnZXQ6IFRhcmdldE5hbWUsXG4pOiBzdHJpbmcge1xuICBjb25zdCB2ZXJzaW9uID0gcGFyc2UoYXNzZW1ibHlWZXJzaW9uLCB7IGluY2x1ZGVQcmVyZWxlYXNlOiB0cnVlIH0pO1xuICBpZiAodmVyc2lvbiA9PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYFVuYWJsZSB0byBwYXJzZSB0aGUgcHJvdmlkZWQgYXNzZW1ibHkgdmVyc2lvbjogXCIke2Fzc2VtYmx5VmVyc2lvbn1cImAsXG4gICAgKTtcbiAgfVxuICBpZiAodmVyc2lvbi5wcmVyZWxlYXNlLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBhc3NlbWJseVZlcnNpb247XG4gIH1cbiAgc3dpdGNoICh0YXJnZXQpIHtcbiAgICBjYXNlIFRhcmdldE5hbWUuUFlUSE9OOlxuICAgICAgLy8gUHl0aG9uIHN1cHBvcnRzIGEgbGltaXRlZCBzZXQgb2YgaWRlbnRpZmllcnMuLi4gQW5kIHdlIGhhdmUgYSBtYXBwaW5nIHRhYmxlLi4uXG4gICAgICAvLyBodHRwczovL3BhY2thZ2luZy5weXRob24ub3JnL2d1aWRlcy9kaXN0cmlidXRpbmctcGFja2FnZXMtdXNpbmctc2V0dXB0b29scy8jcHJlLXJlbGVhc2UtdmVyc2lvbmluZ1xuICAgICAgY29uc3QgW2xhYmVsLCBzZXF1ZW5jZSwgLi4ucmVzdF0gPSB2ZXJzaW9uLnByZXJlbGVhc2U7XG4gICAgICBpZiAocmVzdC5maWx0ZXIoKGVsdCkgPT4gZWx0ICE9PSAwKS5sZW5ndGggPiAwIHx8IHNlcXVlbmNlID09IG51bGwpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBVbmFibGUgdG8gbWFwIHByZXJlbGVhc2UgaWRlbnRpZmllciAoaW46ICR7YXNzZW1ibHlWZXJzaW9ufSkgY29tcG9uZW50cyB0byBweXRob246ICR7aW5zcGVjdChcbiAgICAgICAgICAgIHZlcnNpb24ucHJlcmVsZWFzZSxcbiAgICAgICAgICApfS4gVGhlIGZvcm1hdCBzaG91bGQgYmUgJ1guWS5aLWxhYmVsLnNlcXVlbmNlJywgd2hlcmUgc2VxdWVuY2UgaXMgYSBwb3NpdGl2ZSBpbnRlZ2VyLCBhbmQgbGFiZWwgaXMgXCJkZXZcIiwgXCJwcmVcIiwgXCJhbHBoYVwiLCBiZXRhXCIsIG9yIFwicmNcImAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAoIU51bWJlci5pc0ludGVnZXIoc2VxdWVuY2UpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgVW5hYmxlIHRvIG1hcCBwcmVyZWxlYXNlIGlkZW50aWZpZXIgKGluOiAke2Fzc2VtYmx5VmVyc2lvbn0pIHRvIHB5dGhvbiwgYXMgc2VxdWVuY2UgJHtpbnNwZWN0KFxuICAgICAgICAgICAgc2VxdWVuY2UsXG4gICAgICAgICAgKX0gaXMgbm90IGFuIGludGVnZXJgLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgY29uc3QgYmFzZVZlcnNpb24gPSBgJHt2ZXJzaW9uLm1ham9yfS4ke3ZlcnNpb24ubWlub3J9LiR7dmVyc2lvbi5wYXRjaH1gO1xuICAgICAgLy8gU2VlIFBFUCA0NDA6IGh0dHBzOi8vd3d3LnB5dGhvbi5vcmcvZGV2L3BlcHMvcGVwLTA0NDAvI3ByZS1yZWxlYXNlc1xuICAgICAgc3dpdGNoIChsYWJlbCkge1xuICAgICAgICBjYXNlICdkZXYnOlxuICAgICAgICBjYXNlICdwcmUnOlxuICAgICAgICAgIHJldHVybiBgJHtiYXNlVmVyc2lvbn0uZGV2JHtzZXF1ZW5jZX1gO1xuICAgICAgICBjYXNlICdhbHBoYSc6XG4gICAgICAgICAgcmV0dXJuIGAke2Jhc2VWZXJzaW9ufS5hJHtzZXF1ZW5jZX1gO1xuICAgICAgICBjYXNlICdiZXRhJzpcbiAgICAgICAgICByZXR1cm4gYCR7YmFzZVZlcnNpb259LmIke3NlcXVlbmNlfWA7XG4gICAgICAgIGNhc2UgJ3JjJzpcbiAgICAgICAgICByZXR1cm4gYCR7YmFzZVZlcnNpb259LnJjJHtzZXF1ZW5jZX1gO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBVbmFibGUgdG8gbWFwIHByZXJlbGVhc2UgaWRlbnRpZmllciAoaW46ICR7YXNzZW1ibHlWZXJzaW9ufSkgdG8gcHl0aG9uLCBhcyBsYWJlbCAke2luc3BlY3QoXG4gICAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgKX0gaXMgbm90IG1hcHBlZCAob25seSBcImRldlwiLCBcInByZVwiLCBcImFscGhhXCIsIFwiYmV0YVwiIGFuZCBcInJjXCIgYXJlKWAsXG4gICAgICAgICAgKTtcbiAgICAgIH1cbiAgICBjYXNlIFRhcmdldE5hbWUuRE9UTkVUOlxuICAgIGNhc2UgVGFyZ2V0TmFtZS5HTzpcbiAgICBjYXNlIFRhcmdldE5hbWUuSkFWQTpcbiAgICBjYXNlIFRhcmdldE5hbWUuSkFWQVNDUklQVDpcbiAgICAgIC8vIE5vdCB0b3VjaGluZyAtIHRoZSBOUE0gdmVyc2lvbiBudW1iZXIgc2hvdWxkIGJlIHVzYWJsZSBhcy1pc1xuICAgICAgYnJlYWs7XG4gIH1cbiAgcmV0dXJuIGFzc2VtYmx5VmVyc2lvbjtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIHNlbWFudGljIHZlcnNpb24gcmFuZ2UgdG8gdGhlIGtpbmQgb2YgYnJhY2tldCBub3RhdGlvbiB1c2VkIGJ5XG4gKiBNYXZlbiBhbmQgTnVHZXQuIEZvciBleGFtcGxlLCB0aGlzIHR1cm5zIGBeMS4yLjNgIGludG8gYFsxLjIuMywyLjAuMClgLlxuICpcbiAqIEBwYXJhbSBzZW12ZXJSYW5nZSBUaGUgc2VtYW50aWMgdmVyc2lvbiByYW5nZSB0byBiZSBjb252ZXJ0ZWQuXG4gKiBAcGFyYW0gc3VmZml4IEEgdmVyc2lvbiBzdWZmaXggdG8gYXBwbHkgdG8gdmVyc2lvbnMgaW4gdGhlIHJlc3VsdGluZyBleHByZXNzaW9uLlxuICogQHBhcmFtIHNlbXZlciBXaGV0aGVyIHRoZSB0YXJnZXQgc3VwcG9ydHMgZnVsbCBzZW1hbnRpYyB2ZXJzaW9uaW5nIChpbmNsdWRpbmdcbiAqICAgICAgICAgICAgICAgYC0wYCBhcyB0aGUgbG93ZXN0IHBvc3NpYmxlIHByZXJlbGVhc2UgaWRlbnRpZmllcilcbiAqXG4gKiBAcmV0dXJucyBhIGJyYWNrZXQtbm90YXRpb24gdmVyc2lvbiByYW5nZS5cbiAqL1xuZnVuY3Rpb24gdG9CcmFja2V0Tm90YXRpb24oXG4gIHNlbXZlclJhbmdlOiBzdHJpbmcsXG4gIHN1ZmZpeD86IHN0cmluZyxcbiAge1xuICAgIHNlbXZlciA9IHRydWUsXG4gICAgdGFyZ2V0ID0gVGFyZ2V0TmFtZS5KQVZBU0NSSVBULFxuICB9OiB7IHNlbXZlcj86IGJvb2xlYW47IHRhcmdldD86IFRhcmdldE5hbWUgfSA9IHt9LFxuKTogc3RyaW5nIHtcbiAgaWYgKHNlbXZlclJhbmdlID09PSAnKicpIHtcbiAgICBzZW12ZXJSYW5nZSA9ICc+PTAuMC4wJztcbiAgfVxuXG4gIGNvbnN0IHJhbmdlID0gbmV3IFJhbmdlKHNlbXZlclJhbmdlKTtcbiAgaWYgKHNlbXZlclJhbmdlID09PSByYW5nZS5yYW5nZSkge1xuICAgIHJldHVybiBzZW12ZXJSYW5nZTtcbiAgfVxuXG4gIHJldHVybiByYW5nZS5zZXRcbiAgICAubWFwKChzZXQpID0+IHtcbiAgICAgIGlmIChzZXQubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIGNvbnN0IHZlcnNpb24gPSBzZXRbMF0uc2VtdmVyLnJhdztcbiAgICAgICAgaWYgKCF2ZXJzaW9uICYmIHJhbmdlLnJhdyA9PT0gJz49MC4wLjAnKSB7XG4gICAgICAgICAgLy8gQ2FzZSB3aGVyZSB2ZXJzaW9uIGlzICcqJ1xuICAgICAgICAgIHJldHVybiAnWzAuMC4wLCknO1xuICAgICAgICB9XG4gICAgICAgIHN3aXRjaCAoc2V0WzBdLm9wZXJhdG9yIHx8ICc9Jykge1xuICAgICAgICAgIC8vIFwiW3ZlcnNpb25dXCIgPT4gbWVhbnMgZXhhY3RseSB2ZXJzaW9uXG4gICAgICAgICAgY2FzZSAnPSc6XG4gICAgICAgICAgICByZXR1cm4gYFske2FkZFN1ZmZpeCh2ZXJzaW9uKX1dYDtcbiAgICAgICAgICAvLyBcIih2ZXJzaW9uLF1cIiA9PiBtZWFucyBncmVhdGVyIHRoYW4gdmVyc2lvblxuICAgICAgICAgIGNhc2UgJz4nOlxuICAgICAgICAgICAgcmV0dXJuIGAoJHthZGRTdWZmaXgodmVyc2lvbil9LClgO1xuICAgICAgICAgIC8vIFwiW3ZlcnNpb24sXVwiID0+IG1lYW5zIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB0aGF0IHZlcnNpb25cbiAgICAgICAgICBjYXNlICc+PSc6XG4gICAgICAgICAgICByZXR1cm4gYFske2FkZFN1ZmZpeCh2ZXJzaW9uKX0sKWA7XG4gICAgICAgICAgLy8gXCJbLHZlcnNpb24pXCIgPT4gbWVhbnMgbGVzcyB0aGFuIHZlcnNpb25cbiAgICAgICAgICBjYXNlICc8JzpcbiAgICAgICAgICAgIHJldHVybiBgKCwke2FkZFN1ZmZpeCh2ZXJzaW9uLCAhc2VtdmVyKX0pYDtcbiAgICAgICAgICAvLyBcIlssdmVyc2lvbl1cIiA9PiBtZWFucyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdmVyc2lvblxuICAgICAgICAgIGNhc2UgJzw9JzpcbiAgICAgICAgICAgIHJldHVybiBgKCwke2FkZFN1ZmZpeCh2ZXJzaW9uKX1dYDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChzZXQubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIGNvbnN0IG51Z2V0UmFuZ2UgPSB0b0JyYWNrZXRSYW5nZShzZXRbMF0sIHNldFsxXSk7XG4gICAgICAgIGlmIChudWdldFJhbmdlKSB7XG4gICAgICAgICAgcmV0dXJuIG51Z2V0UmFuZ2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFVuc3VwcG9ydGVkIFNlbVZlciByYW5nZSBzZXQgaW4gJHtzZW12ZXJSYW5nZX06ICR7c2V0XG4gICAgICAgICAgLm1hcCgoY29tcCkgPT4gY29tcC52YWx1ZSlcbiAgICAgICAgICAuam9pbignLCAnKX1gLFxuICAgICAgKTtcbiAgICB9KVxuICAgIC5qb2luKCcsICcpO1xuXG4gIGZ1bmN0aW9uIHRvQnJhY2tldFJhbmdlKFxuICAgIGxlZnQ6IENvbXBhcmF0b3IsXG4gICAgcmlnaHQ6IENvbXBhcmF0b3IsXG4gICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKGxlZnQub3BlcmF0b3Iuc3RhcnRzV2l0aCgnPCcpICYmIHJpZ2h0Lm9wZXJhdG9yLnN0YXJ0c1dpdGgoJz4nKSkge1xuICAgICAgLy8gT3JkZXIgaXNuJ3QgaWRlYWwsIHN3YXAgYXJvdW5kLi5cbiAgICAgIFtsZWZ0LCByaWdodF0gPSBbcmlnaHQsIGxlZnRdO1xuICAgIH1cblxuICAgIC8vIFdpdGggXjAuMC4wLCBzb21laG93IHdlIGdldCBhIGxlZnQgZW50cnkgd2l0aCBhbiBlbXB0eSBvcGVyYXRvciBhbmQgdmFsdWUsIHdlJ2xsIGZpeCB0aGlzIHVwXG4gICAgaWYgKGxlZnQub3BlcmF0b3IgPT09ICcnICYmIGxlZnQudmFsdWUgPT09ICcnKSB7XG4gICAgICBsZWZ0ID0gbmV3IENvbXBhcmF0b3IoJz49MC4wLjAnLCBsZWZ0Lm9wdGlvbnMpO1xuICAgIH1cblxuICAgIGlmICghbGVmdC5vcGVyYXRvci5zdGFydHNXaXRoKCc+JykgfHwgIXJpZ2h0Lm9wZXJhdG9yLnN0YXJ0c1dpdGgoJzwnKSkge1xuICAgICAgLy8gV2Ugb25seSBzdXBwb3J0IHJhbmdlcyBkZWZpbmVkIGxpa2UgXCI+IChvciA+PSkgbGVmdCwgPCAob3IgPD0pIHJpZ2h0XCJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3QgbGVmdEJyYWNlID0gbGVmdC5vcGVyYXRvci5lbmRzV2l0aCgnPScpID8gJ1snIDogJygnO1xuICAgIGNvbnN0IHJpZ2h0QnJhY2UgPSByaWdodC5vcGVyYXRvci5lbmRzV2l0aCgnPScpID8gJ10nIDogJyknO1xuICAgIHJldHVybiBgJHtsZWZ0QnJhY2V9JHthZGRTdWZmaXgobGVmdC5zZW12ZXIucmF3KX0sJHthZGRTdWZmaXgoXG4gICAgICByaWdodC5zZW12ZXIucmF3LFxuICAgICAgcmlnaHQub3BlcmF0b3IgPT09ICc8JyAmJiAhc2VtdmVyLFxuICAgICl9JHtyaWdodEJyYWNlfWA7XG4gIH1cblxuICBmdW5jdGlvbiBhZGRTdWZmaXgoc3RyOiBzdHJpbmcgfCB1bmRlZmluZWQsIHRyaW1EYXNoWmVybyA9IGZhbHNlKSB7XG4gICAgaWYgKCFzdHIpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgaWYgKHRyaW1EYXNoWmVybykge1xuICAgICAgc3RyID0gc3RyLnJlcGxhY2UoLy0wJC8sICcnKTtcbiAgICB9XG4gICAgcmV0dXJuIHN1ZmZpeCA/IGAke3N0cn0ke3N1ZmZpeH1gIDogdG9SZWxlYXNlVmVyc2lvbihzdHIsIHRhcmdldCk7XG4gIH1cbn0iXX0=
|