@decohere/forge 0.0.1-dev.12 → 0.0.1-dev.120
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +141 -0
- package/commonjs/src/actions/build.action.js +8 -6
- package/commonjs/src/actions/clean.action.js +6 -8
- package/commonjs/src/actions/commit.action.js +4 -6
- package/commonjs/src/actions/copy.action.js +43 -12
- package/commonjs/src/actions/dependency-report.action.js +4 -6
- package/commonjs/src/actions/dependency-sync.action.js +3 -5
- package/commonjs/src/actions/docker.action.js +209 -0
- package/commonjs/src/actions/index.js +6 -2
- package/commonjs/src/actions/link.action.js +154 -0
- package/commonjs/src/actions/package.action.js +234 -0
- package/commonjs/src/actions/paths.action.js +109 -0
- package/commonjs/src/actions/publish.action.js +4 -6
- package/commonjs/src/actions/sync-lock-file.action.js +2 -4
- package/commonjs/src/actions/tag.action.js +6 -9
- package/commonjs/src/actions/typecheck.action.js +67 -0
- package/commonjs/src/actions/unlink.action.js +74 -0
- package/commonjs/src/actions/version.action.js +10 -14
- package/commonjs/src/actions/watch.action.js +3 -5
- package/commonjs/src/commands/build.command.js +4 -3
- package/commonjs/src/commands/dependency.command.js +1 -3
- package/commonjs/src/commands/docker.command.js +26 -0
- package/commonjs/src/commands/forge.command.js +1 -3
- package/commonjs/src/commands/index.js +5 -2
- package/commonjs/src/commands/link.command.js +90 -0
- package/commonjs/src/commands/package.command.js +36 -0
- package/commonjs/src/commands/paths.command.js +24 -0
- package/commonjs/src/commands/publish.command.js +1 -3
- package/commonjs/src/commands/tag.command.js +1 -3
- package/commonjs/src/commands/typecheck.command.js +24 -0
- package/commonjs/src/commands/version.command.js +1 -3
- package/commonjs/src/const.js +0 -2
- package/commonjs/src/create-workspace.js +42 -0
- package/commonjs/src/errors.js +2 -4
- package/commonjs/src/extensions/project.extensions.js +11 -13
- package/commonjs/src/factories/swc-config.factory.js +29 -9
- package/commonjs/src/forge.module.js +23 -22
- package/commonjs/src/index.js +11 -2
- package/commonjs/src/packaging/dependency-pinner.service.js +118 -0
- package/commonjs/src/packaging/deployable.js +44 -0
- package/commonjs/src/packaging/import-graph.service.js +137 -0
- package/commonjs/src/packaging/release-exports.js +90 -0
- package/commonjs/src/packaging/ui-assets.js +75 -0
- package/commonjs/src/semver/index.js +18 -0
- package/commonjs/src/semver/semver.js +92 -0
- package/commonjs/src/services/dependency-resolver.service.js +1 -3
- package/commonjs/src/services/file-writer.service.js +2 -11
- package/commonjs/src/services/incremental-watch.js +24 -0
- package/commonjs/src/services/output-cache.js +39 -0
- package/commonjs/src/services/swc-transpiler.js +85 -99
- package/commonjs/src/services/transpile-cache.js +44 -0
- package/commonjs/src/services/ts-program-host.js +4 -6
- package/commonjs/src/services/type-emission-program.js +24 -9
- package/commonjs/src/services/type-emitter.js +51 -16
- package/commonjs/src/types/build-target.type.js +0 -2
- package/commonjs/src/types/configuration.type.js +0 -2
- package/commonjs/src/types/dependency.types.js +0 -2
- package/commonjs/src/types/swc-config.type.js +0 -2
- package/commonjs/src/types/transform-response.model.js +3 -18
- package/commonjs/src/types/transformer.type.js +0 -2
- package/commonjs/src/types/workspace-config.type.js +0 -2
- package/commonjs/src/vitest/forge-build.plugin.js +28 -44
- package/commonjs/src/vitest/index.js +0 -2
- package/commonjs/src/workspace.config.js +39 -6
- package/es6/src/actions/build.action.js +7 -7
- package/es6/src/actions/clean.action.js +5 -8
- package/es6/src/actions/commit.action.js +3 -6
- package/es6/src/actions/copy.action.js +42 -12
- package/es6/src/actions/dependency-report.action.js +3 -7
- package/es6/src/actions/dependency-sync.action.js +2 -6
- package/es6/src/actions/docker.action.js +194 -0
- package/es6/src/actions/index.js +6 -2
- package/es6/src/actions/link.action.js +128 -0
- package/es6/src/actions/package.action.js +219 -0
- package/es6/src/actions/paths.action.js +86 -0
- package/es6/src/actions/publish.action.js +3 -6
- package/es6/src/actions/sync-lock-file.action.js +2 -4
- package/es6/src/actions/tag.action.js +5 -9
- package/es6/src/actions/typecheck.action.js +52 -0
- package/es6/src/actions/unlink.action.js +59 -0
- package/es6/src/actions/version.action.js +5 -10
- package/es6/src/actions/watch.action.js +2 -5
- package/es6/src/commands/build.command.js +4 -3
- package/es6/src/commands/dependency.command.js +1 -3
- package/es6/src/commands/docker.command.js +16 -0
- package/es6/src/commands/forge.command.js +1 -3
- package/es6/src/commands/index.js +5 -2
- package/es6/src/commands/link.command.js +67 -0
- package/es6/src/commands/package.command.js +26 -0
- package/es6/src/commands/paths.command.js +14 -0
- package/es6/src/commands/publish.command.js +1 -3
- package/es6/src/commands/tag.command.js +1 -3
- package/es6/src/commands/typecheck.command.js +14 -0
- package/es6/src/commands/version.command.js +1 -3
- package/es6/src/const.js +0 -2
- package/es6/src/create-workspace.js +30 -0
- package/es6/src/errors.js +1 -3
- package/es6/src/extensions/project.extensions.js +5 -7
- package/es6/src/factories/swc-config.factory.js +29 -9
- package/es6/src/forge.module.js +23 -22
- package/es6/src/index.js +3 -3
- package/es6/src/packaging/dependency-pinner.service.js +103 -0
- package/es6/src/packaging/deployable.js +21 -0
- package/es6/src/packaging/import-graph.service.js +122 -0
- package/es6/src/packaging/release-exports.js +80 -0
- package/es6/src/packaging/ui-assets.js +49 -0
- package/es6/src/semver/index.js +1 -0
- package/es6/src/semver/semver.js +71 -0
- package/es6/src/services/dependency-resolver.service.js +1 -3
- package/es6/src/services/file-writer.service.js +2 -11
- package/es6/src/services/incremental-watch.js +18 -0
- package/es6/src/services/output-cache.js +29 -0
- package/es6/src/services/swc-transpiler.js +85 -99
- package/es6/src/services/transpile-cache.js +29 -0
- package/es6/src/services/ts-program-host.js +4 -6
- package/es6/src/services/type-emission-program.js +24 -9
- package/es6/src/services/type-emitter.js +48 -16
- package/es6/src/types/build-target.type.js +0 -2
- package/es6/src/types/configuration.type.js +0 -2
- package/es6/src/types/dependency.types.js +0 -2
- package/es6/src/types/swc-config.type.js +0 -2
- package/es6/src/types/transform-response.model.js +0 -7
- package/es6/src/types/transformer.type.js +0 -2
- package/es6/src/types/workspace-config.type.js +0 -2
- package/es6/src/vitest/forge-build.plugin.js +27 -43
- package/es6/src/vitest/index.js +0 -2
- package/es6/src/workspace.config.js +39 -5
- package/package.json +6 -5
- package/types/src/actions/build.action.d.ts +5 -4
- package/types/src/actions/clean.action.d.ts +3 -3
- package/types/src/actions/commit.action.d.ts +3 -3
- package/types/src/actions/copy.action.d.ts +13 -3
- package/types/src/actions/dependency-report.action.d.ts +3 -3
- package/types/src/actions/dependency-sync.action.d.ts +3 -3
- package/types/src/actions/docker.action.d.ts +38 -0
- package/types/src/actions/index.d.ts +6 -0
- package/types/src/actions/link.action.d.ts +25 -0
- package/types/src/actions/package.action.d.ts +38 -0
- package/types/src/actions/paths.action.d.ts +28 -0
- package/types/src/actions/publish.action.d.ts +4 -4
- package/types/src/actions/sync-lock-file.action.d.ts +2 -2
- package/types/src/actions/tag.action.d.ts +3 -3
- package/types/src/actions/typecheck.action.d.ts +14 -0
- package/types/src/actions/unlink.action.d.ts +9 -0
- package/types/src/actions/version.action.d.ts +4 -4
- package/types/src/actions/watch.action.d.ts +3 -3
- package/types/src/commands/build.command.d.ts +3 -2
- package/types/src/commands/dependency.command.d.ts +2 -2
- package/types/src/commands/docker.command.d.ts +6 -0
- package/types/src/commands/forge.command.d.ts +2 -2
- package/types/src/commands/index.d.ts +5 -0
- package/types/src/commands/link.command.d.ts +29 -0
- package/types/src/commands/package.command.d.ts +11 -0
- package/types/src/commands/paths.command.d.ts +6 -0
- package/types/src/commands/publish.command.d.ts +1 -1
- package/types/src/commands/tag.command.d.ts +1 -1
- package/types/src/commands/typecheck.command.d.ts +6 -0
- package/types/src/commands/version.command.d.ts +1 -1
- package/types/src/create-workspace.d.ts +7 -0
- package/types/src/errors.d.ts +1 -1
- package/types/src/extensions/project.extensions.d.ts +2 -2
- package/types/src/factories/swc-config.factory.d.ts +3 -2
- package/types/src/forge.module.d.ts +16 -4
- package/types/src/index.d.ts +3 -1
- package/types/src/packaging/dependency-pinner.service.d.ts +20 -0
- package/types/src/packaging/deployable.d.ts +17 -0
- package/types/src/packaging/import-graph.service.d.ts +33 -0
- package/types/src/packaging/release-exports.d.ts +18 -0
- package/types/src/packaging/ui-assets.d.ts +21 -0
- package/types/src/semver/index.d.ts +1 -0
- package/types/src/semver/semver.d.ts +18 -0
- package/types/src/services/dependency-resolver.service.d.ts +1 -1
- package/types/src/services/file-writer.service.d.ts +1 -2
- package/types/src/services/incremental-watch.d.ts +13 -0
- package/types/src/services/output-cache.d.ts +10 -0
- package/types/src/services/swc-transpiler.d.ts +28 -15
- package/types/src/services/transpile-cache.d.ts +17 -0
- package/types/src/services/ts-program-host.d.ts +2 -2
- package/types/src/services/type-emission-program.d.ts +8 -3
- package/types/src/services/type-emitter.d.ts +21 -8
- package/types/src/types/configuration.type.d.ts +6 -1
- package/types/src/types/dependency.types.d.ts +1 -1
- package/types/src/types/swc-config.type.d.ts +7 -1
- package/types/src/types/transform-response.model.d.ts +2 -7
- package/types/src/types/transformer.type.d.ts +2 -11
- package/types/src/types/workspace-config.type.d.ts +3 -3
- package/types/src/vitest/forge-build.plugin.d.ts +0 -2
- package/types/src/workspace.config.d.ts +6 -0
- package/commonjs/src/mixins/caches-outputs.mixin.js +0 -44
- package/commonjs/src/mixins/incremental-transform.mixin.js +0 -36
- package/es6/src/mixins/caches-outputs.mixin.js +0 -34
- package/es6/src/mixins/incremental-transform.mixin.js +0 -26
- package/types/src/mixins/caches-outputs.mixin.d.ts +0 -7
- package/types/src/mixins/incremental-transform.mixin.d.ts +0 -13
package/README.md
ADDED
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# @decohere/forge
|
|
2
|
+
|
|
3
|
+
Build system (SWC). `forge build --configuration debug` rewrites workspace imports to **source**. `forge build --configuration release` leaves bare specifiers for Node and real `node_modules`.
|
|
4
|
+
|
|
5
|
+
[Flux](../flux/) (`flux run` / `flux serve`) uses this same compiler in-process — it does not have a second TypeScript pipeline.
|
|
6
|
+
|
|
7
|
+
`forge build` transpiles without waiting for a whole-workspace typecheck. Run `forge typecheck` independently (including in the background) and require it before shipping. Why executable tests come before static contracts: [testing principles](../../docs/testing/#executable-behavior-before-type-contracts).
|
|
8
|
+
|
|
9
|
+
## Debug path aliases (not `node_modules` links)
|
|
10
|
+
|
|
11
|
+
Forge debug (`aliasPaths: true`) asks the workspace package for a map of `package.json` `name` → source `main` (`Workspace.getPackageAliases`) and feeds it to SWC as `jsc.paths`. Flux uses the same map in its resolve hook only, and compiles without `jsc.paths` or `resolveFully`, so imports are resolved once (#513).
|
|
12
|
+
|
|
13
|
+
`tsc` can't read the workspace alias map, and without `node_modules` links it finds workspace packages only through tsconfig `paths`. `forge paths` writes the map to `tsconfig.paths.json` for the root tsconfig to extend, and `forge paths --check` fails when the file is out of date (#518).
|
|
14
|
+
|
|
15
|
+
That is a **debug** rule. Release does not rewrite aliases: production must resolve like any other Node app (installed packages, `exports` / `main` pointing at emitted JS).
|
|
16
|
+
|
|
17
|
+
### Why aliases instead of workspace symlinks
|
|
18
|
+
|
|
19
|
+
npm/pnpm/yarn already put workspace packages in `node_modules` as symlinks. Node then follows `exports` / `main` — the **published** shape. That is correct after `forge` release. It is the wrong graph while you are editing `.ts`:
|
|
20
|
+
|
|
21
|
+
- Specifiers land on built JS (often missing or stale) instead of the file you saved.
|
|
22
|
+
- Flux’s HMR map is keyed by workspace project paths (`projects/…/src/…`). A `node_modules/@scope/pkg/…` URL is a different path, so the load hook and the watch graph miss it.
|
|
23
|
+
- The installer layout (hoist vs isolated, which packages got linked) becomes a second workspace graph next to `@decohere/workspace`'s. Those drift.
|
|
24
|
+
|
|
25
|
+
Aliases always point at source `main`. Adding a package is discovering its `package.json`; debug does not wait on a reinstall. `forge link` is a different job: symlink **emit** into a consumer’s `node_modules`. Do not use that for Flux/debug source.
|
|
26
|
+
|
|
27
|
+
### Where a symlink fails
|
|
28
|
+
|
|
29
|
+
You edit a library and the API imports it by package name:
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
package.json
|
|
33
|
+
node_modules/
|
|
34
|
+
@app/
|
|
35
|
+
shop.domain -> ../../projects/shop.domain # installer symlink
|
|
36
|
+
projects/
|
|
37
|
+
shop.domain/
|
|
38
|
+
package.json # name: @app/shop.domain
|
|
39
|
+
# exports.import: ./es6/src/index.js (published shape)
|
|
40
|
+
src/index.ts # you save here
|
|
41
|
+
shop.api/
|
|
42
|
+
package.json # main: main.ts
|
|
43
|
+
main.ts # import { x } from "@app/shop.domain"
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
shop.api/main.ts
|
|
48
|
+
import "@app/shop.domain"
|
|
49
|
+
│
|
|
50
|
+
▼
|
|
51
|
+
node_modules/@app/shop.domain (symlink)
|
|
52
|
+
│
|
|
53
|
+
▼
|
|
54
|
+
projects/shop.domain/package.json
|
|
55
|
+
exports → ./es6/src/index.js missing, or last release — not src/index.ts
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Node never opens `projects/shop.domain/src/index.ts`. Flux is watching that file; the running API does not load it.
|
|
59
|
+
|
|
60
|
+
### Where the alias succeeds
|
|
61
|
+
|
|
62
|
+
Same tree, debug compiler (Forge SWC / Flux):
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
shop.api/main.ts
|
|
66
|
+
import "@app/shop.domain"
|
|
67
|
+
│
|
|
68
|
+
▼
|
|
69
|
+
Workspace map: "@app/shop.domain" → projects/shop.domain/src/index.ts
|
|
70
|
+
│
|
|
71
|
+
▼
|
|
72
|
+
SWC transpile + Flux HMR graph (same path the workspace watches)
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Save `src/index.ts` → Flux reboots `shop.api`. No pre-build of `shop.domain`, no `node_modules` link required for that import.
|
|
76
|
+
|
|
77
|
+
## `forge package`: one folder a plain `node` can run
|
|
78
|
+
|
|
79
|
+
`forge build --configuration release` keeps bare imports such as `@app/shop.domain`, so a deployable that imports a workspace library cannot run from `dist/release` on its own: there is no workspace package in production, and Node can only find those packages in `node_modules`. `forge package` makes that folder instead of symlinking `node_modules` into `dist` (what `forge link` does, for development).
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
forge build --configuration release
|
|
83
|
+
forge package @app/shop.api # one deployable
|
|
84
|
+
forge package # every project that has a Dockerfile
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Only a **deployable** can be packaged: a project with a Dockerfile (`docker.dockerfile` in `.decohere.js`, default `Dockerfile` — the same rule `forge docker` uses). A library is refused with a message; libraries are packaged into the deployables that import them, which is also how `"private": true` libraries reach production.
|
|
88
|
+
|
|
89
|
+
It writes `<project>/.package/` (inside the project, because `forge docker` uses the project folder as the Docker build context):
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
projects/shop.api/.package/
|
|
93
|
+
package.json the declared third-party dependencies, pinned to the installed versions
|
|
94
|
+
node_modules/ `npm install --omit=dev --no-bin-links`: real folders, no symlinks
|
|
95
|
+
@app/shop.domain/ copy of the library's es6/ output + a package.json whose exports point at es6/
|
|
96
|
+
es6/ the deployable's own compiled code
|
|
97
|
+
config/ the workspace's config/ folder (YamlDataSource reads ./config)
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
- **Which libraries.** Forge walks the compiled import graph from the deployable's `main`, following relative imports and bare imports that the workspace package resolves to a workspace project (including subpath `exports` such as `@app/kernel/testing`, and transitively through copied libraries). Only those libraries are copied. A library nothing reaches, and its dependencies, stay out.
|
|
101
|
+
- **Which third-party packages.** What is **declared** ships: the union of `dependencies` (never `devDependencies`) of the deployable, every copied library and the workspace root `package.json`. They do not have to be imported, so a module loaded by name at run time (a pino transport `target: "pino-roll"`) ships as long as it is declared. Removing dependencies nothing uses is the author's job; a warning-only unused-dependency analysis is planned in [#635](https://github.com/typesmiths/decohere/issues/635).
|
|
102
|
+
- **Versions.** Each shipped package is pinned to the exact version installed in the workspace (so the image runs what the tests ran). A declared package that is not installed fails the command.
|
|
103
|
+
- **Imports that would crash.** If packaged code imports a third-party package that is only a `devDependency`, or declared nowhere, the command fails and names the package and who imports it.
|
|
104
|
+
- **Install first, copy second.** `npm` removes folders it does not know, so the libraries are copied in after it runs. `npm` (not pnpm) is used because it writes real folders. The command fails if the output holds any symlink.
|
|
105
|
+
- **Limits.** Libraries are found only through static imports (and dynamic imports with a literal specifier). A library loaded by a computed name is not copied.
|
|
106
|
+
|
|
107
|
+
The Dockerfile then needs no install step and no npm token:
|
|
108
|
+
|
|
109
|
+
```dockerfile
|
|
110
|
+
COPY .package/ ./
|
|
111
|
+
CMD ["node", "es6/src/main.js"]
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
`forge docker` does not package for you: Dockerfiles that do not use `.package/` (the `create` and Dev Container images here) must keep building as before. If a Dockerfile copies `.package/` and it does not exist, `forge docker` stops before Docker runs and tells you to run `forge package <project>`.
|
|
115
|
+
|
|
116
|
+
### Shipping the UI with the API
|
|
117
|
+
|
|
118
|
+
A module deploys its API and its UI as one image: the API serves the UI's build ([`withStatic` in `@decohere/http`](../http/README.md#serving-a-built-ui)). To put that build in the package, declare the UI project on the deployable in `.decohere.js`, next to `docker`:
|
|
119
|
+
|
|
120
|
+
```js
|
|
121
|
+
/** @type {import("@decohere/workspace").WorkspaceOptions} */
|
|
122
|
+
export default {
|
|
123
|
+
projects: {
|
|
124
|
+
"@app/shop.api": {
|
|
125
|
+
ui: {
|
|
126
|
+
project: "@app/shop.web", // the UI project (package name)
|
|
127
|
+
output: "dist", // its build output, relative to that project. Default: "dist"
|
|
128
|
+
to: "ui", // folder inside .package/. Default: "ui"
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
|
+
},
|
|
132
|
+
};
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
`forge package @app/shop.api` then copies `projects/shop.web/dist/` to `projects/shop.api/.package/ui/` (real files, never links). The API calls `.withStatic("/ui/", "ui")` and the Dockerfile stays `COPY .package/ ./`. `forge package` does **not** build the UI: if the folder is missing it fails and tells you to build the UI first. `to` must be a new folder inside `.package/` (not `es6`, `node_modules` or `config`). Running the UI's own toolchain from `forge build` is [#381](https://github.com/typesmiths/decohere/issues/381); see [ADR 0007](../../docs/adr/0007-serving-a-built-ui-from-http.md).
|
|
136
|
+
|
|
137
|
+
Design record: [ADR 0006](../../docs/adr/0006-forge-package-deployables.md).
|
|
138
|
+
|
|
139
|
+
## `forge link` clears `dist`
|
|
140
|
+
|
|
141
|
+
`forge link` is a development tool: it symlinks build output into a consumer's `node_modules`. Like `forge build`, it cleans `dist` first. Without `--build` it then links an output folder holding only `package.json` files, so run it with `--build` (or build again afterwards). It is not a way to make a release build runnable; use `forge package` for that.
|
|
@@ -9,9 +9,9 @@ Object.defineProperty(exports, "Build", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
const _decorators = require("@decohere/crucible/decorators");
|
|
12
|
-
const
|
|
13
|
-
const _cli = require("@decohere/
|
|
14
|
-
const _diagnostics = require("@decohere/
|
|
12
|
+
const _workspace = require("@decohere/workspace");
|
|
13
|
+
const _cli = require("@decohere/devkit/cli");
|
|
14
|
+
const _diagnostics = require("@decohere/devkit/diagnostics");
|
|
15
15
|
const _scribe = require("@decohere/scribe");
|
|
16
16
|
const _errors = require("../errors.js");
|
|
17
17
|
const _filewriterservice = require("../services/file-writer.service.js");
|
|
@@ -44,6 +44,10 @@ class Build {
|
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
run = async (options)=>{
|
|
47
|
+
if (options.build === false) {
|
|
48
|
+
this.#logger.info("Skipping build");
|
|
49
|
+
return _cli.ActionResponse.Skipped(Build.name);
|
|
50
|
+
}
|
|
47
51
|
const { configuration: buildConfig } = options;
|
|
48
52
|
const projects = this.workspace.getProjects(buildConfig);
|
|
49
53
|
void this.fileWriter.warmup([
|
|
@@ -103,10 +107,8 @@ Build = _ts_decorate([
|
|
|
103
107
|
_ts_param(1, (0, _decorators.inject)(_transformertype.TransformerKey)),
|
|
104
108
|
_ts_metadata("design:type", Function),
|
|
105
109
|
_ts_metadata("design:paramtypes", [
|
|
106
|
-
typeof
|
|
110
|
+
typeof _workspace.Workspace === "undefined" ? Object : _workspace.Workspace,
|
|
107
111
|
Array,
|
|
108
112
|
typeof _filewriterservice.FileWriterService === "undefined" ? Object : _filewriterservice.FileWriterService
|
|
109
113
|
])
|
|
110
114
|
], Build);
|
|
111
|
-
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9hY3Rpb25zL2J1aWxkLmFjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIGluamVjdGFibGUgfSBmcm9tIFwiQGRlY29oZXJlL2NydWNpYmxlL2RlY29yYXRvcnNcIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuLy8gYmlvbWUtaWdub3JlIGxpbnQvc3R5bGUvdXNlSW1wb3J0VHlwZTogPERJPlxuaW1wb3J0IHsgV29ya3NwYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5pbXBvcnQgdHlwZSB7IEFjdGlvbiB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBBY3Rpb25SZXNwb25zZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBUcmFjZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvZGlhZ25vc3RpY3NcIjtcbmltcG9ydCB0eXBlIHsgRmlsZUV4IH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9pb1wiO1xuaW1wb3J0IHsgc2NyaWJlIH0gZnJvbSBcIkBkZWNvaGVyZS9zY3JpYmVcIjtcbmltcG9ydCB7IEZvcmdlRXJyb3IgfSBmcm9tIFwiLi4vZXJyb3JzLmpzXCI7XG4vLyBiaW9tZS1pZ25vcmUgbGludC9zdHlsZS91c2VJbXBvcnRUeXBlOiA8REk+XG5pbXBvcnQgeyBGaWxlV3JpdGVyU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9maWxlLXdyaXRlci5zZXJ2aWNlLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFRyYW5zZm9ybVJlc3BvbnNlIH0gZnJvbSBcIi4uL3R5cGVzL3RyYW5zZm9ybS1yZXNwb25zZS5tb2RlbC5qc1wiO1xuaW1wb3J0IHsgdHlwZSBUcmFuc2Zvcm1lciwgVHJhbnNmb3JtZXJLZXkgfSBmcm9tIFwiLi4vdHlwZXMvdHJhbnNmb3JtZXIudHlwZS5qc1wiO1xuXG5leHBvcnQgdHlwZSBCdWlsZE9wdGlvbnMgPSB7XG5cdGNvbmZpZ3VyYXRpb246IHN0cmluZztcblx0ZmlsZTogc3RyaW5nO1xufTtcblxuQFRyYWNlXG5AaW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQnVpbGQgaW1wbGVtZW50cyBBY3Rpb248QnVpbGRPcHRpb25zPiB7XG5cdCNsb2dnZXIgPSBzY3JpYmUubG9nZ2VyKEJ1aWxkLm5hbWUpO1xuXHRwdWJsaWMgY29uc3RydWN0b3IoXG5cdFx0cHJpdmF0ZSByZWFkb25seSB3b3Jrc3BhY2U6IFdvcmtzcGFjZSxcblx0XHRAaW5qZWN0KFRyYW5zZm9ybWVyS2V5KSBwcml2YXRlIHJlYWRvbmx5IHRyYW5zZm9ybWVyczogVHJhbnNmb3JtZXJbXSxcblx0XHRwcml2YXRlIHJlYWRvbmx5IGZpbGVXcml0ZXI6IEZpbGVXcml0ZXJTZXJ2aWNlLFxuXHQpIHtcblx0XHRpZiAoIXRyYW5zZm9ybWVycyB8fCB0cmFuc2Zvcm1lcnMubGVuZ3RoID09PSAwKSB7XG5cdFx0XHR0aHJvdyBuZXcgRm9yZ2VFcnJvcihcIkF0IGxlYXN0IG9uZSB0cmFuc2Zvcm1lciBpcyByZXF1aXJlZFwiKTtcblx0XHR9XG5cdH1cblxuXHRwdWJsaWMgcnVuID0gYXN5bmMgKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyk6IFByb21pc2U8QWN0aW9uUmVzcG9uc2U8VHJhbnNmb3JtUmVzcG9uc2U+PiA9PiB7XG5cdFx0Y29uc3QgeyBjb25maWd1cmF0aW9uOiBidWlsZENvbmZpZyB9ID0gb3B0aW9ucztcblx0XHRjb25zdCBwcm9qZWN0cyA9IHRoaXMud29ya3NwYWNlLmdldFByb2plY3RzKGJ1aWxkQ29uZmlnKTtcblx0XHR2b2lkIHRoaXMuZmlsZVdyaXRlci53YXJtdXAoWy4uLnByb2plY3RzXSk7XG5cdFx0Y29uc3QgdHJhbnNmb3JtUmVzdWx0cyA9IGF3YWl0IHRoaXMuYnVpbGQocHJvamVjdHMpO1xuXG5cdFx0Y29uc3QgZXJyb3JzID0gdHJhbnNmb3JtUmVzdWx0cy5maWx0ZXIoKHJlc3BvbnNlKSA9PiByZXNwb25zZS5vdXRjb21lID09PSBcImZhaWx1cmVcIik7XG5cdFx0aWYgKGVycm9ycy5sZW5ndGggPiAwKSB7XG5cdFx0XHRjb25zdCBtZXNzYWdlcyA9IHRyYW5zZm9ybVJlc3VsdHMubWFwKChyZXNwb25zZXMpID0+IHJlc3BvbnNlcy5tZXNzYWdlcykuam9pbihcIlxcblwiKTtcblx0XHRcdHRocm93IG5ldyBGb3JnZUVycm9yKGBFcnJvciBidWlsZGluZzogJHttZXNzYWdlc31gKTtcblx0XHR9XG5cblx0XHRmb3IgKGNvbnN0IHRyYW5zZm9ybWVyIG9mIHRoaXMudHJhbnNmb3JtZXJzKSB7XG5cdFx0XHRpZiAodHJhbnNmb3JtZXIud2F0Y2ggJiYgdHJhbnNmb3JtZXIuaW5jcmVtZW50YWxUcmFuc2Zvcm0kKSB7XG5cdFx0XHRcdHRyYW5zZm9ybWVyLndhdGNoKHRoaXMud29ya3NwYWNlKTtcblx0XHRcdFx0dHJhbnNmb3JtZXIuaW5jcmVtZW50YWxUcmFuc2Zvcm0kLnN1YnNjcmliZSgocmVzcG9uc2VzKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5maWxlV3JpdGVyLmVucXVldWVPdXRwdXRzKHJlc3BvbnNlcyk7XG5cdFx0XHRcdFx0dm9pZCB0aGlzLndyaXRlT3V0cHV0KCk7XG5cdFx0XHRcdFx0Y29uc3Qgc3VjY2VlZGVkID0gcmVzcG9uc2VzLnNvbWUoKHIpID0+IHIub3V0Y29tZSA9PT0gXCJzdWNjZXNzXCIpO1xuXHRcdFx0XHRcdGlmIChzdWNjZWVkZWQpIHtcblx0XHRcdFx0XHRcdHRoaXMuI2xvZ2dlci5pbmZvKGBUcmFuc3BpbGVkICR7cmVzcG9uc2VzWzBdLmZpbGUuZnVsbFBhdGh9YCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gQWN0aW9uUmVzcG9uc2UuU3VjY2VzcyhCdWlsZC5uYW1lLCB0cmFuc2Zvcm1SZXN1bHRzKTtcblx0fTtcblxuXHRwdWJsaWMgYXN5bmMgYnVpbGQoXG5cdFx0cHJvamVjdEFycmF5TGlrZTogcmVhZG9ubHkgUHJvamVjdFtdIHwgUHJvamVjdCxcblx0KTogUHJvbWlzZTxUcmFuc2Zvcm1SZXNwb25zZVtdPiB7XG5cdFx0Y29uc3QgcHJvamVjdHM6IFByb2plY3RbXSA9IEFycmF5LmlzQXJyYXkocHJvamVjdEFycmF5TGlrZSlcblx0XHRcdD8gcHJvamVjdEFycmF5TGlrZVxuXHRcdFx0OiBbcHJvamVjdEFycmF5TGlrZV07XG5cdFx0Zm9yIChjb25zdCBwcm9qZWN0IG9mIHByb2plY3RzKSB7XG5cdFx0XHR0aGlzLiNsb2dnZXIuaW5mbyhgQnVpbGRpbmcgJHtwcm9qZWN0Lm5hbWV9YCk7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLnJ1blRyYW5zZm9ybWVycyhwcm9qZWN0cyk7XG5cdH1cblxuXHRwcml2YXRlIGFzeW5jIHJ1blRyYW5zZm9ybWVycyhcblx0XHRwcm9qZWN0czogUHJvamVjdCB8IFByb2plY3RbXSxcblx0XHRmaWxlRmlsdGVyPzogKHByb2plY3Q6IFByb2plY3QpID0+IFByb21pc2U8RmlsZUV4W10+LFxuXHQpIHtcblx0XHQvLyBQaGFzZSAxOiBzZXF1ZW50aWFsIGluaXQg4oCUIHJ1bnMgZXhwZW5zaXZlIHNldHVwIChlLmcuIFR5cGVTY3JpcHQgY3JlYXRlUHJvZ3JhbSlcblx0XHQvLyBiZWZvcmUgYW55IHRyYW5zZm9ybWVyJ3MgcGFyYWxsZWwgd29ya2xvYWQgKGUuZy4gU1dDL1JheW9uKSBzdGFydHMuXG5cdFx0Zm9yIChjb25zdCB0cmFuc2Zvcm1lciBvZiB0aGlzLnRyYW5zZm9ybWVycykge1xuXHRcdFx0YXdhaXQgdHJhbnNmb3JtZXIuaW5pdD8uKHByb2plY3RzLCBmaWxlRmlsdGVyKTtcblx0XHR9XG5cdFx0Ly8gUGhhc2UgMjogcGFyYWxsZWwgdHJhbnNmb3JtIOKAlCBhbGwgdHJhbnNmb3JtZXJzIHJ1biBjb25jdXJyZW50bHkgbm93IHRoYXRcblx0XHQvLyBDUFUtaGVhdnkgaW5pdCBpcyBjb21wbGV0ZS5cblx0XHRjb25zdCBhbGxSZXNwb25zZXMgPSAoXG5cdFx0XHRhd2FpdCBQcm9taXNlLmFsbChcblx0XHRcdFx0dGhpcy50cmFuc2Zvcm1lcnMubWFwKCh0KSA9PlxuXHRcdFx0XHRcdHQudHJhbnNmb3JtUHJvamVjdChwcm9qZWN0cywgZmlsZUZpbHRlciwgKHJlc3BvbnNlKSA9PiB7XG5cdFx0XHRcdFx0XHR0aGlzLmZpbGVXcml0ZXIuZW5xdWV1ZU91dHB1dChyZXNwb25zZSk7XG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdCksXG5cdFx0XHQpXG5cdFx0KS5mbGF0KCk7XG5cdFx0YXdhaXQgdGhpcy53cml0ZU91dHB1dCgpO1xuXHRcdHJldHVybiBhbGxSZXNwb25zZXM7XG5cdH1cblxuXHRwcml2YXRlIGFzeW5jIHdyaXRlT3V0cHV0KCkge1xuXHRcdGF3YWl0IHRoaXMuZmlsZVdyaXRlci5mbHVzaCgpO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiQnVpbGQiLCJzY3JpYmUiLCJsb2dnZXIiLCJuYW1lIiwid29ya3NwYWNlIiwidHJhbnNmb3JtZXJzIiwiZmlsZVdyaXRlciIsImxlbmd0aCIsIkZvcmdlRXJyb3IiLCJydW4iLCJvcHRpb25zIiwiY29uZmlndXJhdGlvbiIsImJ1aWxkQ29uZmlnIiwicHJvamVjdHMiLCJnZXRQcm9qZWN0cyIsIndhcm11cCIsInRyYW5zZm9ybVJlc3VsdHMiLCJidWlsZCIsImVycm9ycyIsImZpbHRlciIsInJlc3BvbnNlIiwib3V0Y29tZSIsIm1lc3NhZ2VzIiwibWFwIiwicmVzcG9uc2VzIiwiam9pbiIsInRyYW5zZm9ybWVyIiwid2F0Y2giLCJpbmNyZW1lbnRhbFRyYW5zZm9ybSQiLCJzdWJzY3JpYmUiLCJlbnF1ZXVlT3V0cHV0cyIsIndyaXRlT3V0cHV0Iiwic3VjY2VlZGVkIiwic29tZSIsInIiLCJpbmZvIiwiZmlsZSIsImZ1bGxQYXRoIiwiQWN0aW9uUmVzcG9uc2UiLCJTdWNjZXNzIiwicHJvamVjdEFycmF5TGlrZSIsIkFycmF5IiwiaXNBcnJheSIsInByb2plY3QiLCJydW5UcmFuc2Zvcm1lcnMiLCJmaWxlRmlsdGVyIiwiaW5pdCIsImFsbFJlc3BvbnNlcyIsIlByb21pc2UiLCJhbGwiLCJ0IiwidHJhbnNmb3JtUHJvamVjdCIsImVucXVldWVPdXRwdXQiLCJmbGF0IiwiZmx1c2giXSwibWFwcGluZ3MiOiI7Ozs7K0JBc0JhQTs7O2VBQUFBOzs7NEJBdEJzQjtzQkFHVDtxQkFFSzs2QkFDVDt3QkFFQzt3QkFDSTttQ0FFTztpQ0FFZTs7Ozs7Ozs7Ozs7Ozs7O0FBUzFDLE1BQU1BOzs7O0lBQ1osQ0FBQSxNQUFPLEdBQUdDLGNBQU0sQ0FBQ0MsTUFBTSxDQUFDRixNQUFNRyxJQUFJLEVBQUU7SUFDcEMsWUFDQyxBQUFpQkMsU0FBb0IsRUFDckMsQUFBeUNDLFlBQTJCLEVBQ3BFLEFBQWlCQyxVQUE2QixDQUM3QzthQUhnQkYsWUFBQUE7YUFDd0JDLGVBQUFBO2FBQ3hCQyxhQUFBQTtRQUVqQixJQUFJLENBQUNELGdCQUFnQkEsYUFBYUUsTUFBTSxLQUFLLEdBQUc7WUFDL0MsTUFBTSxJQUFJQyxrQkFBVSxDQUFDO1FBQ3RCO0lBQ0Q7SUFFT0MsTUFBTSxPQUFPQztRQUNuQixNQUFNLEVBQUVDLGVBQWVDLFdBQVcsRUFBRSxHQUFHRjtRQUN2QyxNQUFNRyxXQUFXLElBQUksQ0FBQ1QsU0FBUyxDQUFDVSxXQUFXLENBQUNGO1FBQzVDLEtBQUssSUFBSSxDQUFDTixVQUFVLENBQUNTLE1BQU0sQ0FBQztlQUFJRjtTQUFTO1FBQ3pDLE1BQU1HLG1CQUFtQixNQUFNLElBQUksQ0FBQ0MsS0FBSyxDQUFDSjtRQUUxQyxNQUFNSyxTQUFTRixpQkFBaUJHLE1BQU0sQ0FBQyxDQUFDQyxXQUFhQSxTQUFTQyxPQUFPLEtBQUs7UUFDMUUsSUFBSUgsT0FBT1gsTUFBTSxHQUFHLEdBQUc7WUFDdEIsTUFBTWUsV0FBV04saUJBQWlCTyxHQUFHLENBQUMsQ0FBQ0MsWUFBY0EsVUFBVUYsUUFBUSxFQUFFRyxJQUFJLENBQUM7WUFDOUUsTUFBTSxJQUFJakIsa0JBQVUsQ0FBQyxDQUFDLGdCQUFnQixFQUFFYyxVQUFVO1FBQ25EO1FBRUEsS0FBSyxNQUFNSSxlQUFlLElBQUksQ0FBQ3JCLFlBQVksQ0FBRTtZQUM1QyxJQUFJcUIsWUFBWUMsS0FBSyxJQUFJRCxZQUFZRSxxQkFBcUIsRUFBRTtnQkFDM0RGLFlBQVlDLEtBQUssQ0FBQyxJQUFJLENBQUN2QixTQUFTO2dCQUNoQ3NCLFlBQVlFLHFCQUFxQixDQUFDQyxTQUFTLENBQUMsQ0FBQ0w7b0JBQzVDLElBQUksQ0FBQ2xCLFVBQVUsQ0FBQ3dCLGNBQWMsQ0FBQ047b0JBQy9CLEtBQUssSUFBSSxDQUFDTyxXQUFXO29CQUNyQixNQUFNQyxZQUFZUixVQUFVUyxJQUFJLENBQUMsQ0FBQ0MsSUFBTUEsRUFBRWIsT0FBTyxLQUFLO29CQUN0RCxJQUFJVyxXQUFXO3dCQUNkLElBQUksQ0FBQyxDQUFBLE1BQU8sQ0FBQ0csSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFWCxTQUFTLENBQUMsRUFBRSxDQUFDWSxJQUFJLENBQUNDLFFBQVEsRUFBRTtvQkFDN0Q7Z0JBQ0Q7WUFDRDtRQUNEO1FBRUEsT0FBT0MsbUJBQWMsQ0FBQ0MsT0FBTyxDQUFDdkMsTUFBTUcsSUFBSSxFQUFFYTtJQUMzQyxFQUFFO0lBRUYsTUFBYUMsTUFDWnVCLGdCQUE4QyxFQUNmO1FBQy9CLE1BQU0zQixXQUFzQjRCLE1BQU1DLE9BQU8sQ0FBQ0Ysb0JBQ3ZDQSxtQkFDQTtZQUFDQTtTQUFpQjtRQUNyQixLQUFLLE1BQU1HLFdBQVc5QixTQUFVO1lBQy9CLElBQUksQ0FBQyxDQUFBLE1BQU8sQ0FBQ3NCLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRVEsUUFBUXhDLElBQUksRUFBRTtRQUM3QztRQUNBLE9BQU8sSUFBSSxDQUFDeUMsZUFBZSxDQUFDL0I7SUFDN0I7SUFFQSxNQUFjK0IsZ0JBQ2IvQixRQUE2QixFQUM3QmdDLFVBQW9ELEVBQ25EO1FBQ0Qsa0ZBQWtGO1FBQ2xGLHNFQUFzRTtRQUN0RSxLQUFLLE1BQU1uQixlQUFlLElBQUksQ0FBQ3JCLFlBQVksQ0FBRTtZQUM1QyxNQUFNcUIsWUFBWW9CLElBQUksR0FBR2pDLFVBQVVnQztRQUNwQztRQUNBLDJFQUEyRTtRQUMzRSw4QkFBOEI7UUFDOUIsTUFBTUUsZUFBZSxBQUNwQixDQUFBLE1BQU1DLFFBQVFDLEdBQUcsQ0FDaEIsSUFBSSxDQUFDNUMsWUFBWSxDQUFDa0IsR0FBRyxDQUFDLENBQUMyQixJQUN0QkEsRUFBRUMsZ0JBQWdCLENBQUN0QyxVQUFVZ0MsWUFBWSxDQUFDekI7Z0JBQ3pDLElBQUksQ0FBQ2QsVUFBVSxDQUFDOEMsYUFBYSxDQUFDaEM7WUFDL0IsSUFFRixFQUNDaUMsSUFBSTtRQUNOLE1BQU0sSUFBSSxDQUFDdEIsV0FBVztRQUN0QixPQUFPZ0I7SUFDUjtJQUVBLE1BQWNoQixjQUFjO1FBQzNCLE1BQU0sSUFBSSxDQUFDekIsVUFBVSxDQUFDZ0QsS0FBSztJQUM1QjtBQUNEIn0=
|
|
@@ -9,9 +9,9 @@ Object.defineProperty(exports, "Clean", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
const _decorators = require("@decohere/crucible/decorators");
|
|
12
|
-
const
|
|
13
|
-
const _cli = require("@decohere/
|
|
14
|
-
const _io = require("@decohere/
|
|
12
|
+
const _workspace = require("@decohere/workspace");
|
|
13
|
+
const _cli = require("@decohere/devkit/cli");
|
|
14
|
+
const _io = require("@decohere/core/io");
|
|
15
15
|
const _scribe = require("@decohere/scribe");
|
|
16
16
|
function _ts_decorate(decorators, target, key, desc) {
|
|
17
17
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
@@ -33,8 +33,8 @@ class Clean {
|
|
|
33
33
|
this.#logger.info("Skipping clean");
|
|
34
34
|
return _cli.ActionResponse.Skipped(Clean.name);
|
|
35
35
|
}
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
const outDirs = this.workspace.getProjects(options.configuration).map((proj)=>proj.getRootOut()).filter((dir, i, arr)=>arr.indexOf(dir) === i); // dedupe
|
|
37
|
+
await Promise.all(outDirs.map(async (outDir)=>{
|
|
38
38
|
await _io.io.removeDir(outDir, {
|
|
39
39
|
force: true,
|
|
40
40
|
recursive: true
|
|
@@ -48,8 +48,6 @@ Clean = _ts_decorate([
|
|
|
48
48
|
(0, _decorators.injectable)(),
|
|
49
49
|
_ts_metadata("design:type", Function),
|
|
50
50
|
_ts_metadata("design:paramtypes", [
|
|
51
|
-
typeof
|
|
51
|
+
typeof _workspace.Workspace === "undefined" ? Object : _workspace.Workspace
|
|
52
52
|
])
|
|
53
53
|
], Clean);
|
|
54
|
-
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9hY3Rpb25zL2NsZWFuLmFjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3RhYmxlIH0gZnJvbSBcIkBkZWNvaGVyZS9jcnVjaWJsZS9kZWNvcmF0b3JzXCI7XG4vLyBiaW9tZS1pZ25vcmUgbGludC9zdHlsZS91c2VJbXBvcnRUeXBlOiA8REk+XG5pbXBvcnQgeyBXb3Jrc3BhY2UgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB0eXBlIHsgQWN0aW9uIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB7IEFjdGlvblJlc3BvbnNlIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB7IGlvIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9pb1wiO1xuaW1wb3J0IHsgc2NyaWJlIH0gZnJvbSBcIkBkZWNvaGVyZS9zY3JpYmVcIjtcblxuZXhwb3J0IHR5cGUgQ2xlYW5PcHRpb25zID0ge1xuXHRjbGVhbjogYm9vbGVhbjtcblx0Y29uZmlndXJhdGlvbjogc3RyaW5nO1xufTtcblxuQGluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENsZWFuIGltcGxlbWVudHMgQWN0aW9uPENsZWFuT3B0aW9ucz4ge1xuXHQjbG9nZ2VyID0gc2NyaWJlLmxvZ2dlcihDbGVhbi5uYW1lKTtcblx0cHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgd29ya3NwYWNlOiBXb3Jrc3BhY2UpIHt9XG5cblx0cHVibGljIHJ1biA9IGFzeW5jIChvcHRpb25zOiBDbGVhbk9wdGlvbnMpOiBQcm9taXNlPEFjdGlvblJlc3BvbnNlPiA9PiB7XG5cdFx0aWYgKCFvcHRpb25zLmNsZWFuKSB7XG5cdFx0XHR0aGlzLiNsb2dnZXIuaW5mbyhcIlNraXBwaW5nIGNsZWFuXCIpO1xuXHRcdFx0cmV0dXJuIEFjdGlvblJlc3BvbnNlLlNraXBwZWQoQ2xlYW4ubmFtZSk7XG5cdFx0fVxuXG5cdFx0YXdhaXQgUHJvbWlzZS5hbGwoXG5cdFx0XHR0aGlzLndvcmtzcGFjZS5nZXRQcm9qZWN0cyhvcHRpb25zLmNvbmZpZ3VyYXRpb24pLm1hcChhc3luYyAocHJvaikgPT4ge1xuXHRcdFx0XHRjb25zdCBvdXREaXIgPSBwcm9qLmdldFJvb3RPdXQoKTtcblx0XHRcdFx0YXdhaXQgaW8ucmVtb3ZlRGlyKG91dERpciwgeyBmb3JjZTogdHJ1ZSwgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXHRcdFx0XHR0aGlzLiNsb2dnZXIudHJhY2UoYENsZWFuZWQgJHtvdXREaXJ9YCk7XG5cdFx0XHR9KSxcblx0XHQpO1xuXG5cdFx0cmV0dXJuIEFjdGlvblJlc3BvbnNlLlN1Y2Nlc3MoQ2xlYW4ubmFtZSk7XG5cdH07XG59XG4iXSwibmFtZXMiOlsiQ2xlYW4iLCJzY3JpYmUiLCJsb2dnZXIiLCJuYW1lIiwid29ya3NwYWNlIiwicnVuIiwib3B0aW9ucyIsImNsZWFuIiwiaW5mbyIsIkFjdGlvblJlc3BvbnNlIiwiU2tpcHBlZCIsIlByb21pc2UiLCJhbGwiLCJnZXRQcm9qZWN0cyIsImNvbmZpZ3VyYXRpb24iLCJtYXAiLCJwcm9qIiwib3V0RGlyIiwiZ2V0Um9vdE91dCIsImlvIiwicmVtb3ZlRGlyIiwiZm9yY2UiLCJyZWN1cnNpdmUiLCJ0cmFjZSIsIlN1Y2Nlc3MiXSwibWFwcGluZ3MiOiI7Ozs7K0JBY2FBOzs7ZUFBQUE7Ozs0QkFkYztzQkFFRDtxQkFFSztvQkFDWjt3QkFDSTs7Ozs7Ozs7OztBQVFoQixNQUFNQTs7SUFDWixDQUFBLE1BQU8sR0FBR0MsY0FBTSxDQUFDQyxNQUFNLENBQUNGLE1BQU1HLElBQUksRUFBRTtJQUNwQyxZQUFtQixBQUFpQkMsU0FBb0IsQ0FBRTthQUF0QkEsWUFBQUE7SUFBdUI7SUFFcERDLE1BQU0sT0FBT0M7UUFDbkIsSUFBSSxDQUFDQSxRQUFRQyxLQUFLLEVBQUU7WUFDbkIsSUFBSSxDQUFDLENBQUEsTUFBTyxDQUFDQyxJQUFJLENBQUM7WUFDbEIsT0FBT0MsbUJBQWMsQ0FBQ0MsT0FBTyxDQUFDVixNQUFNRyxJQUFJO1FBQ3pDO1FBRUEsTUFBTVEsUUFBUUMsR0FBRyxDQUNoQixJQUFJLENBQUNSLFNBQVMsQ0FBQ1MsV0FBVyxDQUFDUCxRQUFRUSxhQUFhLEVBQUVDLEdBQUcsQ0FBQyxPQUFPQztZQUM1RCxNQUFNQyxTQUFTRCxLQUFLRSxVQUFVO1lBQzlCLE1BQU1DLE1BQUUsQ0FBQ0MsU0FBUyxDQUFDSCxRQUFRO2dCQUFFSSxPQUFPO2dCQUFNQyxXQUFXO1lBQUs7WUFDMUQsSUFBSSxDQUFDLENBQUEsTUFBTyxDQUFDQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEVBQUVOLFFBQVE7UUFDdkM7UUFHRCxPQUFPUixtQkFBYyxDQUFDZSxPQUFPLENBQUN4QixNQUFNRyxJQUFJO0lBQ3pDLEVBQUU7QUFDSCJ9
|
|
@@ -10,9 +10,9 @@ Object.defineProperty(exports, "CommitFiles", {
|
|
|
10
10
|
});
|
|
11
11
|
const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
|
|
12
12
|
const _decorators = require("@decohere/crucible/decorators");
|
|
13
|
-
const
|
|
14
|
-
const _cli = require("@decohere/
|
|
15
|
-
const _interop = require("@decohere/
|
|
13
|
+
const _workspace = require("@decohere/workspace");
|
|
14
|
+
const _cli = require("@decohere/devkit/cli");
|
|
15
|
+
const _interop = require("@decohere/devkit/interop");
|
|
16
16
|
const _scribe = require("@decohere/scribe");
|
|
17
17
|
const _errors = require("../errors.js");
|
|
18
18
|
const _workspaceconfig = require("../workspace.config.js");
|
|
@@ -80,8 +80,6 @@ CommitFiles = _ts_decorate([
|
|
|
80
80
|
(0, _decorators.injectable)(),
|
|
81
81
|
_ts_metadata("design:type", Function),
|
|
82
82
|
_ts_metadata("design:paramtypes", [
|
|
83
|
-
typeof
|
|
83
|
+
typeof _workspace.Workspace === "undefined" ? Object : _workspace.Workspace
|
|
84
84
|
])
|
|
85
85
|
], CommitFiles);
|
|
86
|
-
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9hY3Rpb25zL2NvbW1pdC5hY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHsgaW5qZWN0YWJsZSB9IGZyb20gXCJAZGVjb2hlcmUvY3J1Y2libGUvZGVjb3JhdG9yc1wiO1xuLy8gYmlvbWUtaWdub3JlIGxpbnQvc3R5bGUvdXNlSW1wb3J0VHlwZTogPERJPlxuaW1wb3J0IHsgV29ya3NwYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5pbXBvcnQgdHlwZSB7IEFjdGlvbiB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBBY3Rpb25SZXNwb25zZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBHaXQgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2ludGVyb3BcIjtcbmltcG9ydCB7IHNjcmliZSB9IGZyb20gXCJAZGVjb2hlcmUvc2NyaWJlXCI7XG5pbXBvcnQgeyBmb3JtYXRVbmtub3duRXJyb3IgfSBmcm9tIFwiLi4vZXJyb3JzLmpzXCI7XG5pbXBvcnQgeyBSZWxlYXNlIH0gZnJvbSBcIi4uL3dvcmtzcGFjZS5jb25maWcuanNcIjtcblxuZXhwb3J0IHR5cGUgQ29tbWl0RmlsZXNPcHRpb25zID0ge1xuXHRjb25maWd1cmF0aW9uPzogc3RyaW5nO1xuXHRjb21taXQ/OiBib29sZWFuO1xuXHRtZXNzYWdlPzogc3RyaW5nO1xuXHRmaWxlcz86IHN0cmluZ1tdO1xuXHRkcnlSdW4/OiBib29sZWFuO1xufTtcblxuY29uc3QgS25vd25Mb2NrRmlsZXMgPSBbXCJwbnBtLWxvY2sueWFtbFwiXTtcblxuQGluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbW1pdEZpbGVzIGltcGxlbWVudHMgQWN0aW9uPENvbW1pdEZpbGVzT3B0aW9ucz4ge1xuXHQjbG9nZ2VyID0gc2NyaWJlLmxvZ2dlcihDb21taXRGaWxlcy5uYW1lKTtcblx0I2dpdCA9IG5ldyBHaXQoKTtcblxuXHRwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB3b3Jrc3BhY2U6IFdvcmtzcGFjZSkge31cblxuXHRwdWJsaWMgYXN5bmMgcnVuKG9wdGlvbnM6IENvbW1pdEZpbGVzT3B0aW9ucyk6IFByb21pc2U8QWN0aW9uUmVzcG9uc2U+IHtcblx0XHRpZiAoIW9wdGlvbnMuY29tbWl0KSB7XG5cdFx0XHRyZXR1cm4gQWN0aW9uUmVzcG9uc2UuU2tpcHBlZChDb21taXRGaWxlcy5uYW1lKTtcblx0XHR9XG5cblx0XHRpZiAob3B0aW9ucy5kcnlSdW4pIHtcblx0XHRcdHRoaXMuI2xvZ2dlci5pbmZvKFwiW2RyeS1ydW5dIFNraXBwaW5nIGNvbW1pdFwiKTtcblx0XHRcdHJldHVybiBBY3Rpb25SZXNwb25zZS5Ta2lwcGVkKENvbW1pdEZpbGVzLm5hbWUpO1xuXHRcdH1cblxuXHRcdGNvbnN0IGZpbGVzID0gb3B0aW9ucy5maWxlcyA/PyB0aGlzLmdldERlZmF1bHRGaWxlcyhvcHRpb25zLmNvbmZpZ3VyYXRpb24gPz8gUmVsZWFzZS5uYW1lKTtcblx0XHRpZiAoZmlsZXMubGVuZ3RoID09PSAwKSB7XG5cdFx0XHR0aGlzLiNsb2dnZXIuaW5mbyhcIk5vIGZpbGVzIHByb3ZpZGVkIGZvciBjb21taXQsIHNraXBwaW5nXCIpO1xuXHRcdFx0cmV0dXJuIEFjdGlvblJlc3BvbnNlLlNraXBwZWQoQ29tbWl0RmlsZXMubmFtZSk7XG5cdFx0fVxuXG5cdFx0Y29uc3QgbWVzc2FnZSA9IG9wdGlvbnMubWVzc2FnZSA/PyBcImNob3JlOiBzeW5jIHdvcmtzcGFjZSBwYWNrYWdlIG1hbmlmZXN0cyBbc2tpcCBjaV1cIjtcblx0XHR0aGlzLiNsb2dnZXIuaW5mbyhgQ29tbWl0dGluZyBzeW5jZWQgbWFuaWZlc3RzOiAke21lc3NhZ2V9YCk7XG5cblx0XHR0cnkge1xuXHRcdFx0YXdhaXQgdGhpcy4jZ2l0LmNvbW1pdChtZXNzYWdlLCB7IGZpbGVzIH0pO1xuXHRcdFx0cmV0dXJuIEFjdGlvblJlc3BvbnNlLlN1Y2Nlc3MoQ29tbWl0RmlsZXMubmFtZSk7XG5cdFx0fSBjYXRjaCAocmVhc29uKSB7XG5cdFx0XHRyZXR1cm4gQWN0aW9uUmVzcG9uc2UuRXJyb3IoXG5cdFx0XHRcdENvbW1pdEZpbGVzLm5hbWUsXG5cdFx0XHRcdGBGYWlsZWQgY29tbWl0dGluZyBmaWxlczogJHtmb3JtYXRVbmtub3duRXJyb3IocmVhc29uKX1gLFxuXHRcdFx0KTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGdldERlZmF1bHRGaWxlcyhjb25maWd1cmF0aW9uOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG5cdFx0Y29uc3QgY3dkID0gcHJvY2Vzcy5jd2QoKTtcblx0XHRjb25zdCBtYW5pZmVzdEZpbGVzID0gW1xuXHRcdFx0cGF0aC5yZWxhdGl2ZShjd2QsIHBhdGgucmVzb2x2ZSh0aGlzLndvcmtzcGFjZS5wYWNrYWdlSnNvblBhdGgpKSxcblx0XHRcdC4uLnRoaXMud29ya3NwYWNlXG5cdFx0XHRcdC5nZXRQcm9qZWN0cyhjb25maWd1cmF0aW9uKVxuXHRcdFx0XHQubWFwKChwcm9qZWN0KSA9PiBwYXRoLnJlbGF0aXZlKGN3ZCwgcGF0aC5yZXNvbHZlKHByb2plY3QucGFja2FnZUpzb25QYXRoKSkpLFxuXHRcdF07XG5cblx0XHRyZXR1cm4gWy4uLm1hbmlmZXN0RmlsZXMsIC4uLktub3duTG9ja0ZpbGVzXTtcblx0fVxufVxuIl0sIm5hbWVzIjpbIkNvbW1pdEZpbGVzIiwiS25vd25Mb2NrRmlsZXMiLCJzY3JpYmUiLCJsb2dnZXIiLCJuYW1lIiwiR2l0Iiwid29ya3NwYWNlIiwicnVuIiwib3B0aW9ucyIsImNvbW1pdCIsIkFjdGlvblJlc3BvbnNlIiwiU2tpcHBlZCIsImRyeVJ1biIsImluZm8iLCJmaWxlcyIsImdldERlZmF1bHRGaWxlcyIsImNvbmZpZ3VyYXRpb24iLCJSZWxlYXNlIiwibGVuZ3RoIiwibWVzc2FnZSIsIlN1Y2Nlc3MiLCJyZWFzb24iLCJFcnJvciIsImZvcm1hdFVua25vd25FcnJvciIsImN3ZCIsInByb2Nlc3MiLCJtYW5pZmVzdEZpbGVzIiwicGF0aCIsInJlbGF0aXZlIiwicmVzb2x2ZSIsInBhY2thZ2VKc29uUGF0aCIsImdldFByb2plY3RzIiwibWFwIiwicHJvamVjdCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFzQmFBOzs7ZUFBQUE7OztpRUF0Qkk7NEJBQ1U7c0JBRUQ7cUJBRUs7eUJBQ1g7d0JBQ0c7d0JBQ1k7aUNBQ1g7Ozs7Ozs7Ozs7Ozs7OztBQVV4QixNQUFNQyxpQkFBaUI7SUFBQztDQUFpQjtBQUdsQyxNQUFNRDs7SUFDWixDQUFBLE1BQU8sR0FBR0UsY0FBTSxDQUFDQyxNQUFNLENBQUNILFlBQVlJLElBQUksRUFBRTtJQUMxQyxDQUFBLEdBQUksR0FBRyxJQUFJQyxZQUFHLEdBQUc7SUFFakIsWUFBbUIsQUFBaUJDLFNBQW9CLENBQUU7YUFBdEJBLFlBQUFBO0lBQXVCO0lBRTNELE1BQWFDLElBQUlDLE9BQTJCLEVBQTJCO1FBQ3RFLElBQUksQ0FBQ0EsUUFBUUMsTUFBTSxFQUFFO1lBQ3BCLE9BQU9DLG1CQUFjLENBQUNDLE9BQU8sQ0FBQ1gsWUFBWUksSUFBSTtRQUMvQztRQUVBLElBQUlJLFFBQVFJLE1BQU0sRUFBRTtZQUNuQixJQUFJLENBQUMsQ0FBQSxNQUFPLENBQUNDLElBQUksQ0FBQztZQUNsQixPQUFPSCxtQkFBYyxDQUFDQyxPQUFPLENBQUNYLFlBQVlJLElBQUk7UUFDL0M7UUFFQSxNQUFNVSxRQUFRTixRQUFRTSxLQUFLLElBQUksSUFBSSxDQUFDQyxlQUFlLENBQUNQLFFBQVFRLGFBQWEsSUFBSUMsd0JBQU8sQ0FBQ2IsSUFBSTtRQUN6RixJQUFJVSxNQUFNSSxNQUFNLEtBQUssR0FBRztZQUN2QixJQUFJLENBQUMsQ0FBQSxNQUFPLENBQUNMLElBQUksQ0FBQztZQUNsQixPQUFPSCxtQkFBYyxDQUFDQyxPQUFPLENBQUNYLFlBQVlJLElBQUk7UUFDL0M7UUFFQSxNQUFNZSxVQUFVWCxRQUFRVyxPQUFPLElBQUk7UUFDbkMsSUFBSSxDQUFDLENBQUEsTUFBTyxDQUFDTixJQUFJLENBQUMsQ0FBQyw2QkFBNkIsRUFBRU0sU0FBUztRQUUzRCxJQUFJO1lBQ0gsTUFBTSxJQUFJLENBQUMsQ0FBQSxHQUFJLENBQUNWLE1BQU0sQ0FBQ1UsU0FBUztnQkFBRUw7WUFBTTtZQUN4QyxPQUFPSixtQkFBYyxDQUFDVSxPQUFPLENBQUNwQixZQUFZSSxJQUFJO1FBQy9DLEVBQUUsT0FBT2lCLFFBQVE7WUFDaEIsT0FBT1gsbUJBQWMsQ0FBQ1ksS0FBSyxDQUMxQnRCLFlBQVlJLElBQUksRUFDaEIsQ0FBQyx5QkFBeUIsRUFBRW1CLElBQUFBLDBCQUFrQixFQUFDRixTQUFTO1FBRTFEO0lBQ0Q7SUFFUU4sZ0JBQWdCQyxhQUFxQixFQUFZO1FBQ3hELE1BQU1RLE1BQU1DLFFBQVFELEdBQUc7UUFDdkIsTUFBTUUsZ0JBQWdCO1lBQ3JCQyxpQkFBSSxDQUFDQyxRQUFRLENBQUNKLEtBQUtHLGlCQUFJLENBQUNFLE9BQU8sQ0FBQyxJQUFJLENBQUN2QixTQUFTLENBQUN3QixlQUFlO2VBQzNELElBQUksQ0FBQ3hCLFNBQVMsQ0FDZnlCLFdBQVcsQ0FBQ2YsZUFDWmdCLEdBQUcsQ0FBQyxDQUFDQyxVQUFZTixpQkFBSSxDQUFDQyxRQUFRLENBQUNKLEtBQUtHLGlCQUFJLENBQUNFLE9BQU8sQ0FBQ0ksUUFBUUgsZUFBZTtTQUMxRTtRQUVELE9BQU87ZUFBSUo7ZUFBa0J6QjtTQUFlO0lBQzdDO0FBQ0QifQ==
|
|
@@ -10,10 +10,11 @@ Object.defineProperty(exports, "Copy", {
|
|
|
10
10
|
});
|
|
11
11
|
const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
|
|
12
12
|
const _decorators = require("@decohere/crucible/decorators");
|
|
13
|
-
const
|
|
14
|
-
const _cli = require("@decohere/
|
|
15
|
-
const _io = require("@decohere/
|
|
16
|
-
const
|
|
13
|
+
const _workspace = require("@decohere/workspace");
|
|
14
|
+
const _cli = require("@decohere/devkit/cli");
|
|
15
|
+
const _io = require("@decohere/core/io");
|
|
16
|
+
const _io1 = require("@decohere/devkit/io");
|
|
17
|
+
const _system = require("@decohere/core/system");
|
|
17
18
|
const _scribe = require("@decohere/scribe");
|
|
18
19
|
function _interop_require_default(obj) {
|
|
19
20
|
return obj && obj.__esModule ? obj : {
|
|
@@ -43,15 +44,47 @@ class Copy {
|
|
|
43
44
|
return _cli.ActionResponse.Skipped(Copy.name);
|
|
44
45
|
}
|
|
45
46
|
await Promise.all(this.workspace.getProjects(options.configuration).map(async (proj)=>{
|
|
46
|
-
const
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
const cwd = proj.projectDirectory;
|
|
48
|
+
const root = proj.getOutDir();
|
|
49
|
+
// Workspace + configuration copyFiles → package root (historic behaviour).
|
|
50
|
+
const rootFiles = await (0, _io1.findFiles)(proj.copyFiles, {
|
|
51
|
+
cwd
|
|
50
52
|
});
|
|
51
|
-
await Promise.all(
|
|
53
|
+
await Promise.all(rootFiles.map((file)=>this.copyFileToOut(file, root)));
|
|
54
|
+
// Configuration-only globs → each pack target outDir (next to emitted JS).
|
|
55
|
+
await this.copyColocatedPackAssets(proj, cwd);
|
|
52
56
|
}));
|
|
53
57
|
return _cli.ActionResponse.Success(Copy.name);
|
|
54
58
|
};
|
|
59
|
+
/**
|
|
60
|
+
* Packed builds emit JS under `<out>/<target>/` (e.g. `es6/`). Assets listed on
|
|
61
|
+
* the *configuration* `copyFiles` (not the workspace defaults) are also copied
|
|
62
|
+
* into each target so `import.meta.url` resolves them beside that JS.
|
|
63
|
+
*
|
|
64
|
+
* Workspace `copyFiles` (e.g. `package.json`) stay root-only — nesting a
|
|
65
|
+
* package manifest under `es6/` makes `npm install --install-links` drop the
|
|
66
|
+
* parent's `es6/` tree when packing `file:` deps.
|
|
67
|
+
*/ async copyColocatedPackAssets(proj, cwd) {
|
|
68
|
+
const colocatedPatterns = proj.configuration.copyFiles ?? [];
|
|
69
|
+
if (colocatedPatterns.length === 0) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
const config = proj.configuration;
|
|
73
|
+
if (!config.pack) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
const targets = config.targets ?? [];
|
|
77
|
+
if (targets.length === 0) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
const files = await (0, _io1.findFiles)(colocatedPatterns, {
|
|
81
|
+
cwd
|
|
82
|
+
});
|
|
83
|
+
const targetDirs = [
|
|
84
|
+
...new Set(targets.map((target)=>proj.getOutDir(target)))
|
|
85
|
+
];
|
|
86
|
+
await Promise.all(targetDirs.flatMap((outDir)=>files.map((file)=>this.copyFileToOut(file, outDir))));
|
|
87
|
+
}
|
|
55
88
|
async copyFileToOut(file, outDir) {
|
|
56
89
|
const dest = _nodepath.default.join(outDir, file.relativePath);
|
|
57
90
|
await _io.io.copyFile(file.fullPath, dest, {
|
|
@@ -76,8 +109,6 @@ Copy = _ts_decorate([
|
|
|
76
109
|
(0, _decorators.injectable)(),
|
|
77
110
|
_ts_metadata("design:type", Function),
|
|
78
111
|
_ts_metadata("design:paramtypes", [
|
|
79
|
-
typeof
|
|
112
|
+
typeof _workspace.Workspace === "undefined" ? Object : _workspace.Workspace
|
|
80
113
|
])
|
|
81
114
|
], Copy);
|
|
82
|
-
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9hY3Rpb25zL2NvcHkuYWN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IGluamVjdGFibGUgfSBmcm9tIFwiQGRlY29oZXJlL2NydWNpYmxlL2RlY29yYXRvcnNcIjtcbi8vIGJpb21lLWlnbm9yZSBsaW50L3N0eWxlL3VzZUltcG9ydFR5cGU6IDxEST5cbmltcG9ydCB7IFdvcmtzcGFjZSB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuaW1wb3J0IHR5cGUgeyBBY3Rpb24gfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHsgQWN0aW9uUmVzcG9uc2UgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2NsaVwiO1xuaW1wb3J0IHsgdHlwZSBGaWxlRXgsIGlvIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9pb1wiO1xuaW1wb3J0IHsgcmV0cnkgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL3N5c3RlbVwiO1xuaW1wb3J0IHsgc2NyaWJlIH0gZnJvbSBcIkBkZWNvaGVyZS9zY3JpYmVcIjtcblxuY29uc3QgQ09QWV9SRVRSWV9BVFRFTVBUUyA9IDM7XG5jb25zdCBDT1BZX1JFVFJZX0RFTEFZX01TID0gMjU7XG5cbmV4cG9ydCB0eXBlIENvcHlPcHRpb25zID0ge1xuXHRjb3B5OiBib29sZWFuO1xuXHRjb25maWd1cmF0aW9uOiBzdHJpbmc7XG59O1xuXG5AaW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29weSBpbXBsZW1lbnRzIEFjdGlvbjxDb3B5T3B0aW9ucz4ge1xuXHQjbG9nZ2VyID0gc2NyaWJlLmxvZ2dlcihDb3B5Lm5hbWUpO1xuXHRwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB3b3Jrc3BhY2U6IFdvcmtzcGFjZSkge31cblxuXHRwdWJsaWMgcnVuID0gYXN5bmMgKG9wdGlvbnM6IENvcHlPcHRpb25zKTogUHJvbWlzZTxBY3Rpb25SZXNwb25zZT4gPT4ge1xuXHRcdGlmICghb3B0aW9ucy5jb3B5KSB7XG5cdFx0XHR0aGlzLiNsb2dnZXIuaW5mbyhcIlNraXBwaW5nIGNvcHlcIik7XG5cdFx0XHRyZXR1cm4gQWN0aW9uUmVzcG9uc2UuU2tpcHBlZChDb3B5Lm5hbWUpO1xuXHRcdH1cblxuXHRcdGF3YWl0IFByb21pc2UuYWxsKFxuXHRcdFx0dGhpcy53b3Jrc3BhY2UuZ2V0UHJvamVjdHMob3B0aW9ucy5jb25maWd1cmF0aW9uKS5tYXAoYXN5bmMgKHByb2opID0+IHtcblx0XHRcdFx0Y29uc3Qgb3V0RGlyID0gcHJvai5nZXRPdXREaXIoKTtcblx0XHRcdFx0Y29uc3QgcGF0dGVybiA9IHByb2ouY29weUZpbGVzO1xuXHRcdFx0XHRjb25zdCBmaWxlcyA9IGF3YWl0IGlvLmZpbmRGaWxlcyhwYXR0ZXJuLCB7IGN3ZDogcHJvai5wcm9qZWN0RGlyZWN0b3J5IH0pO1xuXHRcdFx0XHRhd2FpdCBQcm9taXNlLmFsbChmaWxlcy5tYXAoKGZpbGUpID0+IHRoaXMuY29weUZpbGVUb091dChmaWxlLCBvdXREaXIpKSk7XG5cdFx0XHR9KSxcblx0XHQpO1xuXG5cdFx0cmV0dXJuIEFjdGlvblJlc3BvbnNlLlN1Y2Nlc3MoQ29weS5uYW1lKTtcblx0fTtcblxuXHRAcmV0cnkoeyBhdHRlbXB0czogQ09QWV9SRVRSWV9BVFRFTVBUUywgZGVsYXlNczogQ09QWV9SRVRSWV9ERUxBWV9NUyB9KVxuXHRwcml2YXRlIGFzeW5jIGNvcHlGaWxlVG9PdXQoZmlsZTogRmlsZUV4LCBvdXREaXI6IHN0cmluZykge1xuXHRcdGNvbnN0IGRlc3QgPSBwYXRoLmpvaW4ob3V0RGlyLCBmaWxlLnJlbGF0aXZlUGF0aCk7XG5cdFx0YXdhaXQgaW8uY29weUZpbGUoZmlsZS5mdWxsUGF0aCwgZGVzdCwgeyBta2RpcjogdHJ1ZSB9KTtcblx0XHR0aGlzLiNsb2dnZXIudHJhY2UoYENvcGllZCAke2ZpbGUuZnVsbFBhdGh9IC0+ICR7ZGVzdH1gKTtcblx0fVxufVxuIl0sIm5hbWVzIjpbIkNvcHkiLCJDT1BZX1JFVFJZX0FUVEVNUFRTIiwiQ09QWV9SRVRSWV9ERUxBWV9NUyIsInNjcmliZSIsImxvZ2dlciIsIm5hbWUiLCJ3b3Jrc3BhY2UiLCJydW4iLCJvcHRpb25zIiwiY29weSIsImluZm8iLCJBY3Rpb25SZXNwb25zZSIsIlNraXBwZWQiLCJQcm9taXNlIiwiYWxsIiwiZ2V0UHJvamVjdHMiLCJjb25maWd1cmF0aW9uIiwibWFwIiwicHJvaiIsIm91dERpciIsImdldE91dERpciIsInBhdHRlcm4iLCJjb3B5RmlsZXMiLCJmaWxlcyIsImlvIiwiZmluZEZpbGVzIiwiY3dkIiwicHJvamVjdERpcmVjdG9yeSIsImZpbGUiLCJjb3B5RmlsZVRvT3V0IiwiU3VjY2VzcyIsImRlc3QiLCJwYXRoIiwiam9pbiIsInJlbGF0aXZlUGF0aCIsImNvcHlGaWxlIiwiZnVsbFBhdGgiLCJta2RpciIsInRyYWNlIiwiYXR0ZW1wdHMiLCJkZWxheU1zIl0sIm1hcHBpbmdzIjoiOzs7OytCQW1CYUE7OztlQUFBQTs7O2lFQW5CSTs0QkFDVTtzQkFFRDtxQkFFSztvQkFDQzt3QkFDVjt3QkFDQzs7Ozs7Ozs7Ozs7Ozs7O0FBRXZCLE1BQU1DLHNCQUFzQjtBQUM1QixNQUFNQyxzQkFBc0I7QUFRckIsTUFBTUY7O0lBQ1osQ0FBQSxNQUFPLEdBQUdHLGNBQU0sQ0FBQ0MsTUFBTSxDQUFDSixLQUFLSyxJQUFJLEVBQUU7SUFDbkMsWUFBbUIsQUFBaUJDLFNBQW9CLENBQUU7YUFBdEJBLFlBQUFBO0lBQXVCO0lBRXBEQyxNQUFNLE9BQU9DO1FBQ25CLElBQUksQ0FBQ0EsUUFBUUMsSUFBSSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxDQUFBLE1BQU8sQ0FBQ0MsSUFBSSxDQUFDO1lBQ2xCLE9BQU9DLG1CQUFjLENBQUNDLE9BQU8sQ0FBQ1osS0FBS0ssSUFBSTtRQUN4QztRQUVBLE1BQU1RLFFBQVFDLEdBQUcsQ0FDaEIsSUFBSSxDQUFDUixTQUFTLENBQUNTLFdBQVcsQ0FBQ1AsUUFBUVEsYUFBYSxFQUFFQyxHQUFHLENBQUMsT0FBT0M7WUFDNUQsTUFBTUMsU0FBU0QsS0FBS0UsU0FBUztZQUM3QixNQUFNQyxVQUFVSCxLQUFLSSxTQUFTO1lBQzlCLE1BQU1DLFFBQVEsTUFBTUMsTUFBRSxDQUFDQyxTQUFTLENBQUNKLFNBQVM7Z0JBQUVLLEtBQUtSLEtBQUtTLGdCQUFnQjtZQUFDO1lBQ3ZFLE1BQU1kLFFBQVFDLEdBQUcsQ0FBQ1MsTUFBTU4sR0FBRyxDQUFDLENBQUNXLE9BQVMsSUFBSSxDQUFDQyxhQUFhLENBQUNELE1BQU1UO1FBQ2hFO1FBR0QsT0FBT1IsbUJBQWMsQ0FBQ21CLE9BQU8sQ0FBQzlCLEtBQUtLLElBQUk7SUFDeEMsRUFBRTtJQUVGLE1BQ2N3QixjQUFjRCxJQUFZLEVBQUVULE1BQWMsRUFBRTtRQUN6RCxNQUFNWSxPQUFPQyxpQkFBSSxDQUFDQyxJQUFJLENBQUNkLFFBQVFTLEtBQUtNLFlBQVk7UUFDaEQsTUFBTVYsTUFBRSxDQUFDVyxRQUFRLENBQUNQLEtBQUtRLFFBQVEsRUFBRUwsTUFBTTtZQUFFTSxPQUFPO1FBQUs7UUFDckQsSUFBSSxDQUFDLENBQUEsTUFBTyxDQUFDQyxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUVWLEtBQUtRLFFBQVEsQ0FBQyxJQUFJLEVBQUVMLE1BQU07SUFDeEQ7QUFDRDs7O1FBTlVRLFVBQVV0QztRQUFxQnVDLFNBQVN0QyJ9
|
|
@@ -9,9 +9,9 @@ Object.defineProperty(exports, "ReportDependencies", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
const _decorators = require("@decohere/crucible/decorators");
|
|
12
|
-
const
|
|
13
|
-
const _cli = require("@decohere/
|
|
14
|
-
const _io = require("@decohere/
|
|
12
|
+
const _workspace = require("@decohere/workspace");
|
|
13
|
+
const _cli = require("@decohere/devkit/cli");
|
|
14
|
+
const _io = require("@decohere/core/io");
|
|
15
15
|
const _scribe = require("@decohere/scribe");
|
|
16
16
|
const _errors = require("../errors.js");
|
|
17
17
|
const _dependencyresolverservice = require("../services/dependency-resolver.service.js");
|
|
@@ -134,9 +134,7 @@ ReportDependencies = _ts_decorate([
|
|
|
134
134
|
(0, _decorators.injectable)(),
|
|
135
135
|
_ts_metadata("design:type", Function),
|
|
136
136
|
_ts_metadata("design:paramtypes", [
|
|
137
|
-
typeof
|
|
137
|
+
typeof _workspace.Workspace === "undefined" ? Object : _workspace.Workspace,
|
|
138
138
|
typeof _dependencyresolverservice.DependencyResolver === "undefined" ? Object : _dependencyresolverservice.DependencyResolver
|
|
139
139
|
])
|
|
140
140
|
], ReportDependencies);
|
|
141
|
-
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9hY3Rpb25zL2RlcGVuZGVuY3ktcmVwb3J0LmFjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3RhYmxlIH0gZnJvbSBcIkBkZWNvaGVyZS9jcnVjaWJsZS9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgdHlwZSB7IFBhY2thZ2VKc29uLCBQcm9qZWN0IH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG4vLyBiaW9tZS1pZ25vcmUgbGludC9zdHlsZS91c2VJbXBvcnRUeXBlOiA8REk+XG5pbXBvcnQgeyBXb3Jrc3BhY2UgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB0eXBlIHsgQWN0aW9uIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB7IEFjdGlvblJlc3BvbnNlIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9jbGlcIjtcbmltcG9ydCB7IGlvIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9pb1wiO1xuaW1wb3J0IHsgc2NyaWJlIH0gZnJvbSBcIkBkZWNvaGVyZS9zY3JpYmVcIjtcbmltcG9ydCB7IGZvcm1hdFVua25vd25FcnJvciB9IGZyb20gXCIuLi9lcnJvcnMuanNcIjtcbi8vIGJpb21lLWlnbm9yZSBsaW50L3N0eWxlL3VzZUltcG9ydFR5cGU6IDxEST5cbmltcG9ydCB7IERlcGVuZGVuY3lSZXNvbHZlciB9IGZyb20gXCIuLi9zZXJ2aWNlcy9kZXBlbmRlbmN5LXJlc29sdmVyLnNlcnZpY2UuanNcIjtcbmltcG9ydCB0eXBlIHsgRGVwZW5kZW5jeVdhcm5pbmcsIERyaWZ0RW50cnksIFBhY2thZ2UgfSBmcm9tIFwiLi4vdHlwZXMvZGVwZW5kZW5jeS50eXBlcy5qc1wiO1xuXG50eXBlIFJlcG9ydE9wdGlvbnMgPSB7XG5cdGNvbmZpZ3VyYXRpb246IHN0cmluZztcblx0ZmlsZT86IHN0cmluZztcblx0ZmFpbE9uRHJpZnQ/OiBib29sZWFuO1xufTtcblxudHlwZSBSZXBvcnRFbnRyeSA9IHtcblx0cHJvamVjdE5hbWU6IHN0cmluZztcblx0ZGVwZW5kZW5jaWVzOiBzdHJpbmdbXTtcblx0ZGV2RGVwZW5kZW5jaWVzOiBzdHJpbmdbXTtcbn07XG5cbnR5cGUgRHJpZnRSZXBvcnQgPSBSZWNvcmQ8c3RyaW5nLCBEcmlmdEVudHJ5PjtcblxudHlwZSBQcm9qZWN0UmVwb3J0ID0ge1xuXHRwcm9qZWN0TmFtZTogc3RyaW5nO1xuXHRlbnRyeTogUmVwb3J0RW50cnk7XG5cdGRyaWZ0OiBEcmlmdEVudHJ5IHwgbnVsbDtcblx0d2FybmluZ3M6IERlcGVuZGVuY3lXYXJuaW5nW107XG59O1xuXG5AaW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUmVwb3J0RGVwZW5kZW5jaWVzIGltcGxlbWVudHMgQWN0aW9uPFJlcG9ydE9wdGlvbnM+IHtcblx0I2xvZ2dlciA9IHNjcmliZS5sb2dnZXIoUmVwb3J0RGVwZW5kZW5jaWVzLm5hbWUpO1xuXG5cdHB1YmxpYyBjb25zdHJ1Y3Rvcihcblx0XHRwcml2YXRlIHJlYWRvbmx5IHdvcmtzcGFjZTogV29ya3NwYWNlLFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgcmVzb2x2ZXI6IERlcGVuZGVuY3lSZXNvbHZlcixcblx0KSB7fVxuXG5cdHB1YmxpYyBhc3luYyBydW4ob3B0aW9uczogUmVwb3J0T3B0aW9ucyk6IFByb21pc2U8QWN0aW9uUmVzcG9uc2U8UHJvamVjdFJlcG9ydD4+IHtcblx0XHRjb25zdCB7IGNvbmZpZ3VyYXRpb24sIGZpbGUsIGZhaWxPbkRyaWZ0IH0gPSBvcHRpb25zO1xuXG5cdFx0dHJ5IHtcblx0XHRcdGNvbnN0IHByb2plY3REZXBzID0gYXdhaXQgdGhpcy5hbmFseXplV29ya3NwYWNlKHRoaXMud29ya3NwYWNlLCBjb25maWd1cmF0aW9uKTtcblx0XHRcdHRoaXMubG9nUmVwb3J0KHByb2plY3REZXBzKTtcblxuXHRcdFx0aWYgKGZpbGUpIHtcblx0XHRcdFx0YXdhaXQgdGhpcy53cml0ZVJlcG9ydEZpbGUoZmlsZSwgcHJvamVjdERlcHMpO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAoZmFpbE9uRHJpZnQpIHtcblx0XHRcdFx0Y29uc3QgZHJpZnRSZXBvcnQgPSB0aGlzLmJ1aWxkRHJpZnRSZXBvcnQocHJvamVjdERlcHMpO1xuXHRcdFx0XHR0aGlzLnRocm93T25EcmlmdChkcmlmdFJlcG9ydCk7XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiBBY3Rpb25SZXNwb25zZS5TdWNjZXNzKFJlcG9ydERlcGVuZGVuY2llcy5uYW1lLCBwcm9qZWN0RGVwcyk7XG5cdFx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRcdGNvbnN0IG1lc3NhZ2UgPSBmb3JtYXRVbmtub3duRXJyb3IoZXJyb3IpO1xuXHRcdFx0cmV0dXJuIEFjdGlvblJlc3BvbnNlLkVycm9yPFByb2plY3RSZXBvcnQ+KFJlcG9ydERlcGVuZGVuY2llcy5uYW1lLCBtZXNzYWdlKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGFzeW5jIGFuYWx5emVXb3Jrc3BhY2UoXG5cdFx0d29ya3NwYWNlOiBXb3Jrc3BhY2UsXG5cdFx0Y29uZmlndXJhdGlvbjogc3RyaW5nLFxuXHQpOiBQcm9taXNlPFByb2plY3RSZXBvcnRbXT4ge1xuXHRcdGNvbnN0IHByb2plY3RzID0gd29ya3NwYWNlLmdldFByb2plY3RzKGNvbmZpZ3VyYXRpb24pO1xuXHRcdGNvbnN0IHdvcmtzcGFjZVBhY2thZ2VzID0gYXdhaXQgdGhpcy5yZXNvbHZlci5nZXRXb3Jrc3BhY2VQYWNrYWdlcyhcblx0XHRcdHRoaXMud29ya3NwYWNlLFxuXHRcdFx0cHJvamVjdHMsXG5cdFx0KTtcblx0XHRyZXR1cm4gUHJvbWlzZS5hbGwoXG5cdFx0XHRwcm9qZWN0cy5tYXAoKHByb2plY3QpID0+IHRoaXMuYW5hbHl6ZVByb2plY3QocHJvamVjdCwgd29ya3NwYWNlUGFja2FnZXMpKSxcblx0XHQpO1xuXHR9XG5cblx0cHJpdmF0ZSBhc3luYyBhbmFseXplUHJvamVjdChcblx0XHRwcm9qZWN0OiBQcm9qZWN0LFxuXHRcdHdvcmtzcGFjZVBhY2thZ2VzOiBNYXA8c3RyaW5nLCBQYWNrYWdlPixcblx0KTogUHJvbWlzZTxQcm9qZWN0UmVwb3J0PiB7XG5cdFx0Y29uc3QgeyBlbnRyeSwgY3VycmVudFBhY2thZ2UsIHVwZGF0ZWRQYWNrYWdlLCB3YXJuaW5ncyB9ID0gYXdhaXQgdGhpcy5nZXREZXBlbmRlbmNpZXMoXG5cdFx0XHRwcm9qZWN0LFxuXHRcdFx0d29ya3NwYWNlUGFja2FnZXMsXG5cdFx0KTtcblx0XHRjb25zdCBkcmlmdCA9IHRoaXMucmVzb2x2ZXIuY29tcHV0ZURyaWZ0KGN1cnJlbnRQYWNrYWdlLCB1cGRhdGVkUGFja2FnZSk7XG5cdFx0cmV0dXJuIHsgcHJvamVjdE5hbWU6IHByb2plY3QubmFtZSwgZW50cnksIGRyaWZ0LCB3YXJuaW5ncyB9O1xuXHR9XG5cblx0cHJpdmF0ZSBhc3luYyBnZXREZXBlbmRlbmNpZXMoXG5cdFx0cHJvamVjdDogUHJvamVjdCxcblx0XHR3b3Jrc3BhY2VQYWNrYWdlczogTWFwPHN0cmluZywgUGFja2FnZT4sXG5cdCk6IFByb21pc2U8e1xuXHRcdGVudHJ5OiBSZXBvcnRFbnRyeTtcblx0XHRjdXJyZW50UGFja2FnZTogUGFja2FnZUpzb247XG5cdFx0dXBkYXRlZFBhY2thZ2U6IFBhY2thZ2VKc29uO1xuXHRcdHdhcm5pbmdzOiBEZXBlbmRlbmN5V2FybmluZ1tdO1xuXHR9PiB7XG5cdFx0Y29uc3QgY3VycmVudFBhY2thZ2UgPSBhd2FpdCBwcm9qZWN0LmdldFBhY2thZ2VKc29uKCk7XG5cdFx0Y29uc3QgeyB1cGRhdGVkUGFja2FnZSwgd2FybmluZ3MgfSA9IGF3YWl0IHRoaXMucmVzb2x2ZXIuY29tcHV0ZVByb2plY3REZXBlbmRlbmNpZXMoXG5cdFx0XHRwcm9qZWN0LFxuXHRcdFx0d29ya3NwYWNlUGFja2FnZXMsXG5cdFx0KTtcblxuXHRcdGNvbnN0IGVudHJ5OiBSZXBvcnRFbnRyeSA9IHtcblx0XHRcdHByb2plY3ROYW1lOiBwcm9qZWN0Lm5hbWUsXG5cdFx0XHRkZXBlbmRlbmNpZXM6IE9iamVjdC5rZXlzKHVwZGF0ZWRQYWNrYWdlLmRlcGVuZGVuY2llcyA/PyB7fSksXG5cdFx0XHRkZXZEZXBlbmRlbmNpZXM6IE9iamVjdC5rZXlzKHVwZGF0ZWRQYWNrYWdlLmRldkRlcGVuZGVuY2llcyA/PyB7fSksXG5cdFx0fTtcblxuXHRcdHJldHVybiB7IGVudHJ5LCBjdXJyZW50UGFja2FnZSwgdXBkYXRlZFBhY2thZ2UsIHdhcm5pbmdzIH07XG5cdH1cblxuXHRwcml2YXRlIGJ1aWxkRHJpZnRSZXBvcnQocmVwb3J0czogUHJvamVjdFJlcG9ydFtdKTogRHJpZnRSZXBvcnQge1xuXHRcdHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXG5cdFx0XHRyZXBvcnRzXG5cdFx0XHRcdC5maWx0ZXIoKHIpOiByIGlzIFByb2plY3RSZXBvcnQgJiB7IGRyaWZ0OiBEcmlmdEVudHJ5IH0gPT4gci5kcmlmdCAhPSBudWxsKVxuXHRcdFx0XHQubWFwKChyKSA9PiBbci5wcm9qZWN0TmFtZSwgci5kcmlmdF0pLFxuXHRcdCk7XG5cdH1cblxuXHRwcml2YXRlIHRocm93T25EcmlmdChkcmlmdFJlcG9ydDogRHJpZnRSZXBvcnQpOiB2b2lkIHtcblx0XHRjb25zdCBkcmlmdGVkUHJvamVjdHMgPSBPYmplY3Qua2V5cyhkcmlmdFJlcG9ydCk7XG5cdFx0aWYgKGRyaWZ0ZWRQcm9qZWN0cy5sZW5ndGggPiAwKSB7XG5cdFx0XHRmb3IgKGNvbnN0IFtwcm9qZWN0TmFtZSwgZHJpZnRdIG9mIE9iamVjdC5lbnRyaWVzKGRyaWZ0UmVwb3J0KSkge1xuXHRcdFx0XHR0aGlzLiNsb2dnZXIud2FybihgRGVwZW5kZW5jeSBkcmlmdCBpbiAnJHtwcm9qZWN0TmFtZX0nYCwge1xuXHRcdFx0XHRcdG9yaWdpbmFsOiBkcmlmdC5vcmlnaW5hbCxcblx0XHRcdFx0XHR1cGRhdGVkOiBkcmlmdC51cGRhdGVkLFxuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHRcdHRocm93IG5ldyBFcnJvcihgRGVwZW5kZW5jeSBkcmlmdCBkZXRlY3RlZCBpbjogJHtkcmlmdGVkUHJvamVjdHMuam9pbihcIiwgXCIpfWApO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgbG9nUmVwb3J0KHJlcG9ydHM6IFByb2plY3RSZXBvcnRbXSkge1xuXHRcdGZvciAoY29uc3QgeyBlbnRyeSwgd2FybmluZ3MgfSBvZiByZXBvcnRzKSB7XG5cdFx0XHR0aGlzLiNsb2dnZXIuaW5mbyhgJHtlbnRyeS5wcm9qZWN0TmFtZX06YCk7XG5cdFx0XHRpZiAoZW50cnkuZGVwZW5kZW5jaWVzLmxlbmd0aCkge1xuXHRcdFx0XHR0aGlzLiNsb2dnZXIuaW5mbyhgICBkZXBlbmRlbmNpZXM6ICR7ZW50cnkuZGVwZW5kZW5jaWVzLmpvaW4oXCIsIFwiKX1gKTtcblx0XHRcdH1cblx0XHRcdGlmIChlbnRyeS5kZXZEZXBlbmRlbmNpZXMubGVuZ3RoKSB7XG5cdFx0XHRcdHRoaXMuI2xvZ2dlci5pbmZvKGAgIGRldkRlcGVuZGVuY2llczogJHtlbnRyeS5kZXZEZXBlbmRlbmNpZXMuam9pbihcIiwgXCIpfWApO1xuXHRcdFx0fVxuXHRcdFx0Zm9yIChjb25zdCB3YXJuaW5nIG9mIHdhcm5pbmdzKSB7XG5cdFx0XHRcdHRoaXMuI2xvZ2dlci53YXJuKGAgIHdhcm5pbmc6ICR7d2FybmluZy5maWxlfToke3dhcm5pbmcubGluZX06ICR7d2FybmluZy5tZXNzYWdlfWApO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgd3JpdGVSZXBvcnRGaWxlKGZpbGU6IHN0cmluZywgcmVwb3J0czogUHJvamVjdFJlcG9ydFtdKSB7XG5cdFx0Y29uc3QgbGluZXMgPSByZXBvcnRzLmZsYXRNYXAoKHsgZW50cnksIHdhcm5pbmdzIH0pID0+IFtcblx0XHRcdGAke2VudHJ5LnByb2plY3ROYW1lfTpgLFxuXHRcdFx0Li4uKGVudHJ5LmRlcGVuZGVuY2llcy5sZW5ndGhcblx0XHRcdFx0PyBbYCAgZGVwZW5kZW5jaWVzOiAke2VudHJ5LmRlcGVuZGVuY2llcy5qb2luKFwiLCBcIil9YF1cblx0XHRcdFx0OiBbXSksXG5cdFx0XHQuLi4oZW50cnkuZGV2RGVwZW5kZW5jaWVzLmxlbmd0aFxuXHRcdFx0XHQ/IFtgICBkZXZEZXBlbmRlbmNpZXM6ICR7ZW50cnkuZGV2RGVwZW5kZW5jaWVzLmpvaW4oXCIsIFwiKX1gXVxuXHRcdFx0XHQ6IFtdKSxcblx0XHRcdC4uLndhcm5pbmdzLm1hcCgodykgPT4gYCAgd2FybmluZzogJHt3LmZpbGV9OiR7dy5saW5lfTogJHt3Lm1lc3NhZ2V9YCksXG5cdFx0XHRcIlwiLFxuXHRcdF0pO1xuXHRcdGF3YWl0IGlvLndyaXRlRmlsZShmaWxlLCBsaW5lcy5qb2luKFwiXFxuXCIpLCB7IG1rZGlyOiB0cnVlIH0pO1xuXHRcdHRoaXMuI2xvZ2dlci5pbmZvKGBSZXBvcnQgd3JpdHRlbiB0byAke2ZpbGV9YCk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJSZXBvcnREZXBlbmRlbmNpZXMiLCJzY3JpYmUiLCJsb2dnZXIiLCJuYW1lIiwid29ya3NwYWNlIiwicmVzb2x2ZXIiLCJydW4iLCJvcHRpb25zIiwiY29uZmlndXJhdGlvbiIsImZpbGUiLCJmYWlsT25EcmlmdCIsInByb2plY3REZXBzIiwiYW5hbHl6ZVdvcmtzcGFjZSIsImxvZ1JlcG9ydCIsIndyaXRlUmVwb3J0RmlsZSIsImRyaWZ0UmVwb3J0IiwiYnVpbGREcmlmdFJlcG9ydCIsInRocm93T25EcmlmdCIsIkFjdGlvblJlc3BvbnNlIiwiU3VjY2VzcyIsImVycm9yIiwibWVzc2FnZSIsImZvcm1hdFVua25vd25FcnJvciIsIkVycm9yIiwicHJvamVjdHMiLCJnZXRQcm9qZWN0cyIsIndvcmtzcGFjZVBhY2thZ2VzIiwiZ2V0V29ya3NwYWNlUGFja2FnZXMiLCJQcm9taXNlIiwiYWxsIiwibWFwIiwicHJvamVjdCIsImFuYWx5emVQcm9qZWN0IiwiZW50cnkiLCJjdXJyZW50UGFja2FnZSIsInVwZGF0ZWRQYWNrYWdlIiwid2FybmluZ3MiLCJnZXREZXBlbmRlbmNpZXMiLCJkcmlmdCIsImNvbXB1dGVEcmlmdCIsInByb2plY3ROYW1lIiwiZ2V0UGFja2FnZUpzb24iLCJjb21wdXRlUHJvamVjdERlcGVuZGVuY2llcyIsImRlcGVuZGVuY2llcyIsIk9iamVjdCIsImtleXMiLCJkZXZEZXBlbmRlbmNpZXMiLCJyZXBvcnRzIiwiZnJvbUVudHJpZXMiLCJmaWx0ZXIiLCJyIiwiZHJpZnRlZFByb2plY3RzIiwibGVuZ3RoIiwiZW50cmllcyIsIndhcm4iLCJvcmlnaW5hbCIsInVwZGF0ZWQiLCJqb2luIiwiaW5mbyIsIndhcm5pbmciLCJsaW5lIiwibGluZXMiLCJmbGF0TWFwIiwidyIsImlvIiwid3JpdGVGaWxlIiwibWtkaXIiXSwibWFwcGluZ3MiOiI7Ozs7K0JBbUNhQTs7O2VBQUFBOzs7NEJBbkNjO3NCQUdEO3FCQUVLO29CQUNaO3dCQUNJO3dCQUNZOzJDQUVBOzs7Ozs7Ozs7O0FBeUI1QixNQUFNQTs7O0lBQ1osQ0FBQSxNQUFPLEdBQUdDLGNBQU0sQ0FBQ0MsTUFBTSxDQUFDRixtQkFBbUJHLElBQUksRUFBRTtJQUVqRCxZQUNDLEFBQWlCQyxTQUFvQixFQUNyQyxBQUFpQkMsUUFBNEIsQ0FDNUM7YUFGZ0JELFlBQUFBO2FBQ0FDLFdBQUFBO0lBQ2Y7SUFFSCxNQUFhQyxJQUFJQyxPQUFzQixFQUEwQztRQUNoRixNQUFNLEVBQUVDLGFBQWEsRUFBRUMsSUFBSSxFQUFFQyxXQUFXLEVBQUUsR0FBR0g7UUFFN0MsSUFBSTtZQUNILE1BQU1JLGNBQWMsTUFBTSxJQUFJLENBQUNDLGdCQUFnQixDQUFDLElBQUksQ0FBQ1IsU0FBUyxFQUFFSTtZQUNoRSxJQUFJLENBQUNLLFNBQVMsQ0FBQ0Y7WUFFZixJQUFJRixNQUFNO2dCQUNULE1BQU0sSUFBSSxDQUFDSyxlQUFlLENBQUNMLE1BQU1FO1lBQ2xDO1lBRUEsSUFBSUQsYUFBYTtnQkFDaEIsTUFBTUssY0FB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
|
|
@@ -9,8 +9,8 @@ Object.defineProperty(exports, "SyncDependencies", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
const _decorators = require("@decohere/crucible/decorators");
|
|
12
|
-
const
|
|
13
|
-
const _cli = require("@decohere/
|
|
12
|
+
const _workspace = require("@decohere/workspace");
|
|
13
|
+
const _cli = require("@decohere/devkit/cli");
|
|
14
14
|
const _scribe = require("@decohere/scribe");
|
|
15
15
|
const _errors = require("../errors.js");
|
|
16
16
|
const _dependencyresolverservice = require("../services/dependency-resolver.service.js");
|
|
@@ -92,9 +92,7 @@ SyncDependencies = _ts_decorate([
|
|
|
92
92
|
(0, _decorators.injectable)(),
|
|
93
93
|
_ts_metadata("design:type", Function),
|
|
94
94
|
_ts_metadata("design:paramtypes", [
|
|
95
|
-
typeof
|
|
95
|
+
typeof _workspace.Workspace === "undefined" ? Object : _workspace.Workspace,
|
|
96
96
|
typeof _dependencyresolverservice.DependencyResolver === "undefined" ? Object : _dependencyresolverservice.DependencyResolver
|
|
97
97
|
])
|
|
98
98
|
], SyncDependencies);
|
|
99
|
-
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9hY3Rpb25zL2RlcGVuZGVuY3ktc3luYy5hY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0YWJsZSB9IGZyb20gXCJAZGVjb2hlcmUvY3J1Y2libGUvZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHR5cGUgeyBQYWNrYWdlSnNvbiwgUHJvamVjdCB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuLy8gYmlvbWUtaWdub3JlIGxpbnQvc3R5bGUvdXNlSW1wb3J0VHlwZTogPERJPlxuaW1wb3J0IHsgV29ya3NwYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5pbXBvcnQgdHlwZSB7IEFjdGlvbiB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBBY3Rpb25SZXNwb25zZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2xpXCI7XG5pbXBvcnQgeyBzY3JpYmUgfSBmcm9tIFwiQGRlY29oZXJlL3NjcmliZVwiO1xuaW1wb3J0IHsgZm9ybWF0VW5rbm93bkVycm9yIH0gZnJvbSBcIi4uL2Vycm9ycy5qc1wiO1xuLy8gYmlvbWUtaWdub3JlIGxpbnQvc3R5bGUvdXNlSW1wb3J0VHlwZTogPERJPlxuaW1wb3J0IHsgRGVwZW5kZW5jeVJlc29sdmVyIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2RlcGVuZGVuY3ktcmVzb2x2ZXIuc2VydmljZS5qc1wiO1xuaW1wb3J0IHR5cGUgeyBQYWNrYWdlLCBTeW5jcHJvamVjdFJlc3VsdCB9IGZyb20gXCIuLi90eXBlcy9kZXBlbmRlbmN5LnR5cGVzLmpzXCI7XG5cbmV4cG9ydCB0eXBlIERlcGVuZGVuY2llc09wdGlvbnMgPSB7XG5cdGNvbmZpZ3VyYXRpb246IHN0cmluZztcblx0bG9nRGlmZj86IGJvb2xlYW47XG59O1xuXG50eXBlIFN5bmNDb21wdXRlZCA9XG5cdHwgeyBzdWNjZWVkZWQ6IGZhbHNlOyBzeW5jUmVzdWx0OiBTeW5jcHJvamVjdFJlc3VsdCB9XG5cdHwge1xuXHRcdFx0c3VjY2VlZGVkOiB0cnVlO1xuXHRcdFx0c3luY1Jlc3VsdDogU3luY3Byb2plY3RSZXN1bHQ7XG5cdFx0XHRwcm9qZWN0OiBQcm9qZWN0O1xuXHRcdFx0b3JpZ2luYWxQYWNrYWdlOiBQYWNrYWdlSnNvbjtcblx0XHRcdHVwZGF0ZWRQYWNrYWdlOiBQYWNrYWdlSnNvbjtcblx0ICB9O1xuXG5AaW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU3luY0RlcGVuZGVuY2llcyBpbXBsZW1lbnRzIEFjdGlvbjxEZXBlbmRlbmNpZXNPcHRpb25zPiB7XG5cdCNsb2dnZXIgPSBzY3JpYmUubG9nZ2VyKFN5bmNEZXBlbmRlbmNpZXMubmFtZSk7XG5cblx0cHVibGljIGNvbnN0cnVjdG9yKFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgd29ya3NwYWNlOiBXb3Jrc3BhY2UsXG5cdFx0cHJpdmF0ZSByZWFkb25seSByZXNvbHZlcjogRGVwZW5kZW5jeVJlc29sdmVyLFxuXHQpIHt9XG5cblx0cHVibGljIGFzeW5jIHJ1bihvcHRpb25zOiBEZXBlbmRlbmNpZXNPcHRpb25zKTogUHJvbWlzZTxBY3Rpb25SZXNwb25zZTxTeW5jcHJvamVjdFJlc3VsdD4+IHtcblx0XHRjb25zdCB7IGNvbmZpZ3VyYXRpb24sIGxvZ0RpZmYgfSA9IG9wdGlvbnM7XG5cblx0XHRjb25zdCBwcm9qZWN0cyA9IHRoaXMud29ya3NwYWNlLmdldFByb2plY3RzKGNvbmZpZ3VyYXRpb24pO1xuXHRcdGNvbnN0IHdvcmtzcGFjZVBhY2thZ2VzID0gYXdhaXQgdGhpcy5yZXNvbHZlci5nZXRXb3Jrc3BhY2VQYWNrYWdlcyhcblx0XHRcdHRoaXMud29ya3NwYWNlLFxuXHRcdFx0cHJvamVjdHMsXG5cdFx0KTtcblxuXHRcdGNvbnN0IGNvbXB1dGVkID0gYXdhaXQgUHJvbWlzZS5hbGwoXG5cdFx0XHRwcm9qZWN0cy5tYXAoKHByb2plY3QpID0+IHRoaXMuY29tcHV0ZURlcGVuZGVuY2llc0Zvcihwcm9qZWN0LCB3b3Jrc3BhY2VQYWNrYWdlcykpLFxuXHRcdCk7XG5cblx0XHRjb25zdCByZXN1bHRzID0gY29tcHV0ZWQubWFwKChjKSA9PiBjLnN5bmNSZXN1bHQpO1xuXHRcdGlmIChyZXN1bHRzLnNvbWUoKHIpID0+ICFyLnN1Y2NlZWRlZCkpIHtcblx0XHRcdHJldHVybiBBY3Rpb25SZXNwb25zZS5FcnJvcihTeW5jRGVwZW5kZW5jaWVzLm5hbWUsIHJlc3VsdHMpO1xuXHRcdH1cblxuXHRcdGNvbnN0IHN1Y2NlZWRlZCA9IGNvbXB1dGVkLmZpbHRlcihcblx0XHRcdChjKTogYyBpcyBTeW5jQ29tcHV0ZWQgJiB7IHN1Y2NlZWRlZDogdHJ1ZSB9ID0+IGMuc3VjY2VlZGVkLFxuXHRcdCk7XG5cblx0XHRhd2FpdCBQcm9taXNlLmFsbChzdWNjZWVkZWQubWFwKChjKSA9PiBjLnByb2plY3QucGVyc2lzdFBhY2thZ2VKc29uKGMudXBkYXRlZFBhY2thZ2UpKSk7XG5cblx0XHRjb25zdCBzeW5jUmVzdWx0cyA9IHN1Y2NlZWRlZC5tYXAoKGMpID0+IHtcblx0XHRcdGNvbnN0IGRyaWZ0ID0gdGhpcy5yZXNvbHZlci5jb21wdXRlRHJpZnQoYy5vcmlnaW5hbFBhY2thZ2UsIGMudXBkYXRlZFBhY2thZ2UpO1xuXHRcdFx0aWYgKGRyaWZ0ICYmIGxvZ0RpZmYpIHtcblx0XHRcdFx0dGhpcy4jbG9nZ2VyLndhcm4oYERlcGVuZGVuY3kgZHJpZnQgc3luY2VkIGluICcke2Muc3luY1Jlc3VsdC5wcm9qZWN0TmFtZX0nYCwgZHJpZnQpO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIHsgLi4uYy5zeW5jUmVzdWx0LCBkcmlmdCB9O1xuXHRcdH0pO1xuXG5cdFx0Y29uc3QgZmFpbGVkUmVzdWx0cyA9IHJlc3VsdHMuZmlsdGVyKChyKSA9PiAhci5zdWNjZWVkZWQpO1xuXG5cdFx0cmV0dXJuIEFjdGlvblJlc3BvbnNlLlN1Y2Nlc3MoU3luY0RlcGVuZGVuY2llcy5uYW1lLCBbLi4uc3luY1Jlc3VsdHMsIC4uLmZhaWxlZFJlc3VsdHNdKTtcblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgY29tcHV0ZURlcGVuZGVuY2llc0Zvcihcblx0XHRwcm9qZWN0OiBQcm9qZWN0LFxuXHRcdHdvcmtzcGFjZVBhY2thZ2VzOiBNYXA8c3RyaW5nLCBQYWNrYWdlPixcblx0KTogUHJvbWlzZTxTeW5jQ29tcHV0ZWQ+IHtcblx0XHR0cnkge1xuXHRcdFx0Y29uc3Qgb3JpZ2luYWxQYWNrYWdlID0gYXdhaXQgcHJvamVjdC5nZXRQYWNrYWdlSnNvbigpO1xuXHRcdFx0Y29uc3QgeyB1cGRhdGVkUGFja2FnZSwgd2FybmluZ3MgfSA9IGF3YWl0IHRoaXMucmVzb2x2ZXIuY29tcHV0ZVByb2plY3REZXBlbmRlbmNpZXMoXG5cdFx0XHRcdHByb2plY3QsXG5cdFx0XHRcdHdvcmtzcGFjZVBhY2thZ2VzLFxuXHRcdFx0KTtcblx0XHRcdGZvciAoY29uc3Qgd2FybmluZyBvZiB3YXJuaW5ncykge1xuXHRcdFx0XHR0aGlzLiNsb2dnZXIud2FybihgJHt3YXJuaW5nLmZpbGV9OiR7d2FybmluZy5saW5lfTogJHt3YXJuaW5nLm1lc3NhZ2V9YCk7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRzdWNjZWVkZWQ6IHRydWUsXG5cdFx0XHRcdHN5bmNSZXN1bHQ6IHsgcHJvamVjdE5hbWU6IHByb2plY3QubmFtZSwgc3VjY2VlZGVkOiB0cnVlIH0sXG5cdFx0XHRcdHByb2plY3QsXG5cdFx0XHRcdG9yaWdpbmFsUGFja2FnZSxcblx0XHRcdFx0dXBkYXRlZFBhY2thZ2UsXG5cdFx0XHR9O1xuXHRcdH0gY2F0Y2ggKGVycm9yKSB7XG5cdFx0XHRjb25zdCBtZXNzYWdlID0gZm9ybWF0VW5rbm93bkVycm9yKGVycm9yKTtcblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdHN1Y2NlZWRlZDogZmFsc2UsXG5cdFx0XHRcdHN5bmNSZXN1bHQ6IHtcblx0XHRcdFx0XHRwcm9qZWN0TmFtZTogcHJvamVjdC5uYW1lLFxuXHRcdFx0XHRcdGVycm9yOiBgJHtwcm9qZWN0Lm5hbWV9OiAke21lc3NhZ2V9YCxcblx0XHRcdFx0XHRzdWNjZWVkZWQ6IGZhbHNlLFxuXHRcdFx0XHR9LFxuXHRcdFx0fTtcblx0XHR9XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJTeW5jRGVwZW5kZW5jaWVzIiwic2NyaWJlIiwibG9nZ2VyIiwibmFtZSIsIndvcmtzcGFjZSIsInJlc29sdmVyIiwicnVuIiwib3B0aW9ucyIsImNvbmZpZ3VyYXRpb24iLCJsb2dEaWZmIiwicHJvamVjdHMiLCJnZXRQcm9qZWN0cyIsIndvcmtzcGFjZVBhY2thZ2VzIiwiZ2V0V29ya3NwYWNlUGFja2FnZXMiLCJjb21wdXRlZCIsIlByb21pc2UiLCJhbGwiLCJtYXAiLCJwcm9qZWN0IiwiY29tcHV0ZURlcGVuZGVuY2llc0ZvciIsInJlc3VsdHMiLCJjIiwic3luY1Jlc3VsdCIsInNvbWUiLCJyIiwic3VjY2VlZGVkIiwiQWN0aW9uUmVzcG9uc2UiLCJFcnJvciIsImZpbHRlciIsInBlcnNpc3RQYWNrYWdlSnNvbiIsInVwZGF0ZWRQYWNrYWdlIiwic3luY1Jlc3VsdHMiLCJkcmlmdCIsImNvbXB1dGVEcmlmdCIsIm9yaWdpbmFsUGFja2FnZSIsIndhcm4iLCJwcm9qZWN0TmFtZSIsImZhaWxlZFJlc3VsdHMiLCJTdWNjZXNzIiwiZ2V0UGFja2FnZUpzb24iLCJ3YXJuaW5ncyIsImNvbXB1dGVQcm9qZWN0RGVwZW5kZW5jaWVzIiwid2FybmluZyIsImZpbGUiLCJsaW5lIiwibWVzc2FnZSIsImVycm9yIiwiZm9ybWF0VW5rbm93bkVycm9yIl0sIm1hcHBpbmdzIjoiOzs7OytCQTRCYUE7OztlQUFBQTs7OzRCQTVCYztzQkFHRDtxQkFFSzt3QkFDUjt3QkFDWTsyQ0FFQTs7Ozs7Ozs7OztBQW1CNUIsTUFBTUE7OztJQUNaLENBQUEsTUFBTyxHQUFHQyxjQUFNLENBQUNDLE1BQU0sQ0FBQ0YsaUJBQWlCRyxJQUFJLEVBQUU7SUFFL0Ms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
|