Removed my-app.
This commit is contained in:
parent
8c2eeed19f
commit
6e8139900f
23094 changed files with 0 additions and 3730608 deletions
File diff suppressed because one or more lines are too long
|
@ -1,16 +0,0 @@
|
|||
# Editor configuration, see https://editorconfig.org
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.ts]
|
||||
quote_type = single
|
||||
|
||||
[*.md]
|
||||
max_line_length = off
|
||||
trim_trailing_whitespace = false
|
42
my-app/.gitignore
vendored
42
my-app/.gitignore
vendored
|
@ -1,42 +0,0 @@
|
|||
# See http://help.github.com/ignore-files/ for more about ignoring files.
|
||||
|
||||
# Compiled output
|
||||
/dist
|
||||
/tmp
|
||||
/out-tsc
|
||||
/bazel-out
|
||||
|
||||
# Node
|
||||
/node_modules
|
||||
npm-debug.log
|
||||
yarn-error.log
|
||||
|
||||
# IDEs and editors
|
||||
.idea/
|
||||
.project
|
||||
.classpath
|
||||
.c9/
|
||||
*.launch
|
||||
.settings/
|
||||
*.sublime-workspace
|
||||
|
||||
# Visual Studio Code
|
||||
.vscode/*
|
||||
!.vscode/settings.json
|
||||
!.vscode/tasks.json
|
||||
!.vscode/launch.json
|
||||
!.vscode/extensions.json
|
||||
.history/*
|
||||
|
||||
# Miscellaneous
|
||||
/.angular/cache
|
||||
.sass-cache/
|
||||
/connect.lock
|
||||
/coverage
|
||||
/libpeerconnection.log
|
||||
testem.log
|
||||
/typings
|
||||
|
||||
# System files
|
||||
.DS_Store
|
||||
Thumbs.db
|
4
my-app/.vscode/extensions.json
vendored
4
my-app/.vscode/extensions.json
vendored
|
@ -1,4 +0,0 @@
|
|||
{
|
||||
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846
|
||||
"recommendations": ["angular.ng-template"]
|
||||
}
|
20
my-app/.vscode/launch.json
vendored
20
my-app/.vscode/launch.json
vendored
|
@ -1,20 +0,0 @@
|
|||
{
|
||||
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "ng serve",
|
||||
"type": "chrome",
|
||||
"request": "launch",
|
||||
"preLaunchTask": "npm: start",
|
||||
"url": "http://localhost:4200/"
|
||||
},
|
||||
{
|
||||
"name": "ng test",
|
||||
"type": "chrome",
|
||||
"request": "launch",
|
||||
"preLaunchTask": "npm: test",
|
||||
"url": "http://localhost:9876/debug.html"
|
||||
}
|
||||
]
|
||||
}
|
42
my-app/.vscode/tasks.json
vendored
42
my-app/.vscode/tasks.json
vendored
|
@ -1,42 +0,0 @@
|
|||
{
|
||||
// For more information, visit: https://go.microsoft.com/fwlink/?LinkId=733558
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
{
|
||||
"type": "npm",
|
||||
"script": "start",
|
||||
"isBackground": true,
|
||||
"problemMatcher": {
|
||||
"owner": "typescript",
|
||||
"pattern": "$tsc",
|
||||
"background": {
|
||||
"activeOnStart": true,
|
||||
"beginsPattern": {
|
||||
"regexp": "(.*?)"
|
||||
},
|
||||
"endsPattern": {
|
||||
"regexp": "bundle generation complete"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "npm",
|
||||
"script": "test",
|
||||
"isBackground": true,
|
||||
"problemMatcher": {
|
||||
"owner": "typescript",
|
||||
"pattern": "$tsc",
|
||||
"background": {
|
||||
"activeOnStart": true,
|
||||
"beginsPattern": {
|
||||
"regexp": "(.*?)"
|
||||
},
|
||||
"endsPattern": {
|
||||
"regexp": "bundle generation complete"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,27 +0,0 @@
|
|||
# MyApp
|
||||
|
||||
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.3.8.
|
||||
|
||||
## Development server
|
||||
|
||||
Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files.
|
||||
|
||||
## Code scaffolding
|
||||
|
||||
Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.
|
||||
|
||||
## Build
|
||||
|
||||
Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory.
|
||||
|
||||
## Running unit tests
|
||||
|
||||
Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
||||
|
||||
## Running end-to-end tests
|
||||
|
||||
Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.
|
||||
|
||||
## Further help
|
||||
|
||||
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
@ -1,103 +0,0 @@
|
|||
{
|
||||
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
|
||||
"version": 1,
|
||||
"newProjectRoot": "projects",
|
||||
"projects": {
|
||||
"my-app": {
|
||||
"projectType": "application",
|
||||
"schematics": {},
|
||||
"root": "",
|
||||
"sourceRoot": "src",
|
||||
"prefix": "app",
|
||||
"architect": {
|
||||
"build": {
|
||||
"builder": "@angular-devkit/build-angular:application",
|
||||
"options": {
|
||||
"outputPath": "dist/my-app",
|
||||
"index": "src/index.html",
|
||||
"browser": "src/main.ts",
|
||||
"polyfills": [
|
||||
"zone.js"
|
||||
],
|
||||
"tsConfig": "tsconfig.app.json",
|
||||
"assets": [
|
||||
"src/favicon.ico",
|
||||
"src/assets"
|
||||
],
|
||||
"styles": [
|
||||
"src/styles.css"
|
||||
],
|
||||
"scripts": [],
|
||||
"server": "src/main.server.ts",
|
||||
"prerender": true,
|
||||
"ssr": {
|
||||
"entry": "server.ts"
|
||||
}
|
||||
},
|
||||
"configurations": {
|
||||
"production": {
|
||||
"budgets": [
|
||||
{
|
||||
"type": "initial",
|
||||
"maximumWarning": "500kb",
|
||||
"maximumError": "1mb"
|
||||
},
|
||||
{
|
||||
"type": "anyComponentStyle",
|
||||
"maximumWarning": "2kb",
|
||||
"maximumError": "4kb"
|
||||
}
|
||||
],
|
||||
"outputHashing": "all"
|
||||
},
|
||||
"development": {
|
||||
"optimization": false,
|
||||
"extractLicenses": false,
|
||||
"sourceMap": true
|
||||
}
|
||||
},
|
||||
"defaultConfiguration": "production"
|
||||
},
|
||||
"serve": {
|
||||
"builder": "@angular-devkit/build-angular:dev-server",
|
||||
"configurations": {
|
||||
"production": {
|
||||
"buildTarget": "my-app:build:production"
|
||||
},
|
||||
"development": {
|
||||
"buildTarget": "my-app:build:development"
|
||||
}
|
||||
},
|
||||
"defaultConfiguration": "development"
|
||||
},
|
||||
"extract-i18n": {
|
||||
"builder": "@angular-devkit/build-angular:extract-i18n",
|
||||
"options": {
|
||||
"buildTarget": "my-app:build"
|
||||
}
|
||||
},
|
||||
"test": {
|
||||
"builder": "@angular-devkit/build-angular:karma",
|
||||
"options": {
|
||||
"polyfills": [
|
||||
"zone.js",
|
||||
"zone.js/testing"
|
||||
],
|
||||
"tsConfig": "tsconfig.spec.json",
|
||||
"assets": [
|
||||
"src/favicon.ico",
|
||||
"src/assets"
|
||||
],
|
||||
"styles": [
|
||||
"src/styles.css"
|
||||
],
|
||||
"scripts": []
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"cli": {
|
||||
"analytics": false
|
||||
}
|
||||
}
|
BIN
my-app/node_modules/.bin/acorn
generated
vendored
BIN
my-app/node_modules/.bin/acorn
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/ansi-html
generated
vendored
BIN
my-app/node_modules/.bin/ansi-html
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/autoprefixer
generated
vendored
BIN
my-app/node_modules/.bin/autoprefixer
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/browserslist
generated
vendored
BIN
my-app/node_modules/.bin/browserslist
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/cssesc
generated
vendored
BIN
my-app/node_modules/.bin/cssesc
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/errno
generated
vendored
BIN
my-app/node_modules/.bin/errno
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/esbuild
generated
vendored
BIN
my-app/node_modules/.bin/esbuild
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/esparse
generated
vendored
BIN
my-app/node_modules/.bin/esparse
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/esvalidate
generated
vendored
BIN
my-app/node_modules/.bin/esvalidate
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/flat
generated
vendored
BIN
my-app/node_modules/.bin/flat
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/image-size
generated
vendored
BIN
my-app/node_modules/.bin/image-size
generated
vendored
Binary file not shown.
1
my-app/node_modules/.bin/installed-package-contents
generated
vendored
1
my-app/node_modules/.bin/installed-package-contents
generated
vendored
|
@ -1 +0,0 @@
|
|||
../@npmcli/installed-package-contents/bin/index.js
|
BIN
my-app/node_modules/.bin/is-docker
generated
vendored
BIN
my-app/node_modules/.bin/is-docker
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/jiti
generated
vendored
BIN
my-app/node_modules/.bin/jiti
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/js-yaml
generated
vendored
BIN
my-app/node_modules/.bin/js-yaml
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/jsesc
generated
vendored
BIN
my-app/node_modules/.bin/jsesc
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/json5
generated
vendored
BIN
my-app/node_modules/.bin/json5
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/karma
generated
vendored
BIN
my-app/node_modules/.bin/karma
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/lessc
generated
vendored
BIN
my-app/node_modules/.bin/lessc
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/mime
generated
vendored
BIN
my-app/node_modules/.bin/mime
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/mkdirp
generated
vendored
BIN
my-app/node_modules/.bin/mkdirp
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/multicast-dns
generated
vendored
BIN
my-app/node_modules/.bin/multicast-dns
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/nanoid
generated
vendored
BIN
my-app/node_modules/.bin/nanoid
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/needle
generated
vendored
BIN
my-app/node_modules/.bin/needle
generated
vendored
Binary file not shown.
1
my-app/node_modules/.bin/ng
generated
vendored
1
my-app/node_modules/.bin/ng
generated
vendored
|
@ -1 +0,0 @@
|
|||
../@angular/cli/bin/ng.js
|
BIN
my-app/node_modules/.bin/ng-xi18n
generated
vendored
BIN
my-app/node_modules/.bin/ng-xi18n
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/ngc
generated
vendored
BIN
my-app/node_modules/.bin/ngc
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/ngcc
generated
vendored
BIN
my-app/node_modules/.bin/ngcc
generated
vendored
Binary file not shown.
1
my-app/node_modules/.bin/node-gyp
generated
vendored
1
my-app/node_modules/.bin/node-gyp
generated
vendored
|
@ -1 +0,0 @@
|
|||
../node-gyp/bin/node-gyp.js
|
BIN
my-app/node_modules/.bin/node-gyp-build
generated
vendored
BIN
my-app/node_modules/.bin/node-gyp-build
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/node-gyp-build-optional
generated
vendored
BIN
my-app/node_modules/.bin/node-gyp-build-optional
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/node-gyp-build-test
generated
vendored
BIN
my-app/node_modules/.bin/node-gyp-build-test
generated
vendored
Binary file not shown.
1
my-app/node_modules/.bin/nopt
generated
vendored
1
my-app/node_modules/.bin/nopt
generated
vendored
|
@ -1 +0,0 @@
|
|||
../nopt/bin/nopt.js
|
1
my-app/node_modules/.bin/pacote
generated
vendored
1
my-app/node_modules/.bin/pacote
generated
vendored
|
@ -1 +0,0 @@
|
|||
../pacote/lib/bin.js
|
BIN
my-app/node_modules/.bin/parser
generated
vendored
BIN
my-app/node_modules/.bin/parser
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/regjsparser
generated
vendored
BIN
my-app/node_modules/.bin/regjsparser
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/resolve
generated
vendored
BIN
my-app/node_modules/.bin/resolve
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/rimraf
generated
vendored
BIN
my-app/node_modules/.bin/rimraf
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/rollup
generated
vendored
BIN
my-app/node_modules/.bin/rollup
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/sass
generated
vendored
BIN
my-app/node_modules/.bin/sass
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/semver
generated
vendored
BIN
my-app/node_modules/.bin/semver
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/terser
generated
vendored
BIN
my-app/node_modules/.bin/terser
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/tree-kill
generated
vendored
BIN
my-app/node_modules/.bin/tree-kill
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/tsc
generated
vendored
BIN
my-app/node_modules/.bin/tsc
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/tsserver
generated
vendored
BIN
my-app/node_modules/.bin/tsserver
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/update-browserslist-db
generated
vendored
BIN
my-app/node_modules/.bin/update-browserslist-db
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/uuid
generated
vendored
BIN
my-app/node_modules/.bin/uuid
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/vite
generated
vendored
BIN
my-app/node_modules/.bin/vite
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/webpack
generated
vendored
BIN
my-app/node_modules/.bin/webpack
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/webpack-dev-server
generated
vendored
BIN
my-app/node_modules/.bin/webpack-dev-server
generated
vendored
Binary file not shown.
BIN
my-app/node_modules/.bin/which
generated
vendored
BIN
my-app/node_modules/.bin/which
generated
vendored
Binary file not shown.
11864
my-app/node_modules/.package-lock.json
generated
vendored
11864
my-app/node_modules/.package-lock.json
generated
vendored
File diff suppressed because it is too large
Load diff
202
my-app/node_modules/@ampproject/remapping/LICENSE
generated
vendored
202
my-app/node_modules/@ampproject/remapping/LICENSE
generated
vendored
|
@ -1,202 +0,0 @@
|
|||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
218
my-app/node_modules/@ampproject/remapping/README.md
generated
vendored
218
my-app/node_modules/@ampproject/remapping/README.md
generated
vendored
|
@ -1,218 +0,0 @@
|
|||
# @ampproject/remapping
|
||||
|
||||
> Remap sequential sourcemaps through transformations to point at the original source code
|
||||
|
||||
Remapping allows you to take the sourcemaps generated through transforming your code and "remap"
|
||||
them to the original source locations. Think "my minified code, transformed with babel and bundled
|
||||
with webpack", all pointing to the correct location in your original source code.
|
||||
|
||||
With remapping, none of your source code transformations need to be aware of the input's sourcemap,
|
||||
they only need to generate an output sourcemap. This greatly simplifies building custom
|
||||
transformations (think a find-and-replace).
|
||||
|
||||
## Installation
|
||||
|
||||
```sh
|
||||
npm install @ampproject/remapping
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
```typescript
|
||||
function remapping(
|
||||
map: SourceMap | SourceMap[],
|
||||
loader: (file: string, ctx: LoaderContext) => (SourceMap | null | undefined),
|
||||
options?: { excludeContent: boolean, decodedMappings: boolean }
|
||||
): SourceMap;
|
||||
|
||||
// LoaderContext gives the loader the importing sourcemap, tree depth, the ability to override the
|
||||
// "source" location (where child sources are resolved relative to, or the location of original
|
||||
// source), and the ability to override the "content" of an original source for inclusion in the
|
||||
// output sourcemap.
|
||||
type LoaderContext = {
|
||||
readonly importer: string;
|
||||
readonly depth: number;
|
||||
source: string;
|
||||
content: string | null | undefined;
|
||||
}
|
||||
```
|
||||
|
||||
`remapping` takes the final output sourcemap, and a `loader` function. For every source file pointer
|
||||
in the sourcemap, the `loader` will be called with the resolved path. If the path itself represents
|
||||
a transformed file (it has a sourcmap associated with it), then the `loader` should return that
|
||||
sourcemap. If not, the path will be treated as an original, untransformed source code.
|
||||
|
||||
```js
|
||||
// Babel transformed "helloworld.js" into "transformed.js"
|
||||
const transformedMap = JSON.stringify({
|
||||
file: 'transformed.js',
|
||||
// 1st column of 2nd line of output file translates into the 1st source
|
||||
// file, line 3, column 2
|
||||
mappings: ';CAEE',
|
||||
sources: ['helloworld.js'],
|
||||
version: 3,
|
||||
});
|
||||
|
||||
// Uglify minified "transformed.js" into "transformed.min.js"
|
||||
const minifiedTransformedMap = JSON.stringify({
|
||||
file: 'transformed.min.js',
|
||||
// 0th column of 1st line of output file translates into the 1st source
|
||||
// file, line 2, column 1.
|
||||
mappings: 'AACC',
|
||||
names: [],
|
||||
sources: ['transformed.js'],
|
||||
version: 3,
|
||||
});
|
||||
|
||||
const remapped = remapping(
|
||||
minifiedTransformedMap,
|
||||
(file, ctx) => {
|
||||
|
||||
// The "transformed.js" file is an transformed file.
|
||||
if (file === 'transformed.js') {
|
||||
// The root importer is empty.
|
||||
console.assert(ctx.importer === '');
|
||||
// The depth in the sourcemap tree we're currently loading.
|
||||
// The root `minifiedTransformedMap` is depth 0, and its source children are depth 1, etc.
|
||||
console.assert(ctx.depth === 1);
|
||||
|
||||
return transformedMap;
|
||||
}
|
||||
|
||||
// Loader will be called to load transformedMap's source file pointers as well.
|
||||
console.assert(file === 'helloworld.js');
|
||||
// `transformed.js`'s sourcemap points into `helloworld.js`.
|
||||
console.assert(ctx.importer === 'transformed.js');
|
||||
// This is a source child of `transformed`, which is a source child of `minifiedTransformedMap`.
|
||||
console.assert(ctx.depth === 2);
|
||||
return null;
|
||||
}
|
||||
);
|
||||
|
||||
console.log(remapped);
|
||||
// {
|
||||
// file: 'transpiled.min.js',
|
||||
// mappings: 'AAEE',
|
||||
// sources: ['helloworld.js'],
|
||||
// version: 3,
|
||||
// };
|
||||
```
|
||||
|
||||
In this example, `loader` will be called twice:
|
||||
|
||||
1. `"transformed.js"`, the first source file pointer in the `minifiedTransformedMap`. We return the
|
||||
associated sourcemap for it (its a transformed file, after all) so that sourcemap locations can
|
||||
be traced through it into the source files it represents.
|
||||
2. `"helloworld.js"`, our original, unmodified source code. This file does not have a sourcemap, so
|
||||
we return `null`.
|
||||
|
||||
The `remapped` sourcemap now points from `transformed.min.js` into locations in `helloworld.js`. If
|
||||
you were to read the `mappings`, it says "0th column of the first line output line points to the 1st
|
||||
column of the 2nd line of the file `helloworld.js`".
|
||||
|
||||
### Multiple transformations of a file
|
||||
|
||||
As a convenience, if you have multiple single-source transformations of a file, you may pass an
|
||||
array of sourcemap files in the order of most-recent transformation sourcemap first. Note that this
|
||||
changes the `importer` and `depth` of each call to our loader. So our above example could have been
|
||||
written as:
|
||||
|
||||
```js
|
||||
const remapped = remapping(
|
||||
[minifiedTransformedMap, transformedMap],
|
||||
() => null
|
||||
);
|
||||
|
||||
console.log(remapped);
|
||||
// {
|
||||
// file: 'transpiled.min.js',
|
||||
// mappings: 'AAEE',
|
||||
// sources: ['helloworld.js'],
|
||||
// version: 3,
|
||||
// };
|
||||
```
|
||||
|
||||
### Advanced control of the loading graph
|
||||
|
||||
#### `source`
|
||||
|
||||
The `source` property can overridden to any value to change the location of the current load. Eg,
|
||||
for an original source file, it allows us to change the location to the original source regardless
|
||||
of what the sourcemap source entry says. And for transformed files, it allows us to change the
|
||||
relative resolving location for child sources of the loaded sourcemap.
|
||||
|
||||
```js
|
||||
const remapped = remapping(
|
||||
minifiedTransformedMap,
|
||||
(file, ctx) => {
|
||||
|
||||
if (file === 'transformed.js') {
|
||||
// We pretend the transformed.js file actually exists in the 'src/' directory. When the nested
|
||||
// source files are loaded, they will now be relative to `src/`.
|
||||
ctx.source = 'src/transformed.js';
|
||||
return transformedMap;
|
||||
}
|
||||
|
||||
console.assert(file === 'src/helloworld.js');
|
||||
// We could futher change the source of this original file, eg, to be inside a nested directory
|
||||
// itself. This will be reflected in the remapped sourcemap.
|
||||
ctx.source = 'src/nested/transformed.js';
|
||||
return null;
|
||||
}
|
||||
);
|
||||
|
||||
console.log(remapped);
|
||||
// {
|
||||
// …,
|
||||
// sources: ['src/nested/helloworld.js'],
|
||||
// };
|
||||
```
|
||||
|
||||
|
||||
#### `content`
|
||||
|
||||
The `content` property can be overridden when we encounter an original source file. Eg, this allows
|
||||
you to manually provide the source content of the original file regardless of whether the
|
||||
`sourcesContent` field is present in the parent sourcemap. It can also be set to `null` to remove
|
||||
the source content.
|
||||
|
||||
```js
|
||||
const remapped = remapping(
|
||||
minifiedTransformedMap,
|
||||
(file, ctx) => {
|
||||
|
||||
if (file === 'transformed.js') {
|
||||
// transformedMap does not include a `sourcesContent` field, so usually the remapped sourcemap
|
||||
// would not include any `sourcesContent` values.
|
||||
return transformedMap;
|
||||
}
|
||||
|
||||
console.assert(file === 'helloworld.js');
|
||||
// We can read the file to provide the source content.
|
||||
ctx.content = fs.readFileSync(file, 'utf8');
|
||||
return null;
|
||||
}
|
||||
);
|
||||
|
||||
console.log(remapped);
|
||||
// {
|
||||
// …,
|
||||
// sourcesContent: [
|
||||
// 'console.log("Hello world!")',
|
||||
// ],
|
||||
// };
|
||||
```
|
||||
|
||||
### Options
|
||||
|
||||
#### excludeContent
|
||||
|
||||
By default, `excludeContent` is `false`. Passing `{ excludeContent: true }` will exclude the
|
||||
`sourcesContent` field from the returned sourcemap. This is mainly useful when you want to reduce
|
||||
the size out the sourcemap.
|
||||
|
||||
#### decodedMappings
|
||||
|
||||
By default, `decodedMappings` is `false`. Passing `{ decodedMappings: true }` will leave the
|
||||
`mappings` field in a [decoded state](https://github.com/rich-harris/sourcemap-codec) instead of
|
||||
encoding into a VLQ string.
|
191
my-app/node_modules/@ampproject/remapping/dist/remapping.mjs
generated
vendored
191
my-app/node_modules/@ampproject/remapping/dist/remapping.mjs
generated
vendored
|
@ -1,191 +0,0 @@
|
|||
import { decodedMappings, traceSegment, TraceMap } from '@jridgewell/trace-mapping';
|
||||
import { GenMapping, maybeAddSegment, setSourceContent, toDecodedMap, toEncodedMap } from '@jridgewell/gen-mapping';
|
||||
|
||||
const SOURCELESS_MAPPING = /* #__PURE__ */ SegmentObject('', -1, -1, '', null);
|
||||
const EMPTY_SOURCES = [];
|
||||
function SegmentObject(source, line, column, name, content) {
|
||||
return { source, line, column, name, content };
|
||||
}
|
||||
function Source(map, sources, source, content) {
|
||||
return {
|
||||
map,
|
||||
sources,
|
||||
source,
|
||||
content,
|
||||
};
|
||||
}
|
||||
/**
|
||||
* MapSource represents a single sourcemap, with the ability to trace mappings into its child nodes
|
||||
* (which may themselves be SourceMapTrees).
|
||||
*/
|
||||
function MapSource(map, sources) {
|
||||
return Source(map, sources, '', null);
|
||||
}
|
||||
/**
|
||||
* A "leaf" node in the sourcemap tree, representing an original, unmodified source file. Recursive
|
||||
* segment tracing ends at the `OriginalSource`.
|
||||
*/
|
||||
function OriginalSource(source, content) {
|
||||
return Source(null, EMPTY_SOURCES, source, content);
|
||||
}
|
||||
/**
|
||||
* traceMappings is only called on the root level SourceMapTree, and begins the process of
|
||||
* resolving each mapping in terms of the original source files.
|
||||
*/
|
||||
function traceMappings(tree) {
|
||||
// TODO: Eventually support sourceRoot, which has to be removed because the sources are already
|
||||
// fully resolved. We'll need to make sources relative to the sourceRoot before adding them.
|
||||
const gen = new GenMapping({ file: tree.map.file });
|
||||
const { sources: rootSources, map } = tree;
|
||||
const rootNames = map.names;
|
||||
const rootMappings = decodedMappings(map);
|
||||
for (let i = 0; i < rootMappings.length; i++) {
|
||||
const segments = rootMappings[i];
|
||||
for (let j = 0; j < segments.length; j++) {
|
||||
const segment = segments[j];
|
||||
const genCol = segment[0];
|
||||
let traced = SOURCELESS_MAPPING;
|
||||
// 1-length segments only move the current generated column, there's no source information
|
||||
// to gather from it.
|
||||
if (segment.length !== 1) {
|
||||
const source = rootSources[segment[1]];
|
||||
traced = originalPositionFor(source, segment[2], segment[3], segment.length === 5 ? rootNames[segment[4]] : '');
|
||||
// If the trace is invalid, then the trace ran into a sourcemap that doesn't contain a
|
||||
// respective segment into an original source.
|
||||
if (traced == null)
|
||||
continue;
|
||||
}
|
||||
const { column, line, name, content, source } = traced;
|
||||
maybeAddSegment(gen, i, genCol, source, line, column, name);
|
||||
if (source && content != null)
|
||||
setSourceContent(gen, source, content);
|
||||
}
|
||||
}
|
||||
return gen;
|
||||
}
|
||||
/**
|
||||
* originalPositionFor is only called on children SourceMapTrees. It recurses down into its own
|
||||
* child SourceMapTrees, until we find the original source map.
|
||||
*/
|
||||
function originalPositionFor(source, line, column, name) {
|
||||
if (!source.map) {
|
||||
return SegmentObject(source.source, line, column, name, source.content);
|
||||
}
|
||||
const segment = traceSegment(source.map, line, column);
|
||||
// If we couldn't find a segment, then this doesn't exist in the sourcemap.
|
||||
if (segment == null)
|
||||
return null;
|
||||
// 1-length segments only move the current generated column, there's no source information
|
||||
// to gather from it.
|
||||
if (segment.length === 1)
|
||||
return SOURCELESS_MAPPING;
|
||||
return originalPositionFor(source.sources[segment[1]], segment[2], segment[3], segment.length === 5 ? source.map.names[segment[4]] : name);
|
||||
}
|
||||
|
||||
function asArray(value) {
|
||||
if (Array.isArray(value))
|
||||
return value;
|
||||
return [value];
|
||||
}
|
||||
/**
|
||||
* Recursively builds a tree structure out of sourcemap files, with each node
|
||||
* being either an `OriginalSource` "leaf" or a `SourceMapTree` composed of
|
||||
* `OriginalSource`s and `SourceMapTree`s.
|
||||
*
|
||||
* Every sourcemap is composed of a collection of source files and mappings
|
||||
* into locations of those source files. When we generate a `SourceMapTree` for
|
||||
* the sourcemap, we attempt to load each source file's own sourcemap. If it
|
||||
* does not have an associated sourcemap, it is considered an original,
|
||||
* unmodified source file.
|
||||
*/
|
||||
function buildSourceMapTree(input, loader) {
|
||||
const maps = asArray(input).map((m) => new TraceMap(m, ''));
|
||||
const map = maps.pop();
|
||||
for (let i = 0; i < maps.length; i++) {
|
||||
if (maps[i].sources.length > 1) {
|
||||
throw new Error(`Transformation map ${i} must have exactly one source file.\n` +
|
||||
'Did you specify these with the most recent transformation maps first?');
|
||||
}
|
||||
}
|
||||
let tree = build(map, loader, '', 0);
|
||||
for (let i = maps.length - 1; i >= 0; i--) {
|
||||
tree = MapSource(maps[i], [tree]);
|
||||
}
|
||||
return tree;
|
||||
}
|
||||
function build(map, loader, importer, importerDepth) {
|
||||
const { resolvedSources, sourcesContent } = map;
|
||||
const depth = importerDepth + 1;
|
||||
const children = resolvedSources.map((sourceFile, i) => {
|
||||
// The loading context gives the loader more information about why this file is being loaded
|
||||
// (eg, from which importer). It also allows the loader to override the location of the loaded
|
||||
// sourcemap/original source, or to override the content in the sourcesContent field if it's
|
||||
// an unmodified source file.
|
||||
const ctx = {
|
||||
importer,
|
||||
depth,
|
||||
source: sourceFile || '',
|
||||
content: undefined,
|
||||
};
|
||||
// Use the provided loader callback to retrieve the file's sourcemap.
|
||||
// TODO: We should eventually support async loading of sourcemap files.
|
||||
const sourceMap = loader(ctx.source, ctx);
|
||||
const { source, content } = ctx;
|
||||
// If there is a sourcemap, then we need to recurse into it to load its source files.
|
||||
if (sourceMap)
|
||||
return build(new TraceMap(sourceMap, source), loader, source, depth);
|
||||
// Else, it's an an unmodified source file.
|
||||
// The contents of this unmodified source file can be overridden via the loader context,
|
||||
// allowing it to be explicitly null or a string. If it remains undefined, we fall back to
|
||||
// the importing sourcemap's `sourcesContent` field.
|
||||
const sourceContent = content !== undefined ? content : sourcesContent ? sourcesContent[i] : null;
|
||||
return OriginalSource(source, sourceContent);
|
||||
});
|
||||
return MapSource(map, children);
|
||||
}
|
||||
|
||||
/**
|
||||
* A SourceMap v3 compatible sourcemap, which only includes fields that were
|
||||
* provided to it.
|
||||
*/
|
||||
class SourceMap {
|
||||
constructor(map, options) {
|
||||
const out = options.decodedMappings ? toDecodedMap(map) : toEncodedMap(map);
|
||||
this.version = out.version; // SourceMap spec says this should be first.
|
||||
this.file = out.file;
|
||||
this.mappings = out.mappings;
|
||||
this.names = out.names;
|
||||
this.sourceRoot = out.sourceRoot;
|
||||
this.sources = out.sources;
|
||||
if (!options.excludeContent) {
|
||||
this.sourcesContent = out.sourcesContent;
|
||||
}
|
||||
}
|
||||
toString() {
|
||||
return JSON.stringify(this);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Traces through all the mappings in the root sourcemap, through the sources
|
||||
* (and their sourcemaps), all the way back to the original source location.
|
||||
*
|
||||
* `loader` will be called every time we encounter a source file. If it returns
|
||||
* a sourcemap, we will recurse into that sourcemap to continue the trace. If
|
||||
* it returns a falsey value, that source file is treated as an original,
|
||||
* unmodified source file.
|
||||
*
|
||||
* Pass `excludeContent` to exclude any self-containing source file content
|
||||
* from the output sourcemap.
|
||||
*
|
||||
* Pass `decodedMappings` to receive a SourceMap with decoded (instead of
|
||||
* VLQ encoded) mappings.
|
||||
*/
|
||||
function remapping(input, loader, options) {
|
||||
const opts = typeof options === 'object' ? options : { excludeContent: !!options, decodedMappings: false };
|
||||
const tree = buildSourceMapTree(input, loader);
|
||||
return new SourceMap(traceMappings(tree), opts);
|
||||
}
|
||||
|
||||
export { remapping as default };
|
||||
//# sourceMappingURL=remapping.mjs.map
|
1
my-app/node_modules/@ampproject/remapping/dist/remapping.mjs.map
generated
vendored
1
my-app/node_modules/@ampproject/remapping/dist/remapping.mjs.map
generated
vendored
File diff suppressed because one or more lines are too long
196
my-app/node_modules/@ampproject/remapping/dist/remapping.umd.js
generated
vendored
196
my-app/node_modules/@ampproject/remapping/dist/remapping.umd.js
generated
vendored
|
@ -1,196 +0,0 @@
|
|||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('@jridgewell/trace-mapping'), require('@jridgewell/gen-mapping')) :
|
||||
typeof define === 'function' && define.amd ? define(['@jridgewell/trace-mapping', '@jridgewell/gen-mapping'], factory) :
|
||||
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.remapping = factory(global.traceMapping, global.genMapping));
|
||||
})(this, (function (traceMapping, genMapping) { 'use strict';
|
||||
|
||||
const SOURCELESS_MAPPING = /* #__PURE__ */ SegmentObject('', -1, -1, '', null);
|
||||
const EMPTY_SOURCES = [];
|
||||
function SegmentObject(source, line, column, name, content) {
|
||||
return { source, line, column, name, content };
|
||||
}
|
||||
function Source(map, sources, source, content) {
|
||||
return {
|
||||
map,
|
||||
sources,
|
||||
source,
|
||||
content,
|
||||
};
|
||||
}
|
||||
/**
|
||||
* MapSource represents a single sourcemap, with the ability to trace mappings into its child nodes
|
||||
* (which may themselves be SourceMapTrees).
|
||||
*/
|
||||
function MapSource(map, sources) {
|
||||
return Source(map, sources, '', null);
|
||||
}
|
||||
/**
|
||||
* A "leaf" node in the sourcemap tree, representing an original, unmodified source file. Recursive
|
||||
* segment tracing ends at the `OriginalSource`.
|
||||
*/
|
||||
function OriginalSource(source, content) {
|
||||
return Source(null, EMPTY_SOURCES, source, content);
|
||||
}
|
||||
/**
|
||||
* traceMappings is only called on the root level SourceMapTree, and begins the process of
|
||||
* resolving each mapping in terms of the original source files.
|
||||
*/
|
||||
function traceMappings(tree) {
|
||||
// TODO: Eventually support sourceRoot, which has to be removed because the sources are already
|
||||
// fully resolved. We'll need to make sources relative to the sourceRoot before adding them.
|
||||
const gen = new genMapping.GenMapping({ file: tree.map.file });
|
||||
const { sources: rootSources, map } = tree;
|
||||
const rootNames = map.names;
|
||||
const rootMappings = traceMapping.decodedMappings(map);
|
||||
for (let i = 0; i < rootMappings.length; i++) {
|
||||
const segments = rootMappings[i];
|
||||
for (let j = 0; j < segments.length; j++) {
|
||||
const segment = segments[j];
|
||||
const genCol = segment[0];
|
||||
let traced = SOURCELESS_MAPPING;
|
||||
// 1-length segments only move the current generated column, there's no source information
|
||||
// to gather from it.
|
||||
if (segment.length !== 1) {
|
||||
const source = rootSources[segment[1]];
|
||||
traced = originalPositionFor(source, segment[2], segment[3], segment.length === 5 ? rootNames[segment[4]] : '');
|
||||
// If the trace is invalid, then the trace ran into a sourcemap that doesn't contain a
|
||||
// respective segment into an original source.
|
||||
if (traced == null)
|
||||
continue;
|
||||
}
|
||||
const { column, line, name, content, source } = traced;
|
||||
genMapping.maybeAddSegment(gen, i, genCol, source, line, column, name);
|
||||
if (source && content != null)
|
||||
genMapping.setSourceContent(gen, source, content);
|
||||
}
|
||||
}
|
||||
return gen;
|
||||
}
|
||||
/**
|
||||
* originalPositionFor is only called on children SourceMapTrees. It recurses down into its own
|
||||
* child SourceMapTrees, until we find the original source map.
|
||||
*/
|
||||
function originalPositionFor(source, line, column, name) {
|
||||
if (!source.map) {
|
||||
return SegmentObject(source.source, line, column, name, source.content);
|
||||
}
|
||||
const segment = traceMapping.traceSegment(source.map, line, column);
|
||||
// If we couldn't find a segment, then this doesn't exist in the sourcemap.
|
||||
if (segment == null)
|
||||
return null;
|
||||
// 1-length segments only move the current generated column, there's no source information
|
||||
// to gather from it.
|
||||
if (segment.length === 1)
|
||||
return SOURCELESS_MAPPING;
|
||||
return originalPositionFor(source.sources[segment[1]], segment[2], segment[3], segment.length === 5 ? source.map.names[segment[4]] : name);
|
||||
}
|
||||
|
||||
function asArray(value) {
|
||||
if (Array.isArray(value))
|
||||
return value;
|
||||
return [value];
|
||||
}
|
||||
/**
|
||||
* Recursively builds a tree structure out of sourcemap files, with each node
|
||||
* being either an `OriginalSource` "leaf" or a `SourceMapTree` composed of
|
||||
* `OriginalSource`s and `SourceMapTree`s.
|
||||
*
|
||||
* Every sourcemap is composed of a collection of source files and mappings
|
||||
* into locations of those source files. When we generate a `SourceMapTree` for
|
||||
* the sourcemap, we attempt to load each source file's own sourcemap. If it
|
||||
* does not have an associated sourcemap, it is considered an original,
|
||||
* unmodified source file.
|
||||
*/
|
||||
function buildSourceMapTree(input, loader) {
|
||||
const maps = asArray(input).map((m) => new traceMapping.TraceMap(m, ''));
|
||||
const map = maps.pop();
|
||||
for (let i = 0; i < maps.length; i++) {
|
||||
if (maps[i].sources.length > 1) {
|
||||
throw new Error(`Transformation map ${i} must have exactly one source file.\n` +
|
||||
'Did you specify these with the most recent transformation maps first?');
|
||||
}
|
||||
}
|
||||
let tree = build(map, loader, '', 0);
|
||||
for (let i = maps.length - 1; i >= 0; i--) {
|
||||
tree = MapSource(maps[i], [tree]);
|
||||
}
|
||||
return tree;
|
||||
}
|
||||
function build(map, loader, importer, importerDepth) {
|
||||
const { resolvedSources, sourcesContent } = map;
|
||||
const depth = importerDepth + 1;
|
||||
const children = resolvedSources.map((sourceFile, i) => {
|
||||
// The loading context gives the loader more information about why this file is being loaded
|
||||
// (eg, from which importer). It also allows the loader to override the location of the loaded
|
||||
// sourcemap/original source, or to override the content in the sourcesContent field if it's
|
||||
// an unmodified source file.
|
||||
const ctx = {
|
||||
importer,
|
||||
depth,
|
||||
source: sourceFile || '',
|
||||
content: undefined,
|
||||
};
|
||||
// Use the provided loader callback to retrieve the file's sourcemap.
|
||||
// TODO: We should eventually support async loading of sourcemap files.
|
||||
const sourceMap = loader(ctx.source, ctx);
|
||||
const { source, content } = ctx;
|
||||
// If there is a sourcemap, then we need to recurse into it to load its source files.
|
||||
if (sourceMap)
|
||||
return build(new traceMapping.TraceMap(sourceMap, source), loader, source, depth);
|
||||
// Else, it's an an unmodified source file.
|
||||
// The contents of this unmodified source file can be overridden via the loader context,
|
||||
// allowing it to be explicitly null or a string. If it remains undefined, we fall back to
|
||||
// the importing sourcemap's `sourcesContent` field.
|
||||
const sourceContent = content !== undefined ? content : sourcesContent ? sourcesContent[i] : null;
|
||||
return OriginalSource(source, sourceContent);
|
||||
});
|
||||
return MapSource(map, children);
|
||||
}
|
||||
|
||||
/**
|
||||
* A SourceMap v3 compatible sourcemap, which only includes fields that were
|
||||
* provided to it.
|
||||
*/
|
||||
class SourceMap {
|
||||
constructor(map, options) {
|
||||
const out = options.decodedMappings ? genMapping.toDecodedMap(map) : genMapping.toEncodedMap(map);
|
||||
this.version = out.version; // SourceMap spec says this should be first.
|
||||
this.file = out.file;
|
||||
this.mappings = out.mappings;
|
||||
this.names = out.names;
|
||||
this.sourceRoot = out.sourceRoot;
|
||||
this.sources = out.sources;
|
||||
if (!options.excludeContent) {
|
||||
this.sourcesContent = out.sourcesContent;
|
||||
}
|
||||
}
|
||||
toString() {
|
||||
return JSON.stringify(this);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Traces through all the mappings in the root sourcemap, through the sources
|
||||
* (and their sourcemaps), all the way back to the original source location.
|
||||
*
|
||||
* `loader` will be called every time we encounter a source file. If it returns
|
||||
* a sourcemap, we will recurse into that sourcemap to continue the trace. If
|
||||
* it returns a falsey value, that source file is treated as an original,
|
||||
* unmodified source file.
|
||||
*
|
||||
* Pass `excludeContent` to exclude any self-containing source file content
|
||||
* from the output sourcemap.
|
||||
*
|
||||
* Pass `decodedMappings` to receive a SourceMap with decoded (instead of
|
||||
* VLQ encoded) mappings.
|
||||
*/
|
||||
function remapping(input, loader, options) {
|
||||
const opts = typeof options === 'object' ? options : { excludeContent: !!options, decodedMappings: false };
|
||||
const tree = buildSourceMapTree(input, loader);
|
||||
return new SourceMap(traceMappings(tree), opts);
|
||||
}
|
||||
|
||||
return remapping;
|
||||
|
||||
}));
|
||||
//# sourceMappingURL=remapping.umd.js.map
|
1
my-app/node_modules/@ampproject/remapping/dist/remapping.umd.js.map
generated
vendored
1
my-app/node_modules/@ampproject/remapping/dist/remapping.umd.js.map
generated
vendored
File diff suppressed because one or more lines are too long
14
my-app/node_modules/@ampproject/remapping/dist/types/build-source-map-tree.d.ts
generated
vendored
14
my-app/node_modules/@ampproject/remapping/dist/types/build-source-map-tree.d.ts
generated
vendored
|
@ -1,14 +0,0 @@
|
|||
import type { MapSource as MapSourceType } from './source-map-tree';
|
||||
import type { SourceMapInput, SourceMapLoader } from './types';
|
||||
/**
|
||||
* Recursively builds a tree structure out of sourcemap files, with each node
|
||||
* being either an `OriginalSource` "leaf" or a `SourceMapTree` composed of
|
||||
* `OriginalSource`s and `SourceMapTree`s.
|
||||
*
|
||||
* Every sourcemap is composed of a collection of source files and mappings
|
||||
* into locations of those source files. When we generate a `SourceMapTree` for
|
||||
* the sourcemap, we attempt to load each source file's own sourcemap. If it
|
||||
* does not have an associated sourcemap, it is considered an original,
|
||||
* unmodified source file.
|
||||
*/
|
||||
export default function buildSourceMapTree(input: SourceMapInput | SourceMapInput[], loader: SourceMapLoader): MapSourceType;
|
19
my-app/node_modules/@ampproject/remapping/dist/types/remapping.d.ts
generated
vendored
19
my-app/node_modules/@ampproject/remapping/dist/types/remapping.d.ts
generated
vendored
|
@ -1,19 +0,0 @@
|
|||
import SourceMap from './source-map';
|
||||
import type { SourceMapInput, SourceMapLoader, Options } from './types';
|
||||
export type { SourceMapSegment, EncodedSourceMap, EncodedSourceMap as RawSourceMap, DecodedSourceMap, SourceMapInput, SourceMapLoader, LoaderContext, Options, } from './types';
|
||||
/**
|
||||
* Traces through all the mappings in the root sourcemap, through the sources
|
||||
* (and their sourcemaps), all the way back to the original source location.
|
||||
*
|
||||
* `loader` will be called every time we encounter a source file. If it returns
|
||||
* a sourcemap, we will recurse into that sourcemap to continue the trace. If
|
||||
* it returns a falsey value, that source file is treated as an original,
|
||||
* unmodified source file.
|
||||
*
|
||||
* Pass `excludeContent` to exclude any self-containing source file content
|
||||
* from the output sourcemap.
|
||||
*
|
||||
* Pass `decodedMappings` to receive a SourceMap with decoded (instead of
|
||||
* VLQ encoded) mappings.
|
||||
*/
|
||||
export default function remapping(input: SourceMapInput | SourceMapInput[], loader: SourceMapLoader, options?: boolean | Options): SourceMap;
|
42
my-app/node_modules/@ampproject/remapping/dist/types/source-map-tree.d.ts
generated
vendored
42
my-app/node_modules/@ampproject/remapping/dist/types/source-map-tree.d.ts
generated
vendored
|
@ -1,42 +0,0 @@
|
|||
import { GenMapping } from '@jridgewell/gen-mapping';
|
||||
import type { TraceMap } from '@jridgewell/trace-mapping';
|
||||
export declare type SourceMapSegmentObject = {
|
||||
column: number;
|
||||
line: number;
|
||||
name: string;
|
||||
source: string;
|
||||
content: string | null;
|
||||
};
|
||||
export declare type OriginalSource = {
|
||||
map: null;
|
||||
sources: Sources[];
|
||||
source: string;
|
||||
content: string | null;
|
||||
};
|
||||
export declare type MapSource = {
|
||||
map: TraceMap;
|
||||
sources: Sources[];
|
||||
source: string;
|
||||
content: null;
|
||||
};
|
||||
export declare type Sources = OriginalSource | MapSource;
|
||||
/**
|
||||
* MapSource represents a single sourcemap, with the ability to trace mappings into its child nodes
|
||||
* (which may themselves be SourceMapTrees).
|
||||
*/
|
||||
export declare function MapSource(map: TraceMap, sources: Sources[]): MapSource;
|
||||
/**
|
||||
* A "leaf" node in the sourcemap tree, representing an original, unmodified source file. Recursive
|
||||
* segment tracing ends at the `OriginalSource`.
|
||||
*/
|
||||
export declare function OriginalSource(source: string, content: string | null): OriginalSource;
|
||||
/**
|
||||
* traceMappings is only called on the root level SourceMapTree, and begins the process of
|
||||
* resolving each mapping in terms of the original source files.
|
||||
*/
|
||||
export declare function traceMappings(tree: MapSource): GenMapping;
|
||||
/**
|
||||
* originalPositionFor is only called on children SourceMapTrees. It recurses down into its own
|
||||
* child SourceMapTrees, until we find the original source map.
|
||||
*/
|
||||
export declare function originalPositionFor(source: Sources, line: number, column: number, name: string): SourceMapSegmentObject | null;
|
17
my-app/node_modules/@ampproject/remapping/dist/types/source-map.d.ts
generated
vendored
17
my-app/node_modules/@ampproject/remapping/dist/types/source-map.d.ts
generated
vendored
|
@ -1,17 +0,0 @@
|
|||
import type { GenMapping } from '@jridgewell/gen-mapping';
|
||||
import type { DecodedSourceMap, EncodedSourceMap, Options } from './types';
|
||||
/**
|
||||
* A SourceMap v3 compatible sourcemap, which only includes fields that were
|
||||
* provided to it.
|
||||
*/
|
||||
export default class SourceMap {
|
||||
file?: string | null;
|
||||
mappings: EncodedSourceMap['mappings'] | DecodedSourceMap['mappings'];
|
||||
sourceRoot?: string;
|
||||
names: string[];
|
||||
sources: (string | null)[];
|
||||
sourcesContent?: (string | null)[];
|
||||
version: 3;
|
||||
constructor(map: GenMapping, options: Options);
|
||||
toString(): string;
|
||||
}
|
14
my-app/node_modules/@ampproject/remapping/dist/types/types.d.ts
generated
vendored
14
my-app/node_modules/@ampproject/remapping/dist/types/types.d.ts
generated
vendored
|
@ -1,14 +0,0 @@
|
|||
import type { SourceMapInput } from '@jridgewell/trace-mapping';
|
||||
export type { SourceMapSegment, DecodedSourceMap, EncodedSourceMap, } from '@jridgewell/trace-mapping';
|
||||
export type { SourceMapInput };
|
||||
export declare type LoaderContext = {
|
||||
readonly importer: string;
|
||||
readonly depth: number;
|
||||
source: string;
|
||||
content: string | null | undefined;
|
||||
};
|
||||
export declare type SourceMapLoader = (file: string, ctx: LoaderContext) => SourceMapInput | null | undefined | void;
|
||||
export declare type Options = {
|
||||
excludeContent?: boolean;
|
||||
decodedMappings?: boolean;
|
||||
};
|
75
my-app/node_modules/@ampproject/remapping/package.json
generated
vendored
75
my-app/node_modules/@ampproject/remapping/package.json
generated
vendored
|
@ -1,75 +0,0 @@
|
|||
{
|
||||
"name": "@ampproject/remapping",
|
||||
"version": "2.2.1",
|
||||
"description": "Remap sequential sourcemaps through transformations to point at the original source code",
|
||||
"keywords": [
|
||||
"source",
|
||||
"map",
|
||||
"remap"
|
||||
],
|
||||
"main": "dist/remapping.umd.js",
|
||||
"module": "dist/remapping.mjs",
|
||||
"types": "dist/types/remapping.d.ts",
|
||||
"exports": {
|
||||
".": [
|
||||
{
|
||||
"types": "./dist/types/remapping.d.ts",
|
||||
"browser": "./dist/remapping.umd.js",
|
||||
"require": "./dist/remapping.umd.js",
|
||||
"import": "./dist/remapping.mjs"
|
||||
},
|
||||
"./dist/remapping.umd.js"
|
||||
],
|
||||
"./package.json": "./package.json"
|
||||
},
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"author": "Justin Ridgewell <jridgewell@google.com>",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/ampproject/remapping.git"
|
||||
},
|
||||
"license": "Apache-2.0",
|
||||
"engines": {
|
||||
"node": ">=6.0.0"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "run-s -n build:*",
|
||||
"build:rollup": "rollup -c rollup.config.js",
|
||||
"build:ts": "tsc --project tsconfig.build.json",
|
||||
"lint": "run-s -n lint:*",
|
||||
"lint:prettier": "npm run test:lint:prettier -- --write",
|
||||
"lint:ts": "npm run test:lint:ts -- --fix",
|
||||
"prebuild": "rm -rf dist",
|
||||
"prepublishOnly": "npm run preversion",
|
||||
"preversion": "run-s test build",
|
||||
"test": "run-s -n test:lint test:only",
|
||||
"test:debug": "node --inspect-brk node_modules/.bin/jest --runInBand",
|
||||
"test:lint": "run-s -n test:lint:*",
|
||||
"test:lint:prettier": "prettier --check '{src,test}/**/*.ts'",
|
||||
"test:lint:ts": "eslint '{src,test}/**/*.ts'",
|
||||
"test:only": "jest --coverage",
|
||||
"test:watch": "jest --coverage --watch"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@rollup/plugin-typescript": "8.3.2",
|
||||
"@types/jest": "27.4.1",
|
||||
"@typescript-eslint/eslint-plugin": "5.20.0",
|
||||
"@typescript-eslint/parser": "5.20.0",
|
||||
"eslint": "8.14.0",
|
||||
"eslint-config-prettier": "8.5.0",
|
||||
"jest": "27.5.1",
|
||||
"jest-config": "27.5.1",
|
||||
"npm-run-all": "4.1.5",
|
||||
"prettier": "2.6.2",
|
||||
"rollup": "2.70.2",
|
||||
"ts-jest": "27.1.4",
|
||||
"tslib": "2.4.0",
|
||||
"typescript": "4.6.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"@jridgewell/gen-mapping": "^0.3.0",
|
||||
"@jridgewell/trace-mapping": "^0.3.9"
|
||||
}
|
||||
}
|
21
my-app/node_modules/@angular-devkit/architect/LICENSE
generated
vendored
21
my-app/node_modules/@angular-devkit/architect/LICENSE
generated
vendored
|
@ -1,21 +0,0 @@
|
|||
The MIT License
|
||||
|
||||
Copyright (c) 2017 Google, Inc.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
3
my-app/node_modules/@angular-devkit/architect/README.md
generated
vendored
3
my-app/node_modules/@angular-devkit/architect/README.md
generated
vendored
|
@ -1,3 +0,0 @@
|
|||
# Angular Build Facade
|
||||
|
||||
WIP
|
11
my-app/node_modules/@angular-devkit/architect/builders/all-of.d.ts
generated
vendored
11
my-app/node_modules/@angular-devkit/architect/builders/all-of.d.ts
generated
vendored
|
@ -1,11 +0,0 @@
|
|||
/**
|
||||
* @license
|
||||
* Copyright Google LLC All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by an MIT-style license that can be
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
import { json } from '@angular-devkit/core';
|
||||
import { Schema as OperatorSchema } from './operator-schema';
|
||||
declare const _default: import("../src/internal").Builder<json.JsonObject & OperatorSchema>;
|
||||
export default _default;
|
47
my-app/node_modules/@angular-devkit/architect/builders/all-of.js
generated
vendored
47
my-app/node_modules/@angular-devkit/architect/builders/all-of.js
generated
vendored
|
@ -1,47 +0,0 @@
|
|||
"use strict";
|
||||
/**
|
||||
* @license
|
||||
* Copyright Google LLC All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by an MIT-style license that can be
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const rxjs_1 = require("rxjs");
|
||||
const src_1 = require("../src");
|
||||
exports.default = (0, src_1.createBuilder)((options, context) => {
|
||||
const allRuns = [];
|
||||
context.reportProgress(0, (options.targets ? options.targets.length : 0) +
|
||||
(options.builders ? options.builders.length : 0));
|
||||
if (options.targets) {
|
||||
allRuns.push(...options.targets.map(({ target: targetStr, overrides }, i) => {
|
||||
const [project, target, configuration] = targetStr.split(/:/g, 3);
|
||||
return context
|
||||
.scheduleTarget({ project, target, configuration }, overrides || {})
|
||||
.then((run) => [i, run]);
|
||||
}));
|
||||
}
|
||||
if (options.builders) {
|
||||
allRuns.push(...options.builders.map(({ builder, options }, i) => {
|
||||
return context
|
||||
.scheduleBuilder(builder, options || {})
|
||||
.then((run) => [i, run]);
|
||||
}));
|
||||
}
|
||||
const allResults = allRuns.map(() => null);
|
||||
let n = 0;
|
||||
context.reportProgress(n++, allRuns.length);
|
||||
return (0, rxjs_1.from)(allRuns).pipe((0, rxjs_1.mergeMap)((runPromise) => (0, rxjs_1.from)(runPromise)), (0, rxjs_1.mergeMap)(([i, run]) => run.output.pipe((0, rxjs_1.map)((output) => [i, output]))), (0, rxjs_1.mergeMap)(([i, output]) => {
|
||||
allResults[i] = output;
|
||||
context.reportProgress(n++, allRuns.length);
|
||||
if (allResults.some((x) => x === null)) {
|
||||
// Some builders aren't done running yet.
|
||||
return rxjs_1.EMPTY;
|
||||
}
|
||||
else {
|
||||
return (0, rxjs_1.of)({
|
||||
success: allResults.every((x) => (x ? x.success : false)),
|
||||
});
|
||||
}
|
||||
}));
|
||||
});
|
25
my-app/node_modules/@angular-devkit/architect/builders/builders.json
generated
vendored
25
my-app/node_modules/@angular-devkit/architect/builders/builders.json
generated
vendored
|
@ -1,25 +0,0 @@
|
|||
{
|
||||
"$schema": "../src/builders-schema.json",
|
||||
"builders": {
|
||||
"true": {
|
||||
"implementation": "./true",
|
||||
"schema": "./noop-schema.json",
|
||||
"description": "Always succeed."
|
||||
},
|
||||
"false": {
|
||||
"implementation": "./false",
|
||||
"schema": "./noop-schema.json",
|
||||
"description": "Always fails."
|
||||
},
|
||||
"allOf": {
|
||||
"implementation": "./all-of",
|
||||
"schema": "./operator-schema.json",
|
||||
"description": "A builder that executes many builders in parallel, and succeed if both succeeds."
|
||||
},
|
||||
"concat": {
|
||||
"implementation": "./concat",
|
||||
"schema": "./operator-schema.json",
|
||||
"description": "A builder that executes many builders one after the other, and stops when one fail. It will succeed if all builders succeeds (and return the last output)"
|
||||
}
|
||||
}
|
||||
}
|
11
my-app/node_modules/@angular-devkit/architect/builders/concat.d.ts
generated
vendored
11
my-app/node_modules/@angular-devkit/architect/builders/concat.d.ts
generated
vendored
|
@ -1,11 +0,0 @@
|
|||
/**
|
||||
* @license
|
||||
* Copyright Google LLC All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by an MIT-style license that can be
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
import { json } from '@angular-devkit/core';
|
||||
import { Schema as OperatorSchema } from './operator-schema';
|
||||
declare const _default: import("../src/internal").Builder<json.JsonObject & OperatorSchema>;
|
||||
export default _default;
|
44
my-app/node_modules/@angular-devkit/architect/builders/concat.js
generated
vendored
44
my-app/node_modules/@angular-devkit/architect/builders/concat.js
generated
vendored
|
@ -1,44 +0,0 @@
|
|||
"use strict";
|
||||
/**
|
||||
* @license
|
||||
* Copyright Google LLC All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by an MIT-style license that can be
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const rxjs_1 = require("rxjs");
|
||||
const src_1 = require("../src");
|
||||
exports.default = (0, src_1.createBuilder)((options, context) => {
|
||||
const allRuns = [];
|
||||
context.reportProgress(0, (options.targets ? options.targets.length : 0) +
|
||||
(options.builders ? options.builders.length : 0));
|
||||
if (options.targets) {
|
||||
allRuns.push(...options.targets.map(({ target: targetStr, overrides }) => {
|
||||
const [project, target, configuration] = targetStr.split(/:/g, 3);
|
||||
return () => context.scheduleTarget({ project, target, configuration }, overrides || {});
|
||||
}));
|
||||
}
|
||||
if (options.builders) {
|
||||
allRuns.push(...options.builders.map(({ builder, options }) => {
|
||||
return () => context.scheduleBuilder(builder, options || {});
|
||||
}));
|
||||
}
|
||||
let stop = null;
|
||||
let i = 0;
|
||||
context.reportProgress(i++, allRuns.length);
|
||||
return (0, rxjs_1.from)(allRuns).pipe((0, rxjs_1.concatMap)((fn) => stop
|
||||
? (0, rxjs_1.of)(null)
|
||||
: (0, rxjs_1.from)(fn()).pipe((0, rxjs_1.switchMap)((run) => (run === null ? (0, rxjs_1.of)(null) : run.output.pipe((0, rxjs_1.first)()))))), (0, rxjs_1.map)((output) => {
|
||||
context.reportProgress(i++, allRuns.length);
|
||||
if (output === null || stop !== null) {
|
||||
return stop || { success: false };
|
||||
}
|
||||
else if (output.success === false) {
|
||||
return (stop = output);
|
||||
}
|
||||
else {
|
||||
return output;
|
||||
}
|
||||
}), (0, rxjs_1.last)());
|
||||
});
|
9
my-app/node_modules/@angular-devkit/architect/builders/false.d.ts
generated
vendored
9
my-app/node_modules/@angular-devkit/architect/builders/false.d.ts
generated
vendored
|
@ -1,9 +0,0 @@
|
|||
/**
|
||||
* @license
|
||||
* Copyright Google LLC All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by an MIT-style license that can be
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
declare const _default: import("../src/internal").Builder<import("../../core/src").JsonObject>;
|
||||
export default _default;
|
14
my-app/node_modules/@angular-devkit/architect/builders/false.js
generated
vendored
14
my-app/node_modules/@angular-devkit/architect/builders/false.js
generated
vendored
|
@ -1,14 +0,0 @@
|
|||
"use strict";
|
||||
/**
|
||||
* @license
|
||||
* Copyright Google LLC All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by an MIT-style license that can be
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const src_1 = require("../src");
|
||||
exports.default = (0, src_1.createBuilder)(() => ({
|
||||
success: false,
|
||||
error: 'False builder always errors.',
|
||||
}));
|
4
my-app/node_modules/@angular-devkit/architect/builders/noop-schema.json
generated
vendored
4
my-app/node_modules/@angular-devkit/architect/builders/noop-schema.json
generated
vendored
|
@ -1,4 +0,0 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema",
|
||||
"type": "object"
|
||||
}
|
22
my-app/node_modules/@angular-devkit/architect/builders/operator-schema.d.ts
generated
vendored
22
my-app/node_modules/@angular-devkit/architect/builders/operator-schema.d.ts
generated
vendored
|
@ -1,22 +0,0 @@
|
|||
/**
|
||||
* All input types of builders that perform operations on one or multiple sub-builders.
|
||||
*/
|
||||
export interface Schema {
|
||||
builders?: Builder[];
|
||||
targets?: Target[];
|
||||
[property: string]: any;
|
||||
}
|
||||
export interface Builder {
|
||||
builder: string;
|
||||
options?: {
|
||||
[key: string]: any;
|
||||
};
|
||||
[property: string]: any;
|
||||
}
|
||||
export interface Target {
|
||||
overrides?: {
|
||||
[key: string]: any;
|
||||
};
|
||||
target: string;
|
||||
[property: string]: any;
|
||||
}
|
4
my-app/node_modules/@angular-devkit/architect/builders/operator-schema.js
generated
vendored
4
my-app/node_modules/@angular-devkit/architect/builders/operator-schema.js
generated
vendored
|
@ -1,4 +0,0 @@
|
|||
"use strict";
|
||||
// THIS FILE IS AUTOMATICALLY GENERATED. TO UPDATE THIS FILE YOU NEED TO CHANGE THE
|
||||
// CORRESPONDING JSON SCHEMA FILE, THEN RUN devkit-admin build (or bazel build ...).
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
41
my-app/node_modules/@angular-devkit/architect/builders/operator-schema.json
generated
vendored
41
my-app/node_modules/@angular-devkit/architect/builders/operator-schema.json
generated
vendored
|
@ -1,41 +0,0 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema",
|
||||
"description": "All input types of builders that perform operations on one or multiple sub-builders.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"builders": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"builder": {
|
||||
"type": "string",
|
||||
"pattern": ".*:.*"
|
||||
},
|
||||
"options": {
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"required": ["builder"]
|
||||
},
|
||||
"minItems": 1
|
||||
},
|
||||
"targets": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"target": {
|
||||
"type": "string",
|
||||
"pattern": ".*:.*"
|
||||
},
|
||||
"overrides": {
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"required": ["target"]
|
||||
},
|
||||
"minItems": 1
|
||||
}
|
||||
}
|
||||
}
|
9
my-app/node_modules/@angular-devkit/architect/builders/true.d.ts
generated
vendored
9
my-app/node_modules/@angular-devkit/architect/builders/true.d.ts
generated
vendored
|
@ -1,9 +0,0 @@
|
|||
/**
|
||||
* @license
|
||||
* Copyright Google LLC All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by an MIT-style license that can be
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
declare const _default: import("../src/internal").Builder<import("../../core/src").JsonObject>;
|
||||
export default _default;
|
11
my-app/node_modules/@angular-devkit/architect/builders/true.js
generated
vendored
11
my-app/node_modules/@angular-devkit/architect/builders/true.js
generated
vendored
|
@ -1,11 +0,0 @@
|
|||
"use strict";
|
||||
/**
|
||||
* @license
|
||||
* Copyright Google LLC All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by an MIT-style license that can be
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const src_1 = require("../src");
|
||||
exports.default = (0, src_1.createBuilder)(() => ({ success: true }));
|
10
my-app/node_modules/@angular-devkit/architect/node/index.d.ts
generated
vendored
10
my-app/node_modules/@angular-devkit/architect/node/index.d.ts
generated
vendored
|
@ -1,10 +0,0 @@
|
|||
/**
|
||||
* @license
|
||||
* Copyright Google LLC All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by an MIT-style license that can be
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
import * as jobs from './jobs/job-registry';
|
||||
export * from './node-modules-architect-host';
|
||||
export { jobs };
|
39
my-app/node_modules/@angular-devkit/architect/node/index.js
generated
vendored
39
my-app/node_modules/@angular-devkit/architect/node/index.js
generated
vendored
|
@ -1,39 +0,0 @@
|
|||
"use strict";
|
||||
/**
|
||||
* @license
|
||||
* Copyright Google LLC All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by an MIT-style license that can be
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
var desc = Object.getOwnPropertyDescriptor(m, k);
|
||||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
||||
desc = { enumerable: true, get: function() { return m[k]; } };
|
||||
}
|
||||
Object.defineProperty(o, k2, desc);
|
||||
}) : (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
o[k2] = m[k];
|
||||
}));
|
||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
||||
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
||||
}) : function(o, v) {
|
||||
o["default"] = v;
|
||||
});
|
||||
var __importStar = (this && this.__importStar) || function (mod) {
|
||||
if (mod && mod.__esModule) return mod;
|
||||
var result = {};
|
||||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
||||
__setModuleDefault(result, mod);
|
||||
return result;
|
||||
};
|
||||
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
||||
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.jobs = void 0;
|
||||
const jobs = __importStar(require("./jobs/job-registry"));
|
||||
exports.jobs = jobs;
|
||||
__exportStar(require("./node-modules-architect-host"), exports);
|
20
my-app/node_modules/@angular-devkit/architect/node/jobs/job-registry.d.ts
generated
vendored
20
my-app/node_modules/@angular-devkit/architect/node/jobs/job-registry.d.ts
generated
vendored
|
@ -1,20 +0,0 @@
|
|||
/**
|
||||
* @license
|
||||
* Copyright Google LLC All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by an MIT-style license that can be
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
import { jobs } from '@angular-devkit/architect';
|
||||
import { JsonValue } from '@angular-devkit/core';
|
||||
import { Observable } from 'rxjs';
|
||||
export declare class NodeModuleJobRegistry<MinimumArgumentValueT extends JsonValue = JsonValue, MinimumInputValueT extends JsonValue = JsonValue, MinimumOutputValueT extends JsonValue = JsonValue> implements jobs.Registry<MinimumArgumentValueT, MinimumInputValueT, MinimumOutputValueT> {
|
||||
protected _resolve(name: string): string | null;
|
||||
/**
|
||||
* Get a job description for a named job.
|
||||
*
|
||||
* @param name The name of the job.
|
||||
* @returns A description, or null if the job is not registered.
|
||||
*/
|
||||
get<A extends MinimumArgumentValueT, I extends MinimumInputValueT, O extends MinimumOutputValueT>(name: jobs.JobName): Observable<jobs.JobHandler<A, I, O> | null>;
|
||||
}
|
59
my-app/node_modules/@angular-devkit/architect/node/jobs/job-registry.js
generated
vendored
59
my-app/node_modules/@angular-devkit/architect/node/jobs/job-registry.js
generated
vendored
|
@ -1,59 +0,0 @@
|
|||
"use strict";
|
||||
/**
|
||||
* @license
|
||||
* Copyright Google LLC All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by an MIT-style license that can be
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.NodeModuleJobRegistry = void 0;
|
||||
const core_1 = require("@angular-devkit/core");
|
||||
const rxjs_1 = require("rxjs");
|
||||
class NodeModuleJobRegistry {
|
||||
_resolve(name) {
|
||||
try {
|
||||
return require.resolve(name);
|
||||
}
|
||||
catch (e) {
|
||||
if (e.code === 'MODULE_NOT_FOUND') {
|
||||
return null;
|
||||
}
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Get a job description for a named job.
|
||||
*
|
||||
* @param name The name of the job.
|
||||
* @returns A description, or null if the job is not registered.
|
||||
*/
|
||||
get(name) {
|
||||
const [moduleName, exportName] = name.split(/#/, 2);
|
||||
const resolvedPath = this._resolve(moduleName);
|
||||
if (!resolvedPath) {
|
||||
return (0, rxjs_1.of)(null);
|
||||
}
|
||||
const pkg = require(resolvedPath);
|
||||
const handler = pkg[exportName || 'default'];
|
||||
if (!handler) {
|
||||
return (0, rxjs_1.of)(null);
|
||||
}
|
||||
function _getValue(...fields) {
|
||||
return fields.find((x) => core_1.schema.isJsonSchema(x)) || true;
|
||||
}
|
||||
const argument = _getValue(pkg.argument, handler.argument);
|
||||
const input = _getValue(pkg.input, handler.input);
|
||||
const output = _getValue(pkg.output, handler.output);
|
||||
const channels = _getValue(pkg.channels, handler.channels);
|
||||
return (0, rxjs_1.of)(Object.assign(handler.bind(undefined), {
|
||||
jobDescription: {
|
||||
argument,
|
||||
input,
|
||||
output,
|
||||
channels,
|
||||
},
|
||||
}));
|
||||
}
|
||||
}
|
||||
exports.NodeModuleJobRegistry = NodeModuleJobRegistry;
|
58
my-app/node_modules/@angular-devkit/architect/node/node-modules-architect-host.d.ts
generated
vendored
58
my-app/node_modules/@angular-devkit/architect/node/node-modules-architect-host.d.ts
generated
vendored
|
@ -1,58 +0,0 @@
|
|||
/**
|
||||
* @license
|
||||
* Copyright Google LLC All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by an MIT-style license that can be
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
/// <reference types="node" />
|
||||
/// <reference types="@types/node/url" />
|
||||
/// <reference types="@types/node/ts4.8/url" />
|
||||
import { json, workspaces } from '@angular-devkit/core';
|
||||
import { URL } from 'url';
|
||||
import { BuilderInfo } from '../src';
|
||||
import { Target } from '../src/input-schema';
|
||||
import { ArchitectHost, Builder } from '../src/internal';
|
||||
export type NodeModulesBuilderInfo = BuilderInfo & {
|
||||
import: string;
|
||||
};
|
||||
export interface WorkspaceHost {
|
||||
getBuilderName(project: string, target: string): Promise<string>;
|
||||
getMetadata(project: string): Promise<json.JsonObject>;
|
||||
getOptions(project: string, target: string, configuration?: string): Promise<json.JsonObject>;
|
||||
hasTarget(project: string, target: string): Promise<boolean>;
|
||||
getDefaultConfigurationName(project: string, target: string): Promise<string | undefined>;
|
||||
}
|
||||
export declare class WorkspaceNodeModulesArchitectHost implements ArchitectHost<NodeModulesBuilderInfo> {
|
||||
protected _root: string;
|
||||
private workspaceHost;
|
||||
constructor(workspaceHost: WorkspaceHost, _root: string);
|
||||
constructor(workspace: workspaces.WorkspaceDefinition, _root: string);
|
||||
getBuilderNameForTarget(target: Target): Promise<string>;
|
||||
/**
|
||||
* Resolve a builder. This needs to be a string which will be used in a dynamic `import()`
|
||||
* clause. This should throw if no builder can be found. The dynamic import will throw if
|
||||
* it is unsupported.
|
||||
* @param builderStr The name of the builder to be used.
|
||||
* @returns All the info needed for the builder itself.
|
||||
*/
|
||||
resolveBuilder(builderStr: string): Promise<NodeModulesBuilderInfo>;
|
||||
getCurrentDirectory(): Promise<string>;
|
||||
getWorkspaceRoot(): Promise<string>;
|
||||
getOptionsForTarget(target: Target): Promise<json.JsonObject | null>;
|
||||
getProjectMetadata(target: Target | string): Promise<json.JsonObject | null>;
|
||||
loadBuilder(info: NodeModulesBuilderInfo): Promise<Builder>;
|
||||
}
|
||||
/**
|
||||
* This uses a dynamic import to load a module which may be ESM.
|
||||
* CommonJS code can load ESM code via a dynamic import. Unfortunately, TypeScript
|
||||
* will currently, unconditionally downlevel dynamic import into a require call.
|
||||
* require calls cannot load ESM code and will result in a runtime error. To workaround
|
||||
* this, a Function constructor is used to prevent TypeScript from changing the dynamic import.
|
||||
* Once TypeScript provides support for keeping the dynamic import this workaround can
|
||||
* be dropped.
|
||||
*
|
||||
* @param modulePath The path of the module to load.
|
||||
* @returns A Promise that resolves to the dynamically imported module.
|
||||
*/
|
||||
export declare function loadEsmModule<T>(modulePath: string | URL): Promise<T>;
|
232
my-app/node_modules/@angular-devkit/architect/node/node-modules-architect-host.js
generated
vendored
232
my-app/node_modules/@angular-devkit/architect/node/node-modules-architect-host.js
generated
vendored
|
@ -1,232 +0,0 @@
|
|||
"use strict";
|
||||
/**
|
||||
* @license
|
||||
* Copyright Google LLC All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by an MIT-style license that can be
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
var desc = Object.getOwnPropertyDescriptor(m, k);
|
||||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
||||
desc = { enumerable: true, get: function() { return m[k]; } };
|
||||
}
|
||||
Object.defineProperty(o, k2, desc);
|
||||
}) : (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
o[k2] = m[k];
|
||||
}));
|
||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
||||
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
||||
}) : function(o, v) {
|
||||
o["default"] = v;
|
||||
});
|
||||
var __importStar = (this && this.__importStar) || function (mod) {
|
||||
if (mod && mod.__esModule) return mod;
|
||||
var result = {};
|
||||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
||||
__setModuleDefault(result, mod);
|
||||
return result;
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.loadEsmModule = exports.WorkspaceNodeModulesArchitectHost = void 0;
|
||||
const path = __importStar(require("path"));
|
||||
const url_1 = require("url");
|
||||
const v8_1 = require("v8");
|
||||
const internal_1 = require("../src/internal");
|
||||
function clone(obj) {
|
||||
try {
|
||||
return (0, v8_1.deserialize)((0, v8_1.serialize)(obj));
|
||||
}
|
||||
catch {
|
||||
return JSON.parse(JSON.stringify(obj));
|
||||
}
|
||||
}
|
||||
function findProjectTarget(workspace, project, target) {
|
||||
const projectDefinition = workspace.projects.get(project);
|
||||
if (!projectDefinition) {
|
||||
throw new Error(`Project "${project}" does not exist.`);
|
||||
}
|
||||
const targetDefinition = projectDefinition.targets.get(target);
|
||||
if (!targetDefinition) {
|
||||
throw new Error('Project target does not exist.');
|
||||
}
|
||||
return targetDefinition;
|
||||
}
|
||||
class WorkspaceNodeModulesArchitectHost {
|
||||
_root;
|
||||
workspaceHost;
|
||||
constructor(workspaceOrHost, _root) {
|
||||
this._root = _root;
|
||||
if ('getBuilderName' in workspaceOrHost) {
|
||||
this.workspaceHost = workspaceOrHost;
|
||||
}
|
||||
else {
|
||||
this.workspaceHost = {
|
||||
async getBuilderName(project, target) {
|
||||
const targetDefinition = findProjectTarget(workspaceOrHost, project, target);
|
||||
return targetDefinition.builder;
|
||||
},
|
||||
async getOptions(project, target, configuration) {
|
||||
const targetDefinition = findProjectTarget(workspaceOrHost, project, target);
|
||||
if (configuration === undefined) {
|
||||
return (targetDefinition.options ?? {});
|
||||
}
|
||||
if (!targetDefinition.configurations?.[configuration]) {
|
||||
throw new Error(`Configuration '${configuration}' is not set in the workspace.`);
|
||||
}
|
||||
return (targetDefinition.configurations?.[configuration] ?? {});
|
||||
},
|
||||
async getMetadata(project) {
|
||||
const projectDefinition = workspaceOrHost.projects.get(project);
|
||||
if (!projectDefinition) {
|
||||
throw new Error(`Project "${project}" does not exist.`);
|
||||
}
|
||||
return {
|
||||
root: projectDefinition.root,
|
||||
sourceRoot: projectDefinition.sourceRoot,
|
||||
prefix: projectDefinition.prefix,
|
||||
...clone(workspaceOrHost.extensions),
|
||||
...clone(projectDefinition.extensions),
|
||||
};
|
||||
},
|
||||
async hasTarget(project, target) {
|
||||
return !!workspaceOrHost.projects.get(project)?.targets.has(target);
|
||||
},
|
||||
async getDefaultConfigurationName(project, target) {
|
||||
return workspaceOrHost.projects.get(project)?.targets.get(target)?.defaultConfiguration;
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
async getBuilderNameForTarget(target) {
|
||||
return this.workspaceHost.getBuilderName(target.project, target.target);
|
||||
}
|
||||
/**
|
||||
* Resolve a builder. This needs to be a string which will be used in a dynamic `import()`
|
||||
* clause. This should throw if no builder can be found. The dynamic import will throw if
|
||||
* it is unsupported.
|
||||
* @param builderStr The name of the builder to be used.
|
||||
* @returns All the info needed for the builder itself.
|
||||
*/
|
||||
resolveBuilder(builderStr) {
|
||||
const [packageName, builderName] = builderStr.split(':', 2);
|
||||
if (!builderName) {
|
||||
throw new Error('No builder name specified.');
|
||||
}
|
||||
const packageJsonPath = require.resolve(packageName + '/package.json', {
|
||||
paths: [this._root],
|
||||
});
|
||||
const packageJson = require(packageJsonPath);
|
||||
if (!packageJson['builders']) {
|
||||
throw new Error(`Package ${JSON.stringify(packageName)} has no builders defined.`);
|
||||
}
|
||||
const builderJsonPath = path.resolve(path.dirname(packageJsonPath), packageJson['builders']);
|
||||
const builderJson = require(builderJsonPath);
|
||||
const builder = builderJson.builders && builderJson.builders[builderName];
|
||||
if (!builder) {
|
||||
throw new Error(`Cannot find builder ${JSON.stringify(builderStr)}.`);
|
||||
}
|
||||
const importPath = builder.implementation;
|
||||
if (!importPath) {
|
||||
throw new Error('Could not find the implementation for builder ' + builderStr);
|
||||
}
|
||||
return Promise.resolve({
|
||||
name: builderStr,
|
||||
builderName,
|
||||
description: builder['description'],
|
||||
optionSchema: require(path.resolve(path.dirname(builderJsonPath), builder.schema)),
|
||||
import: path.resolve(path.dirname(builderJsonPath), importPath),
|
||||
});
|
||||
}
|
||||
async getCurrentDirectory() {
|
||||
return process.cwd();
|
||||
}
|
||||
async getWorkspaceRoot() {
|
||||
return this._root;
|
||||
}
|
||||
async getOptionsForTarget(target) {
|
||||
if (!(await this.workspaceHost.hasTarget(target.project, target.target))) {
|
||||
return null;
|
||||
}
|
||||
let options = await this.workspaceHost.getOptions(target.project, target.target);
|
||||
const targetConfiguration = target.configuration ||
|
||||
(await this.workspaceHost.getDefaultConfigurationName(target.project, target.target));
|
||||
if (targetConfiguration) {
|
||||
const configurations = targetConfiguration.split(',').map((c) => c.trim());
|
||||
for (const configuration of configurations) {
|
||||
options = {
|
||||
...options,
|
||||
...(await this.workspaceHost.getOptions(target.project, target.target, configuration)),
|
||||
};
|
||||
}
|
||||
}
|
||||
return clone(options);
|
||||
}
|
||||
async getProjectMetadata(target) {
|
||||
const projectName = typeof target === 'string' ? target : target.project;
|
||||
const metadata = this.workspaceHost.getMetadata(projectName);
|
||||
return metadata;
|
||||
}
|
||||
async loadBuilder(info) {
|
||||
const builder = await getBuilder(info.import);
|
||||
if (builder[internal_1.BuilderSymbol]) {
|
||||
return builder;
|
||||
}
|
||||
// Default handling code is for old builders that incorrectly export `default` with non-ESM module
|
||||
if (builder?.default[internal_1.BuilderSymbol]) {
|
||||
return builder.default;
|
||||
}
|
||||
throw new Error('Builder is not a builder');
|
||||
}
|
||||
}
|
||||
exports.WorkspaceNodeModulesArchitectHost = WorkspaceNodeModulesArchitectHost;
|
||||
/**
|
||||
* Lazily compiled dynamic import loader function.
|
||||
*/
|
||||
let load;
|
||||
/**
|
||||
* This uses a dynamic import to load a module which may be ESM.
|
||||
* CommonJS code can load ESM code via a dynamic import. Unfortunately, TypeScript
|
||||
* will currently, unconditionally downlevel dynamic import into a require call.
|
||||
* require calls cannot load ESM code and will result in a runtime error. To workaround
|
||||
* this, a Function constructor is used to prevent TypeScript from changing the dynamic import.
|
||||
* Once TypeScript provides support for keeping the dynamic import this workaround can
|
||||
* be dropped.
|
||||
*
|
||||
* @param modulePath The path of the module to load.
|
||||
* @returns A Promise that resolves to the dynamically imported module.
|
||||
*/
|
||||
function loadEsmModule(modulePath) {
|
||||
load ??= new Function('modulePath', `return import(modulePath);`);
|
||||
return load(modulePath);
|
||||
}
|
||||
exports.loadEsmModule = loadEsmModule;
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
async function getBuilder(builderPath) {
|
||||
switch (path.extname(builderPath)) {
|
||||
case '.mjs':
|
||||
// Load the ESM configuration file using the TypeScript dynamic import workaround.
|
||||
// Once TypeScript provides support for keeping the dynamic import this workaround can be
|
||||
// changed to a direct dynamic import.
|
||||
return (await loadEsmModule((0, url_1.pathToFileURL)(builderPath))).default;
|
||||
case '.cjs':
|
||||
return require(builderPath);
|
||||
default:
|
||||
// The file could be either CommonJS or ESM.
|
||||
// CommonJS is tried first then ESM if loading fails.
|
||||
try {
|
||||
return require(builderPath);
|
||||
}
|
||||
catch (e) {
|
||||
if (e.code === 'ERR_REQUIRE_ESM') {
|
||||
// Load the ESM configuration file using the TypeScript dynamic import workaround.
|
||||
// Once TypeScript provides support for keeping the dynamic import this workaround can be
|
||||
// changed to a direct dynamic import.
|
||||
return (await loadEsmModule((0, url_1.pathToFileURL)(builderPath))).default;
|
||||
}
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
}
|
35
my-app/node_modules/@angular-devkit/architect/package.json
generated
vendored
35
my-app/node_modules/@angular-devkit/architect/package.json
generated
vendored
|
@ -1,35 +0,0 @@
|
|||
{
|
||||
"name": "@angular-devkit/architect",
|
||||
"version": "0.1701.3",
|
||||
"description": "Angular Build Facade",
|
||||
"experimental": true,
|
||||
"main": "src/index.js",
|
||||
"typings": "src/index.d.ts",
|
||||
"dependencies": {
|
||||
"@angular-devkit/core": "17.1.3",
|
||||
"rxjs": "7.8.1"
|
||||
},
|
||||
"builders": "./builders/builders.json",
|
||||
"keywords": [
|
||||
"Angular CLI",
|
||||
"Angular DevKit",
|
||||
"angular",
|
||||
"devkit",
|
||||
"sdk"
|
||||
],
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/angular/angular-cli.git"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^18.13.0 || >=20.9.0",
|
||||
"npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
|
||||
"yarn": ">= 1.13.0"
|
||||
},
|
||||
"author": "Angular Authors",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/angular/angular-cli/issues"
|
||||
},
|
||||
"homepage": "https://github.com/angular/angular-cli"
|
||||
}
|
268
my-app/node_modules/@angular-devkit/architect/src/api.d.ts
generated
vendored
268
my-app/node_modules/@angular-devkit/architect/src/api.d.ts
generated
vendored
|
@ -1,268 +0,0 @@
|
|||
/**
|
||||
* @license
|
||||
* Copyright Google LLC All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by an MIT-style license that can be
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
import { json, logging } from '@angular-devkit/core';
|
||||
import { Observable, ObservableInput } from 'rxjs';
|
||||
import { Schema as RealBuilderInput, Target as RealTarget } from './input-schema';
|
||||
import { Registry } from './jobs';
|
||||
import { Schema as RealBuilderOutput } from './output-schema';
|
||||
import { State as BuilderProgressState, Schema as RealBuilderProgress } from './progress-schema';
|
||||
export type Target = json.JsonObject & RealTarget;
|
||||
export { BuilderProgressState };
|
||||
export type BuilderRegistry = Registry<json.JsonObject, BuilderInput, BuilderOutput>;
|
||||
/**
|
||||
* An API typed BuilderProgress. The interface generated from the schema is too permissive,
|
||||
* so this API is the one we show in our API. Please note that not all fields are in there; this
|
||||
* is in addition to fields in the schema.
|
||||
*/
|
||||
export type TypedBuilderProgress = {
|
||||
state: BuilderProgressState.Stopped;
|
||||
} | {
|
||||
state: BuilderProgressState.Error;
|
||||
error: json.JsonValue;
|
||||
} | {
|
||||
state: BuilderProgressState.Waiting;
|
||||
status?: string;
|
||||
} | {
|
||||
state: BuilderProgressState.Running;
|
||||
status?: string;
|
||||
current: number;
|
||||
total?: number;
|
||||
};
|
||||
/**
|
||||
* Declaration of those types as JsonObject compatible. JsonObject is not compatible with
|
||||
* optional members, so those wouldn't be directly assignable to our internal Json typings.
|
||||
* Forcing the type to be both a JsonObject and the type from the Schema tells Typescript they
|
||||
* are compatible (which they are).
|
||||
* These types should be used everywhere.
|
||||
*/
|
||||
export type BuilderInput = json.JsonObject & RealBuilderInput;
|
||||
export type BuilderOutput = json.JsonObject & RealBuilderOutput;
|
||||
export type BuilderProgress = json.JsonObject & RealBuilderProgress & TypedBuilderProgress;
|
||||
/**
|
||||
* A progress report is what the tooling will receive. It contains the builder info and the target.
|
||||
* Although these are serializable, they are only exposed through the tooling interface, not the
|
||||
* builder interface. The watch dog sends BuilderProgress and the Builder has a set of functions
|
||||
* to manage the state.
|
||||
*/
|
||||
export type BuilderProgressReport = BuilderProgress & {
|
||||
target?: Target;
|
||||
builder: BuilderInfo;
|
||||
};
|
||||
/**
|
||||
* A Run, which is what is returned by scheduleBuilder or scheduleTarget functions. This should
|
||||
* be reconstructed across memory boundaries (it's not serializable but all internal information
|
||||
* are).
|
||||
*/
|
||||
export interface BuilderRun {
|
||||
/**
|
||||
* Unique amongst runs. This is the same ID as the context generated for the run. It can be
|
||||
* used to identify multiple unique runs. There is no guarantee that a run is a single output;
|
||||
* a builder can rebuild on its own and will generate multiple outputs.
|
||||
*/
|
||||
id: number;
|
||||
/**
|
||||
* The builder information.
|
||||
*/
|
||||
info: BuilderInfo;
|
||||
/**
|
||||
* The next output from a builder. This is recommended when scheduling a builder and only being
|
||||
* interested in the result of that single run, not of a watch-mode builder.
|
||||
*/
|
||||
result: Promise<BuilderOutput>;
|
||||
/**
|
||||
* The last output from a builder. This is recommended when scheduling a builder and only being
|
||||
* interested in the result of that last run.
|
||||
*/
|
||||
lastOutput: Promise<BuilderOutput>;
|
||||
/**
|
||||
* The output(s) from the builder. A builder can have multiple outputs.
|
||||
* This always replay the last output when subscribed.
|
||||
*/
|
||||
output: Observable<BuilderOutput>;
|
||||
/**
|
||||
* The progress report. A progress also contains an ID, which can be different than this run's
|
||||
* ID (if the builder calls scheduleBuilder or scheduleTarget).
|
||||
* This will always replay the last progress on new subscriptions.
|
||||
*/
|
||||
progress: Observable<BuilderProgressReport>;
|
||||
/**
|
||||
* Stop the builder from running. Returns a promise that resolves when the builder is stopped.
|
||||
* Some builders might not handle stopping properly and should have a timeout here.
|
||||
*/
|
||||
stop(): Promise<void>;
|
||||
}
|
||||
/**
|
||||
* Additional optional scheduling options.
|
||||
*/
|
||||
export interface ScheduleOptions {
|
||||
/**
|
||||
* Logger to pass to the builder. Note that messages will stop being forwarded, and if you want
|
||||
* to log a builder scheduled from your builder you should forward log events yourself.
|
||||
*/
|
||||
logger?: logging.Logger;
|
||||
/**
|
||||
* Target to pass to the builder.
|
||||
*/
|
||||
target?: Target;
|
||||
}
|
||||
/**
|
||||
* The context received as a second argument in your builder.
|
||||
*/
|
||||
export interface BuilderContext {
|
||||
/**
|
||||
* Unique amongst contexts. Contexts instances are not guaranteed to be the same (but it could
|
||||
* be the same context), and all the fields in a context could be the same, yet the builder's
|
||||
* context could be different. This is the same ID as the corresponding run.
|
||||
*/
|
||||
id: number;
|
||||
/**
|
||||
* The builder info that called your function. Since the builder info is from the builder.json
|
||||
* (or the host), it could contain information that is different than expected.
|
||||
*/
|
||||
builder: BuilderInfo;
|
||||
/**
|
||||
* A logger that appends messages to a log. This could be a separate interface or completely
|
||||
* ignored. `console.log` could also be completely ignored.
|
||||
*/
|
||||
logger: logging.LoggerApi;
|
||||
/**
|
||||
* The absolute workspace root of this run. This is a system path and will not be normalized;
|
||||
* ie. on Windows it will starts with `C:\\` (or whatever drive).
|
||||
*/
|
||||
workspaceRoot: string;
|
||||
/**
|
||||
* The current directory the user is in. This could be outside the workspace root. This is a
|
||||
* system path and will not be normalized; ie. on Windows it will starts with `C:\\` (or
|
||||
* whatever drive).
|
||||
*/
|
||||
currentDirectory: string;
|
||||
/**
|
||||
* The target that was used to run this builder.
|
||||
* Target is optional if a builder was ran using `scheduleBuilder()`.
|
||||
*/
|
||||
target?: Target;
|
||||
/**
|
||||
* Schedule a target in the same workspace. This can be the same target that is being executed
|
||||
* right now, but targets of the same name are serialized.
|
||||
* Running the same target and waiting for it to end will result in a deadlocking scenario.
|
||||
* Targets are considered the same if the project, the target AND the configuration are the same.
|
||||
* @param target The target to schedule.
|
||||
* @param overrides A set of options to override the workspace set of options.
|
||||
* @param scheduleOptions Additional optional scheduling options.
|
||||
* @return A promise of a run. It will resolve when all the members of the run are available.
|
||||
*/
|
||||
scheduleTarget(target: Target, overrides?: json.JsonObject, scheduleOptions?: ScheduleOptions): Promise<BuilderRun>;
|
||||
/**
|
||||
* Schedule a builder by its name. This can be the same builder that is being executed.
|
||||
* @param builderName The name of the builder, ie. its `packageName:builderName` tuple.
|
||||
* @param options All options to use for the builder (by default empty object). There is no
|
||||
* additional options added, e.g. from the workspace.
|
||||
* @param scheduleOptions Additional optional scheduling options.
|
||||
* @return A promise of a run. It will resolve when all the members of the run are available.
|
||||
*/
|
||||
scheduleBuilder(builderName: string, options?: json.JsonObject, scheduleOptions?: ScheduleOptions): Promise<BuilderRun>;
|
||||
/**
|
||||
* Resolve and return options for a specified target. If the target isn't defined in the
|
||||
* workspace this will reject the promise. This object will be read directly from the workspace
|
||||
* but not validated against the builder of the target.
|
||||
* @param target The target to resolve the options of.
|
||||
* @return A non-validated object resolved from the workspace.
|
||||
*/
|
||||
getTargetOptions(target: Target): Promise<json.JsonObject>;
|
||||
getProjectMetadata(projectName: string): Promise<json.JsonObject>;
|
||||
getProjectMetadata(target: Target): Promise<json.JsonObject>;
|
||||
/**
|
||||
* Resolves and return a builder name. The exact format of the name is up to the host,
|
||||
* so it should not be parsed to gather information (it's free form). This string can be
|
||||
* used to validate options or schedule a builder directly.
|
||||
* @param target The target to resolve the builder name.
|
||||
*/
|
||||
getBuilderNameForTarget(target: Target): Promise<string>;
|
||||
/**
|
||||
* Validates the options against a builder schema. This uses the same methods as the
|
||||
* scheduleTarget and scheduleBrowser methods to validate and apply defaults to the options.
|
||||
* It can be generically typed, if you know which interface it is supposed to validate against.
|
||||
* @param options A generic option object to validate.
|
||||
* @param builderName The name of a builder to use. This can be gotten for a target by using the
|
||||
* getBuilderForTarget() method on the context.
|
||||
*/
|
||||
validateOptions<T extends json.JsonObject = json.JsonObject>(options: json.JsonObject, builderName: string): Promise<T>;
|
||||
/**
|
||||
* Set the builder to running. This should be used if an external event triggered a re-run,
|
||||
* e.g. a file watched was changed.
|
||||
*/
|
||||
reportRunning(): void;
|
||||
/**
|
||||
* Update the status string shown on the interface.
|
||||
* @param status The status to set it to. An empty string can be used to remove the status.
|
||||
*/
|
||||
reportStatus(status: string): void;
|
||||
/**
|
||||
* Update the progress for this builder run.
|
||||
* @param current The current progress. This will be between 0 and total.
|
||||
* @param total A new total to set. By default at the start of a run this is 1. If omitted it
|
||||
* will use the same value as the last total.
|
||||
* @param status Update the status string. If omitted the status string is not modified.
|
||||
*/
|
||||
reportProgress(current: number, total?: number, status?: string): void;
|
||||
/**
|
||||
* Add teardown logic to this Context, so that when it's being stopped it will execute teardown.
|
||||
*/
|
||||
addTeardown(teardown: () => Promise<void> | void): void;
|
||||
}
|
||||
/**
|
||||
* An accepted return value from a builder. Can be either an Observable, a Promise or a vector.
|
||||
*/
|
||||
export type BuilderOutputLike = ObservableInput<BuilderOutput> | BuilderOutput;
|
||||
export declare function isBuilderOutput(obj: any): obj is BuilderOutput;
|
||||
export declare function fromAsyncIterable<T>(iterable: AsyncIterable<T>): Observable<T>;
|
||||
/**
|
||||
* A builder handler function. The function signature passed to `createBuilder()`.
|
||||
*/
|
||||
export interface BuilderHandlerFn<A> {
|
||||
/**
|
||||
* Builders are defined by users to perform any kind of task, like building, testing or linting,
|
||||
* and should use this interface.
|
||||
* @param input The options (a JsonObject), validated by the schema and received by the
|
||||
* builder. This can include resolved options from the CLI or the workspace.
|
||||
* @param context A context that can be used to interact with the Architect framework.
|
||||
* @return One or many builder output.
|
||||
*/
|
||||
(input: A, context: BuilderContext): BuilderOutputLike;
|
||||
}
|
||||
/**
|
||||
* A Builder general information. This is generated by the host and is expanded by the host, but
|
||||
* the public API contains those fields.
|
||||
*/
|
||||
export type BuilderInfo = json.JsonObject & {
|
||||
builderName: string;
|
||||
description: string;
|
||||
optionSchema: json.schema.JsonSchema;
|
||||
};
|
||||
/**
|
||||
* Returns a string of "project:target[:configuration]" for the target object.
|
||||
*/
|
||||
export declare function targetStringFromTarget({ project, target, configuration }: Target): string;
|
||||
/**
|
||||
* Return a Target tuple from a string.
|
||||
*/
|
||||
export declare function targetFromTargetString(str: string): Target;
|
||||
/**
|
||||
* Schedule a target, and forget about its run. This will return an observable of outputs, that
|
||||
* as a teardown will stop the target from running. This means that the Run object this returns
|
||||
* should not be shared.
|
||||
*
|
||||
* The reason this is not part of the Context interface is to keep the Context as normal form as
|
||||
* possible. This is really an utility that people would implement in their project.
|
||||
*
|
||||
* @param context The context of your current execution.
|
||||
* @param target The target to schedule.
|
||||
* @param overrides Overrides that are used in the target.
|
||||
* @param scheduleOptions Additional scheduling options.
|
||||
*/
|
||||
export declare function scheduleTargetAndForget(context: BuilderContext, target: Target, overrides?: json.JsonObject, scheduleOptions?: ScheduleOptions): Observable<BuilderOutput>;
|
96
my-app/node_modules/@angular-devkit/architect/src/api.js
generated
vendored
96
my-app/node_modules/@angular-devkit/architect/src/api.js
generated
vendored
|
@ -1,96 +0,0 @@
|
|||
"use strict";
|
||||
/**
|
||||
* @license
|
||||
* Copyright Google LLC All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by an MIT-style license that can be
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.scheduleTargetAndForget = exports.targetFromTargetString = exports.targetStringFromTarget = exports.fromAsyncIterable = exports.isBuilderOutput = exports.BuilderProgressState = void 0;
|
||||
const rxjs_1 = require("rxjs");
|
||||
const progress_schema_1 = require("./progress-schema");
|
||||
Object.defineProperty(exports, "BuilderProgressState", { enumerable: true, get: function () { return progress_schema_1.State; } });
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
function isBuilderOutput(obj) {
|
||||
if (!obj || typeof obj.then === 'function' || typeof obj.subscribe === 'function') {
|
||||
return false;
|
||||
}
|
||||
if (typeof obj[Symbol.asyncIterator] === 'function') {
|
||||
return false;
|
||||
}
|
||||
return typeof obj.success === 'boolean';
|
||||
}
|
||||
exports.isBuilderOutput = isBuilderOutput;
|
||||
function fromAsyncIterable(iterable) {
|
||||
return new rxjs_1.Observable((subscriber) => {
|
||||
handleAsyncIterator(subscriber, iterable[Symbol.asyncIterator]()).then(() => subscriber.complete(), (error) => subscriber.error(error));
|
||||
});
|
||||
}
|
||||
exports.fromAsyncIterable = fromAsyncIterable;
|
||||
async function handleAsyncIterator(subscriber, iterator) {
|
||||
const teardown = new Promise((resolve) => subscriber.add(() => resolve()));
|
||||
try {
|
||||
while (!subscriber.closed) {
|
||||
const result = await Promise.race([teardown, iterator.next()]);
|
||||
if (!result || result.done) {
|
||||
break;
|
||||
}
|
||||
subscriber.next(result.value);
|
||||
}
|
||||
}
|
||||
finally {
|
||||
await iterator.return?.();
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Returns a string of "project:target[:configuration]" for the target object.
|
||||
*/
|
||||
function targetStringFromTarget({ project, target, configuration }) {
|
||||
return `${project}:${target}${configuration !== undefined ? ':' + configuration : ''}`;
|
||||
}
|
||||
exports.targetStringFromTarget = targetStringFromTarget;
|
||||
/**
|
||||
* Return a Target tuple from a string.
|
||||
*/
|
||||
function targetFromTargetString(str) {
|
||||
const tuple = str.split(/:/, 3);
|
||||
if (tuple.length < 2) {
|
||||
throw new Error('Invalid target string: ' + JSON.stringify(str));
|
||||
}
|
||||
return {
|
||||
project: tuple[0],
|
||||
target: tuple[1],
|
||||
...(tuple[2] !== undefined && { configuration: tuple[2] }),
|
||||
};
|
||||
}
|
||||
exports.targetFromTargetString = targetFromTargetString;
|
||||
/**
|
||||
* Schedule a target, and forget about its run. This will return an observable of outputs, that
|
||||
* as a teardown will stop the target from running. This means that the Run object this returns
|
||||
* should not be shared.
|
||||
*
|
||||
* The reason this is not part of the Context interface is to keep the Context as normal form as
|
||||
* possible. This is really an utility that people would implement in their project.
|
||||
*
|
||||
* @param context The context of your current execution.
|
||||
* @param target The target to schedule.
|
||||
* @param overrides Overrides that are used in the target.
|
||||
* @param scheduleOptions Additional scheduling options.
|
||||
*/
|
||||
function scheduleTargetAndForget(context, target, overrides, scheduleOptions) {
|
||||
let resolve = null;
|
||||
const promise = new Promise((r) => (resolve = r));
|
||||
context.addTeardown(() => promise);
|
||||
return (0, rxjs_1.from)(context.scheduleTarget(target, overrides, scheduleOptions)).pipe((0, rxjs_1.switchMap)((run) => new rxjs_1.Observable((observer) => {
|
||||
const subscription = run.output.subscribe(observer);
|
||||
return () => {
|
||||
subscription.unsubscribe();
|
||||
// We can properly ignore the floating promise as it's a "reverse" promise; the teardown
|
||||
// is waiting for the resolve.
|
||||
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
||||
run.stop().then(resolve);
|
||||
};
|
||||
})));
|
||||
}
|
||||
exports.scheduleTargetAndForget = scheduleTargetAndForget;
|
25
my-app/node_modules/@angular-devkit/architect/src/architect.d.ts
generated
vendored
25
my-app/node_modules/@angular-devkit/architect/src/architect.d.ts
generated
vendored
|
@ -1,25 +0,0 @@
|
|||
/**
|
||||
* @license
|
||||
* Copyright Google LLC All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by an MIT-style license that can be
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
import { json, logging } from '@angular-devkit/core';
|
||||
import { Observable } from 'rxjs';
|
||||
import { BuilderRun, Target } from './api';
|
||||
import { ArchitectHost } from './internal';
|
||||
import { JobName, Registry } from './jobs';
|
||||
export interface ScheduleOptions {
|
||||
logger?: logging.Logger;
|
||||
}
|
||||
export declare class Architect {
|
||||
private _host;
|
||||
private readonly _scheduler;
|
||||
private readonly _jobCache;
|
||||
private readonly _infoCache;
|
||||
constructor(_host: ArchitectHost, registry?: json.schema.SchemaRegistry, additionalJobRegistry?: Registry);
|
||||
has(name: JobName): Observable<boolean>;
|
||||
scheduleBuilder(name: string, options: json.JsonObject, scheduleOptions?: ScheduleOptions): Promise<BuilderRun>;
|
||||
scheduleTarget(target: Target, overrides?: json.JsonObject, scheduleOptions?: ScheduleOptions): Promise<BuilderRun>;
|
||||
}
|
284
my-app/node_modules/@angular-devkit/architect/src/architect.js
generated
vendored
284
my-app/node_modules/@angular-devkit/architect/src/architect.js
generated
vendored
|
@ -1,284 +0,0 @@
|
|||
"use strict";
|
||||
/**
|
||||
* @license
|
||||
* Copyright Google LLC All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by an MIT-style license that can be
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Architect = void 0;
|
||||
const core_1 = require("@angular-devkit/core");
|
||||
const rxjs_1 = require("rxjs");
|
||||
const api_1 = require("./api");
|
||||
const jobs_1 = require("./jobs");
|
||||
const schedule_by_name_1 = require("./schedule-by-name");
|
||||
const inputSchema = require('./input-schema.json');
|
||||
const outputSchema = require('./output-schema.json');
|
||||
function _createJobHandlerFromBuilderInfo(info, target, host, registry, baseOptions) {
|
||||
const jobDescription = {
|
||||
name: target ? `{${(0, api_1.targetStringFromTarget)(target)}}` : info.builderName,
|
||||
argument: { type: 'object' },
|
||||
input: inputSchema,
|
||||
output: outputSchema,
|
||||
info,
|
||||
};
|
||||
function handler(argument, context) {
|
||||
// Add input validation to the inbound bus.
|
||||
const inboundBusWithInputValidation = context.inboundBus.pipe((0, rxjs_1.concatMap)(async (message) => {
|
||||
if (message.kind === jobs_1.JobInboundMessageKind.Input) {
|
||||
const v = message.value;
|
||||
const options = {
|
||||
...baseOptions,
|
||||
...v.options,
|
||||
};
|
||||
// Validate v against the options schema.
|
||||
const validation = await registry.compile(info.optionSchema);
|
||||
const validationResult = await validation(options);
|
||||
const { data, success, errors } = validationResult;
|
||||
if (!success) {
|
||||
throw new core_1.json.schema.SchemaValidationException(errors);
|
||||
}
|
||||
return { ...message, value: { ...v, options: data } };
|
||||
}
|
||||
else {
|
||||
return message;
|
||||
}
|
||||
}),
|
||||
// Using a share replay because the job might be synchronously sending input, but
|
||||
// asynchronously listening to it.
|
||||
(0, rxjs_1.shareReplay)(1));
|
||||
// Make an inboundBus that completes instead of erroring out.
|
||||
// We'll merge the errors into the output instead.
|
||||
const inboundBus = (0, rxjs_1.onErrorResumeNext)(inboundBusWithInputValidation);
|
||||
const output = (0, rxjs_1.from)(host.loadBuilder(info)).pipe((0, rxjs_1.concatMap)((builder) => {
|
||||
if (builder === null) {
|
||||
throw new Error(`Cannot load builder for builderInfo ${JSON.stringify(info, null, 2)}`);
|
||||
}
|
||||
return builder.handler(argument, { ...context, inboundBus }).pipe((0, rxjs_1.map)((output) => {
|
||||
if (output.kind === jobs_1.JobOutboundMessageKind.Output) {
|
||||
// Add target to it.
|
||||
return {
|
||||
...output,
|
||||
value: {
|
||||
...output.value,
|
||||
...(target ? { target } : 0),
|
||||
},
|
||||
};
|
||||
}
|
||||
else {
|
||||
return output;
|
||||
}
|
||||
}));
|
||||
}),
|
||||
// Share subscriptions to the output, otherwise the handler will be re-run.
|
||||
(0, rxjs_1.shareReplay)());
|
||||
// Separate the errors from the inbound bus into their own observable that completes when the
|
||||
// builder output does.
|
||||
const inboundBusErrors = inboundBusWithInputValidation.pipe((0, rxjs_1.ignoreElements)(), (0, rxjs_1.takeUntil)((0, rxjs_1.onErrorResumeNext)(output.pipe((0, rxjs_1.last)()))));
|
||||
// Return the builder output plus any input errors.
|
||||
return (0, rxjs_1.merge)(inboundBusErrors, output);
|
||||
}
|
||||
return (0, rxjs_1.of)(Object.assign(handler, { jobDescription }));
|
||||
}
|
||||
/**
|
||||
* A JobRegistry that resolves builder targets from the host.
|
||||
*/
|
||||
class ArchitectBuilderJobRegistry {
|
||||
_host;
|
||||
_registry;
|
||||
_jobCache;
|
||||
_infoCache;
|
||||
constructor(_host, _registry, _jobCache, _infoCache) {
|
||||
this._host = _host;
|
||||
this._registry = _registry;
|
||||
this._jobCache = _jobCache;
|
||||
this._infoCache = _infoCache;
|
||||
}
|
||||
_resolveBuilder(name) {
|
||||
const cache = this._infoCache;
|
||||
if (cache) {
|
||||
const maybeCache = cache.get(name);
|
||||
if (maybeCache !== undefined) {
|
||||
return maybeCache;
|
||||
}
|
||||
const info = (0, rxjs_1.from)(this._host.resolveBuilder(name)).pipe((0, rxjs_1.shareReplay)(1));
|
||||
cache.set(name, info);
|
||||
return info;
|
||||
}
|
||||
return (0, rxjs_1.from)(this._host.resolveBuilder(name));
|
||||
}
|
||||
_createBuilder(info, target, options) {
|
||||
const cache = this._jobCache;
|
||||
if (target) {
|
||||
const maybeHit = cache && cache.get((0, api_1.targetStringFromTarget)(target));
|
||||
if (maybeHit) {
|
||||
return maybeHit;
|
||||
}
|
||||
}
|
||||
else {
|
||||
const maybeHit = cache && cache.get(info.builderName);
|
||||
if (maybeHit) {
|
||||
return maybeHit;
|
||||
}
|
||||
}
|
||||
const result = _createJobHandlerFromBuilderInfo(info, target, this._host, this._registry, options || {});
|
||||
if (cache) {
|
||||
if (target) {
|
||||
cache.set((0, api_1.targetStringFromTarget)(target), result.pipe((0, rxjs_1.shareReplay)(1)));
|
||||
}
|
||||
else {
|
||||
cache.set(info.builderName, result.pipe((0, rxjs_1.shareReplay)(1)));
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
get(name) {
|
||||
const m = name.match(/^([^:]+):([^:]+)$/i);
|
||||
if (!m) {
|
||||
return (0, rxjs_1.of)(null);
|
||||
}
|
||||
return (0, rxjs_1.from)(this._resolveBuilder(name)).pipe((0, rxjs_1.concatMap)((builderInfo) => (builderInfo ? this._createBuilder(builderInfo) : (0, rxjs_1.of)(null))), (0, rxjs_1.first)(null, null));
|
||||
}
|
||||
}
|
||||
/**
|
||||
* A JobRegistry that resolves targets from the host.
|
||||
*/
|
||||
class ArchitectTargetJobRegistry extends ArchitectBuilderJobRegistry {
|
||||
get(name) {
|
||||
const m = name.match(/^{([^:]+):([^:]+)(?::([^:]*))?}$/i);
|
||||
if (!m) {
|
||||
return (0, rxjs_1.of)(null);
|
||||
}
|
||||
const target = {
|
||||
project: m[1],
|
||||
target: m[2],
|
||||
configuration: m[3],
|
||||
};
|
||||
return (0, rxjs_1.from)(Promise.all([
|
||||
this._host.getBuilderNameForTarget(target),
|
||||
this._host.getOptionsForTarget(target),
|
||||
])).pipe((0, rxjs_1.concatMap)(([builderStr, options]) => {
|
||||
if (builderStr === null || options === null) {
|
||||
return (0, rxjs_1.of)(null);
|
||||
}
|
||||
return this._resolveBuilder(builderStr).pipe((0, rxjs_1.concatMap)((builderInfo) => {
|
||||
if (builderInfo === null) {
|
||||
return (0, rxjs_1.of)(null);
|
||||
}
|
||||
return this._createBuilder(builderInfo, target, options);
|
||||
}));
|
||||
}), (0, rxjs_1.first)(null, null));
|
||||
}
|
||||
}
|
||||
function _getTargetOptionsFactory(host) {
|
||||
return (0, jobs_1.createJobHandler)((target) => {
|
||||
return host.getOptionsForTarget(target).then((options) => {
|
||||
if (options === null) {
|
||||
throw new Error(`Invalid target: ${JSON.stringify(target)}.`);
|
||||
}
|
||||
return options;
|
||||
});
|
||||
}, {
|
||||
name: '..getTargetOptions',
|
||||
output: { type: 'object' },
|
||||
argument: inputSchema.properties.target,
|
||||
});
|
||||
}
|
||||
function _getProjectMetadataFactory(host) {
|
||||
return (0, jobs_1.createJobHandler)((target) => {
|
||||
return host.getProjectMetadata(target).then((options) => {
|
||||
if (options === null) {
|
||||
throw new Error(`Invalid target: ${JSON.stringify(target)}.`);
|
||||
}
|
||||
return options;
|
||||
});
|
||||
}, {
|
||||
name: '..getProjectMetadata',
|
||||
output: { type: 'object' },
|
||||
argument: {
|
||||
oneOf: [{ type: 'string' }, inputSchema.properties.target],
|
||||
},
|
||||
});
|
||||
}
|
||||
function _getBuilderNameForTargetFactory(host) {
|
||||
return (0, jobs_1.createJobHandler)(async (target) => {
|
||||
const builderName = await host.getBuilderNameForTarget(target);
|
||||
if (!builderName) {
|
||||
throw new Error(`No builder were found for target ${(0, api_1.targetStringFromTarget)(target)}.`);
|
||||
}
|
||||
return builderName;
|
||||
}, {
|
||||
name: '..getBuilderNameForTarget',
|
||||
output: { type: 'string' },
|
||||
argument: inputSchema.properties.target,
|
||||
});
|
||||
}
|
||||
function _validateOptionsFactory(host, registry) {
|
||||
return (0, jobs_1.createJobHandler)(async ([builderName, options]) => {
|
||||
// Get option schema from the host.
|
||||
const builderInfo = await host.resolveBuilder(builderName);
|
||||
if (!builderInfo) {
|
||||
throw new Error(`No builder info were found for builder ${JSON.stringify(builderName)}.`);
|
||||
}
|
||||
const validation = await registry.compile(builderInfo.optionSchema);
|
||||
const { data, success, errors } = await validation(options);
|
||||
if (!success) {
|
||||
throw new core_1.json.schema.SchemaValidationException(errors);
|
||||
}
|
||||
return data;
|
||||
}, {
|
||||
name: '..validateOptions',
|
||||
output: { type: 'object' },
|
||||
argument: {
|
||||
type: 'array',
|
||||
items: [{ type: 'string' }, { type: 'object' }],
|
||||
},
|
||||
});
|
||||
}
|
||||
class Architect {
|
||||
_host;
|
||||
_scheduler;
|
||||
_jobCache = new Map();
|
||||
_infoCache = new Map();
|
||||
constructor(_host, registry = new core_1.json.schema.CoreSchemaRegistry(), additionalJobRegistry) {
|
||||
this._host = _host;
|
||||
const privateArchitectJobRegistry = new jobs_1.SimpleJobRegistry();
|
||||
// Create private jobs.
|
||||
privateArchitectJobRegistry.register(_getTargetOptionsFactory(_host));
|
||||
privateArchitectJobRegistry.register(_getBuilderNameForTargetFactory(_host));
|
||||
privateArchitectJobRegistry.register(_validateOptionsFactory(_host, registry));
|
||||
privateArchitectJobRegistry.register(_getProjectMetadataFactory(_host));
|
||||
const jobRegistry = new jobs_1.FallbackRegistry([
|
||||
new ArchitectTargetJobRegistry(_host, registry, this._jobCache, this._infoCache),
|
||||
new ArchitectBuilderJobRegistry(_host, registry, this._jobCache, this._infoCache),
|
||||
privateArchitectJobRegistry,
|
||||
...(additionalJobRegistry ? [additionalJobRegistry] : []),
|
||||
]);
|
||||
this._scheduler = new jobs_1.SimpleScheduler(jobRegistry, registry);
|
||||
}
|
||||
has(name) {
|
||||
return this._scheduler.has(name);
|
||||
}
|
||||
scheduleBuilder(name, options, scheduleOptions = {}) {
|
||||
// The below will match 'project:target:configuration'
|
||||
if (!/^[^:]+:[^:]+(:[^:]+)?$/.test(name)) {
|
||||
throw new Error('Invalid builder name: ' + JSON.stringify(name));
|
||||
}
|
||||
return (0, schedule_by_name_1.scheduleByName)(name, options, {
|
||||
scheduler: this._scheduler,
|
||||
logger: scheduleOptions.logger || new core_1.logging.NullLogger(),
|
||||
currentDirectory: this._host.getCurrentDirectory(),
|
||||
workspaceRoot: this._host.getWorkspaceRoot(),
|
||||
});
|
||||
}
|
||||
scheduleTarget(target, overrides = {}, scheduleOptions = {}) {
|
||||
return (0, schedule_by_name_1.scheduleByTarget)(target, overrides, {
|
||||
scheduler: this._scheduler,
|
||||
logger: scheduleOptions.logger || new core_1.logging.NullLogger(),
|
||||
currentDirectory: this._host.getCurrentDirectory(),
|
||||
workspaceRoot: this._host.getWorkspaceRoot(),
|
||||
});
|
||||
}
|
||||
}
|
||||
exports.Architect = Architect;
|
32
my-app/node_modules/@angular-devkit/architect/src/builders-schema.d.ts
generated
vendored
32
my-app/node_modules/@angular-devkit/architect/src/builders-schema.d.ts
generated
vendored
|
@ -1,32 +0,0 @@
|
|||
export interface Schema {
|
||||
/**
|
||||
* Link to schema.
|
||||
*/
|
||||
$schema?: string;
|
||||
builders: {
|
||||
[key: string]: Builder;
|
||||
};
|
||||
[property: string]: any;
|
||||
}
|
||||
/**
|
||||
* Target options for Builders.
|
||||
*/
|
||||
export interface Builder {
|
||||
/**
|
||||
* The builder class module.
|
||||
*/
|
||||
class?: string;
|
||||
/**
|
||||
* Builder description.
|
||||
*/
|
||||
description: string;
|
||||
/**
|
||||
* The next generation builder module.
|
||||
*/
|
||||
implementation?: string;
|
||||
/**
|
||||
* Schema for builder option validation.
|
||||
*/
|
||||
schema: string;
|
||||
[property: string]: any;
|
||||
}
|
4
my-app/node_modules/@angular-devkit/architect/src/builders-schema.js
generated
vendored
4
my-app/node_modules/@angular-devkit/architect/src/builders-schema.js
generated
vendored
|
@ -1,4 +0,0 @@
|
|||
"use strict";
|
||||
// THIS FILE IS AUTOMATICALLY GENERATED. TO UPDATE THIS FILE YOU NEED TO CHANGE THE
|
||||
// CORRESPONDING JSON SCHEMA FILE, THEN RUN devkit-admin build (or bazel build ...).
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue