@depup/angular-devkit__core 21.2.2-depup.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +25 -0
- package/changes.json +5 -0
- package/index.d.ts +8 -0
- package/index.js +25 -0
- package/index.js.map +1 -0
- package/node/cli-logger.d.ts +15 -0
- package/node/cli-logger.js +58 -0
- package/node/cli-logger.js.map +1 -0
- package/node/host.d.ts +43 -0
- package/node/host.js +211 -0
- package/node/host.js.map +1 -0
- package/node/index.d.ts +9 -0
- package/node/index.js +26 -0
- package/node/index.js.map +1 -0
- package/node/testing/index.d.ts +20 -0
- package/node/testing/index.js +90 -0
- package/node/testing/index.js.map +1 -0
- package/package.json +76 -0
- package/src/exception.d.ts +25 -0
- package/src/exception.js +48 -0
- package/src/exception.js.map +1 -0
- package/src/index.d.ts +15 -0
- package/src/index.js +57 -0
- package/src/index.js.map +1 -0
- package/src/json/index.d.ts +10 -0
- package/src/json/index.js +50 -0
- package/src/json/index.js.map +1 -0
- package/src/json/schema/index.d.ts +15 -0
- package/src/json/schema/index.js +55 -0
- package/src/json/schema/index.js.map +1 -0
- package/src/json/schema/interface.d.ts +84 -0
- package/src/json/schema/interface.js +10 -0
- package/src/json/schema/interface.js.map +1 -0
- package/src/json/schema/pointer.d.ts +11 -0
- package/src/json/schema/pointer.js +39 -0
- package/src/json/schema/pointer.js.map +1 -0
- package/src/json/schema/registry.d.ts +79 -0
- package/src/json/schema/registry.js +565 -0
- package/src/json/schema/registry.js.map +1 -0
- package/src/json/schema/schema.d.ts +22 -0
- package/src/json/schema/schema.js +52 -0
- package/src/json/schema/schema.js.map +1 -0
- package/src/json/schema/transforms.d.ts +12 -0
- package/src/json/schema/transforms.js +101 -0
- package/src/json/schema/transforms.js.map +1 -0
- package/src/json/schema/utility.d.ts +9 -0
- package/src/json/schema/utility.js +88 -0
- package/src/json/schema/utility.js.map +1 -0
- package/src/json/schema/visitor.d.ts +34 -0
- package/src/json/schema/visitor.js +147 -0
- package/src/json/schema/visitor.js.map +1 -0
- package/src/json/utils.d.ts +15 -0
- package/src/json/utils.js +18 -0
- package/src/json/utils.js.map +1 -0
- package/src/logger/indent.d.ts +11 -0
- package/src/logger/indent.js +41 -0
- package/src/logger/indent.js.map +1 -0
- package/src/logger/index.d.ts +12 -0
- package/src/logger/index.js +29 -0
- package/src/logger/index.js.map +1 -0
- package/src/logger/level.d.ts +28 -0
- package/src/logger/level.js +51 -0
- package/src/logger/level.js.map +1 -0
- package/src/logger/logger.d.ts +55 -0
- package/src/logger/logger.js +123 -0
- package/src/logger/logger.js.map +1 -0
- package/src/logger/null-logger.d.ts +12 -0
- package/src/logger/null-logger.js +31 -0
- package/src/logger/null-logger.js.map +1 -0
- package/src/logger/transform-logger.d.ts +12 -0
- package/src/logger/transform-logger.js +19 -0
- package/src/logger/transform-logger.js.map +1 -0
- package/src/utils/index.d.ts +15 -0
- package/src/utils/index.js +56 -0
- package/src/utils/index.js.map +1 -0
- package/src/utils/lang.d.ts +11 -0
- package/src/utils/lang.js +21 -0
- package/src/utils/lang.js.map +1 -0
- package/src/utils/literals.d.ts +15 -0
- package/src/utils/literals.js +59 -0
- package/src/utils/literals.js.map +1 -0
- package/src/utils/object.d.ts +8 -0
- package/src/utils/object.js +37 -0
- package/src/utils/object.js.map +1 -0
- package/src/utils/partially-ordered-set.d.ts +38 -0
- package/src/utils/partially-ordered-set.js +145 -0
- package/src/utils/partially-ordered-set.js.map +1 -0
- package/src/utils/priority-queue.d.ts +19 -0
- package/src/utils/priority-queue.js +50 -0
- package/src/utils/priority-queue.js.map +1 -0
- package/src/utils/strings.d.ts +112 -0
- package/src/utils/strings.js +179 -0
- package/src/utils/strings.js.map +1 -0
- package/src/utils/template.d.ts +89 -0
- package/src/utils/template.js +260 -0
- package/src/utils/template.js.map +1 -0
- package/src/virtual-fs/host/alias.d.ts +60 -0
- package/src/virtual-fs/host/alias.js +84 -0
- package/src/virtual-fs/host/alias.js.map +1 -0
- package/src/virtual-fs/host/buffer.d.ts +10 -0
- package/src/virtual-fs/host/buffer.js +22 -0
- package/src/virtual-fs/host/buffer.js.map +1 -0
- package/src/virtual-fs/host/create.d.ts +21 -0
- package/src/virtual-fs/host/create.js +55 -0
- package/src/virtual-fs/host/create.js.map +1 -0
- package/src/virtual-fs/host/empty.d.ts +19 -0
- package/src/virtual-fs/host/empty.js +38 -0
- package/src/virtual-fs/host/empty.js.map +1 -0
- package/src/virtual-fs/host/index.d.ts +21 -0
- package/src/virtual-fs/host/index.js +61 -0
- package/src/virtual-fs/host/index.js.map +1 -0
- package/src/virtual-fs/host/interface.d.ts +53 -0
- package/src/virtual-fs/host/interface.js +18 -0
- package/src/virtual-fs/host/interface.js.map +1 -0
- package/src/virtual-fs/host/memory.d.ts +49 -0
- package/src/virtual-fs/host/memory.js +332 -0
- package/src/virtual-fs/host/memory.js.map +1 -0
- package/src/virtual-fs/host/pattern.d.ts +17 -0
- package/src/virtual-fs/host/pattern.js +35 -0
- package/src/virtual-fs/host/pattern.js.map +1 -0
- package/src/virtual-fs/host/record.d.ts +92 -0
- package/src/virtual-fs/host/record.js +315 -0
- package/src/virtual-fs/host/record.js.map +1 -0
- package/src/virtual-fs/host/resolver.d.ts +30 -0
- package/src/virtual-fs/host/resolver.js +57 -0
- package/src/virtual-fs/host/resolver.js.map +1 -0
- package/src/virtual-fs/host/safe.d.ts +25 -0
- package/src/virtual-fs/host/safe.js +46 -0
- package/src/virtual-fs/host/safe.js.map +1 -0
- package/src/virtual-fs/host/scoped.d.ts +15 -0
- package/src/virtual-fs/host/scoped.js +24 -0
- package/src/virtual-fs/host/scoped.js.map +1 -0
- package/src/virtual-fs/host/sync.d.ts +34 -0
- package/src/virtual-fs/host/sync.js +93 -0
- package/src/virtual-fs/host/sync.js.map +1 -0
- package/src/virtual-fs/host/test.d.ts +48 -0
- package/src/virtual-fs/host/test.js +119 -0
- package/src/virtual-fs/host/test.js.map +1 -0
- package/src/virtual-fs/index.d.ts +10 -0
- package/src/virtual-fs/index.js +50 -0
- package/src/virtual-fs/index.js.map +1 -0
- package/src/virtual-fs/path.d.ts +111 -0
- package/src/virtual-fs/path.js +286 -0
- package/src/virtual-fs/path.js.map +1 -0
- package/src/workspace/core.d.ts +61 -0
- package/src/workspace/core.js +133 -0
- package/src/workspace/core.js.map +1 -0
- package/src/workspace/definitions.d.ts +63 -0
- package/src/workspace/definitions.js +169 -0
- package/src/workspace/definitions.js.map +1 -0
- package/src/workspace/host.d.ts +15 -0
- package/src/workspace/host.js +43 -0
- package/src/workspace/host.js.map +1 -0
- package/src/workspace/index.d.ts +10 -0
- package/src/workspace/index.js +32 -0
- package/src/workspace/index.js.map +1 -0
- package/src/workspace/json/metadata.d.ts +40 -0
- package/src/workspace/json/metadata.js +60 -0
- package/src/workspace/json/metadata.js.map +1 -0
- package/src/workspace/json/reader.d.ts +14 -0
- package/src/workspace/json/reader.js +231 -0
- package/src/workspace/json/reader.js.map +1 -0
- package/src/workspace/json/utilities.d.ts +14 -0
- package/src/workspace/json/utilities.js +113 -0
- package/src/workspace/json/utilities.js.map +1 -0
- package/src/workspace/json/writer.d.ts +12 -0
- package/src/workspace/json/writer.js +145 -0
- package/src/workspace/json/writer.js.map +1 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
|
+
*/
|
|
8
|
+
import { JsonArray, JsonObject, JsonValue } from '../../json';
|
|
9
|
+
export type ChangeListener = (path: string[], newValue: JsonValue | undefined) => void;
|
|
10
|
+
export declare function createVirtualAstObject<T extends object = JsonObject>(root: JsonObject | JsonArray, options?: {
|
|
11
|
+
exclude?: string[];
|
|
12
|
+
include?: string[];
|
|
13
|
+
listener?: ChangeListener;
|
|
14
|
+
}): T;
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.createVirtualAstObject = createVirtualAstObject;
|
|
11
|
+
const json_1 = require("../../json");
|
|
12
|
+
function createVirtualAstObject(root, options = {}) {
|
|
13
|
+
const reporter = (path, target, oldValue, newValue) => {
|
|
14
|
+
if (!options.listener) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
if (oldValue === newValue || JSON.stringify(oldValue) === JSON.stringify(newValue)) {
|
|
18
|
+
// same value
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
if (Array.isArray(target)) {
|
|
22
|
+
// For arrays we remove the index and update the entire value as keeping
|
|
23
|
+
// track of changes by indices can be rather complex.
|
|
24
|
+
options.listener(path.slice(0, -1), target);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
options.listener(path, newValue);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
return create(Array.isArray(root) ? [...root] : { ...root }, [], reporter, new Set(options.exclude), options.include?.length ? new Set(options.include) : undefined);
|
|
31
|
+
}
|
|
32
|
+
function create(obj, path, reporter, excluded = new Set(), included) {
|
|
33
|
+
return new Proxy(obj, {
|
|
34
|
+
getOwnPropertyDescriptor(target, p) {
|
|
35
|
+
if (excluded.has(p) || (included && !included.has(p))) {
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
return Reflect.getOwnPropertyDescriptor(target, p);
|
|
39
|
+
},
|
|
40
|
+
has(target, p) {
|
|
41
|
+
if (typeof p === 'symbol' || excluded.has(p)) {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
return Reflect.has(target, p);
|
|
45
|
+
},
|
|
46
|
+
get(target, p) {
|
|
47
|
+
if (excluded.has(p) || (included && !included.has(p))) {
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
const value = Reflect.get(target, p);
|
|
51
|
+
if (typeof p === 'symbol') {
|
|
52
|
+
return value;
|
|
53
|
+
}
|
|
54
|
+
if (((0, json_1.isJsonObject)(value) && !(value instanceof Map)) || Array.isArray(value)) {
|
|
55
|
+
return create(value, [...path, p], reporter);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
return value;
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
set(target, p, value) {
|
|
62
|
+
if (excluded.has(p) || (included && !included.has(p))) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
if (value === undefined) {
|
|
66
|
+
// setting to undefined is equivalent to a delete.
|
|
67
|
+
return this.deleteProperty?.(target, p) ?? false;
|
|
68
|
+
}
|
|
69
|
+
if (typeof p === 'symbol') {
|
|
70
|
+
return Reflect.set(target, p, value);
|
|
71
|
+
}
|
|
72
|
+
const existingValue = getCurrentValue(target, p);
|
|
73
|
+
if (Reflect.set(target, p, value)) {
|
|
74
|
+
reporter([...path, p], target, existingValue, value);
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
return false;
|
|
78
|
+
},
|
|
79
|
+
deleteProperty(target, p) {
|
|
80
|
+
if (excluded.has(p)) {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
if (typeof p === 'symbol') {
|
|
84
|
+
return Reflect.deleteProperty(target, p);
|
|
85
|
+
}
|
|
86
|
+
const existingValue = getCurrentValue(target, p);
|
|
87
|
+
if (Reflect.deleteProperty(target, p)) {
|
|
88
|
+
reporter([...path, p], target, existingValue, undefined);
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
return true;
|
|
92
|
+
},
|
|
93
|
+
defineProperty(target, p, attributes) {
|
|
94
|
+
if (typeof p === 'symbol') {
|
|
95
|
+
return Reflect.defineProperty(target, p, attributes);
|
|
96
|
+
}
|
|
97
|
+
return false;
|
|
98
|
+
},
|
|
99
|
+
ownKeys(target) {
|
|
100
|
+
return Reflect.ownKeys(target).filter((p) => !excluded.has(p) && (!included || included.has(p)));
|
|
101
|
+
},
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
function getCurrentValue(target, property) {
|
|
105
|
+
if (Array.isArray(target) && isFinite(+property)) {
|
|
106
|
+
return target[+property];
|
|
107
|
+
}
|
|
108
|
+
if (target && property in target) {
|
|
109
|
+
return target[property];
|
|
110
|
+
}
|
|
111
|
+
return undefined;
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=utilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utilities.js","sourceRoot":"","sources":["utilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
|
+
*/
|
|
8
|
+
import { WorkspaceDefinition } from '../definitions';
|
|
9
|
+
import { WorkspaceHost } from '../host';
|
|
10
|
+
export declare function writeJsonWorkspace(workspace: WorkspaceDefinition, host: WorkspaceHost, path?: string, options?: {
|
|
11
|
+
schema?: string;
|
|
12
|
+
}): Promise<void>;
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.writeJsonWorkspace = writeJsonWorkspace;
|
|
11
|
+
const jsonc_parser_1 = require("jsonc-parser");
|
|
12
|
+
const node_os_1 = require("node:os");
|
|
13
|
+
const metadata_1 = require("./metadata");
|
|
14
|
+
async function writeJsonWorkspace(workspace, host, path, options = {}) {
|
|
15
|
+
const metadata = workspace[metadata_1.JsonWorkspaceSymbol];
|
|
16
|
+
if (metadata) {
|
|
17
|
+
if (!metadata.hasChanges) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
// update existing JSON workspace
|
|
21
|
+
const data = updateJsonWorkspace(metadata);
|
|
22
|
+
return host.writeFile(path ?? metadata.filePath, data);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
// serialize directly
|
|
26
|
+
if (!path) {
|
|
27
|
+
throw new Error('path option is required');
|
|
28
|
+
}
|
|
29
|
+
const obj = convertJsonWorkspace(workspace, options.schema);
|
|
30
|
+
const data = JSON.stringify(obj, null, 2);
|
|
31
|
+
return host.writeFile(path, data);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function convertJsonWorkspace(workspace, schema) {
|
|
35
|
+
const obj = {
|
|
36
|
+
$schema: schema || './node_modules/@angular/cli/lib/config/schema.json',
|
|
37
|
+
version: 1,
|
|
38
|
+
...workspace.extensions,
|
|
39
|
+
...(isEmpty(workspace.projects)
|
|
40
|
+
? {}
|
|
41
|
+
: { projects: convertJsonProjectCollection(workspace.projects) }),
|
|
42
|
+
};
|
|
43
|
+
return obj;
|
|
44
|
+
}
|
|
45
|
+
function convertJsonProjectCollection(collection) {
|
|
46
|
+
const projects = Object.create(null);
|
|
47
|
+
for (const [projectName, project] of collection) {
|
|
48
|
+
projects[projectName] = convertJsonProject(project);
|
|
49
|
+
}
|
|
50
|
+
return projects;
|
|
51
|
+
}
|
|
52
|
+
function convertJsonProject(project) {
|
|
53
|
+
let targets;
|
|
54
|
+
if (project.targets.size > 0) {
|
|
55
|
+
targets = Object.create(null);
|
|
56
|
+
for (const [targetName, target] of project.targets) {
|
|
57
|
+
targets[targetName] = convertJsonTarget(target);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
const obj = {
|
|
61
|
+
...project.extensions,
|
|
62
|
+
root: project.root,
|
|
63
|
+
...(project.sourceRoot === undefined ? {} : { sourceRoot: project.sourceRoot }),
|
|
64
|
+
...(project.prefix === undefined ? {} : { prefix: project.prefix }),
|
|
65
|
+
...(targets === undefined ? {} : { architect: targets }),
|
|
66
|
+
};
|
|
67
|
+
return obj;
|
|
68
|
+
}
|
|
69
|
+
function isEmpty(obj) {
|
|
70
|
+
return obj === undefined || Object.keys(obj).length === 0;
|
|
71
|
+
}
|
|
72
|
+
function convertJsonTarget(target) {
|
|
73
|
+
return {
|
|
74
|
+
builder: target.builder,
|
|
75
|
+
...(isEmpty(target.options) ? {} : { options: target.options }),
|
|
76
|
+
...(isEmpty(target.configurations)
|
|
77
|
+
? {}
|
|
78
|
+
: { configurations: target.configurations }),
|
|
79
|
+
...(target.defaultConfiguration === undefined
|
|
80
|
+
? {}
|
|
81
|
+
: { defaultConfiguration: target.defaultConfiguration }),
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
function convertJsonTargetCollection(collection) {
|
|
85
|
+
const targets = Object.create(null);
|
|
86
|
+
for (const [projectName, target] of collection) {
|
|
87
|
+
targets[projectName] = convertJsonTarget(target);
|
|
88
|
+
}
|
|
89
|
+
return targets;
|
|
90
|
+
}
|
|
91
|
+
function normalizeValue(value, type) {
|
|
92
|
+
if (value === undefined) {
|
|
93
|
+
return undefined;
|
|
94
|
+
}
|
|
95
|
+
switch (type) {
|
|
96
|
+
case 'project':
|
|
97
|
+
return convertJsonProject(value);
|
|
98
|
+
case 'projectcollection': {
|
|
99
|
+
const projects = convertJsonProjectCollection(value);
|
|
100
|
+
return isEmpty(projects) ? undefined : projects;
|
|
101
|
+
}
|
|
102
|
+
case 'target':
|
|
103
|
+
return convertJsonTarget(value);
|
|
104
|
+
case 'targetcollection': {
|
|
105
|
+
const targets = convertJsonTargetCollection(value);
|
|
106
|
+
return isEmpty(targets) ? undefined : targets;
|
|
107
|
+
}
|
|
108
|
+
default:
|
|
109
|
+
return value;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
function updateJsonWorkspace(metadata) {
|
|
113
|
+
let { raw: content } = metadata;
|
|
114
|
+
const { changes, hasLegacyTargetsName } = metadata;
|
|
115
|
+
for (const { jsonPath, value, type } of changes.values()) {
|
|
116
|
+
// Determine which key to use if (architect or targets)
|
|
117
|
+
if (hasLegacyTargetsName && jsonPath[2] === 'targets') {
|
|
118
|
+
jsonPath[2] = 'architect';
|
|
119
|
+
}
|
|
120
|
+
// TODO: `modify` re-parses the content every time.
|
|
121
|
+
// See: https://github.com/microsoft/node-jsonc-parser/blob/35d94cd71bd48f9784453b2439262c938e21d49b/src/impl/edit.ts#L18
|
|
122
|
+
// Ideally this should accept a string or an AST to avoid the potentially expensive repeat parsing operation.
|
|
123
|
+
const edits = (0, jsonc_parser_1.modify)(content, jsonPath, normalizeValue(value, type), {
|
|
124
|
+
formattingOptions: {
|
|
125
|
+
insertSpaces: true,
|
|
126
|
+
tabSize: 2,
|
|
127
|
+
eol: getEOL(content),
|
|
128
|
+
},
|
|
129
|
+
});
|
|
130
|
+
content = (0, jsonc_parser_1.applyEdits)(content, edits);
|
|
131
|
+
}
|
|
132
|
+
return content;
|
|
133
|
+
}
|
|
134
|
+
function getEOL(content) {
|
|
135
|
+
const CRLF = '\r\n';
|
|
136
|
+
const LF = '\n';
|
|
137
|
+
const newlines = content.match(/(?:\r?\n)/g);
|
|
138
|
+
if (newlines?.length) {
|
|
139
|
+
const crlf = newlines.filter((l) => l === CRLF).length;
|
|
140
|
+
const lf = newlines.length - crlf;
|
|
141
|
+
return crlf > lf ? CRLF : LF;
|
|
142
|
+
}
|
|
143
|
+
return node_os_1.EOL;
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=writer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writer.js","sourceRoot":"","sources":["writer.ts"],"names":[],"mappings":"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"}
|