1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.ngPackagr = exports.NgPackagr = void 0;
|
4 | const injection_js_1 = require("injection-js");
|
5 | const rxjs_1 = require("rxjs");
|
6 | const build_graph_1 = require("./graph/build-graph");
|
7 | const entry_point_di_1 = require("./ng-package/entry-point/entry-point.di");
|
8 | const init_tsconfig_di_1 = require("./ng-package/entry-point/init-tsconfig.di");
|
9 | const options_di_1 = require("./ng-package/options.di");
|
10 | const package_di_1 = require("./ng-package/package.di");
|
11 | const project_di_1 = require("./project.di");
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 | class NgPackagr {
|
20 | constructor(providers) {
|
21 | this.providers = providers;
|
22 | this.buildTransform = package_di_1.PACKAGE_TRANSFORM.provide;
|
23 | }
|
24 | |
25 |
|
26 |
|
27 |
|
28 |
|
29 |
|
30 |
|
31 | withOptions(options) {
|
32 | this.providers.push((0, options_di_1.provideOptions)(options));
|
33 | return this;
|
34 | }
|
35 | |
36 |
|
37 |
|
38 |
|
39 |
|
40 |
|
41 | forProject(project) {
|
42 | this.providers.push((0, project_di_1.provideProject)(project));
|
43 | return this;
|
44 | }
|
45 | |
46 |
|
47 |
|
48 |
|
49 |
|
50 |
|
51 |
|
52 | withProviders(providers) {
|
53 | this.providers = [...this.providers, ...providers];
|
54 | return this;
|
55 | }
|
56 | |
57 |
|
58 |
|
59 |
|
60 |
|
61 |
|
62 | withTsConfig(defaultValues) {
|
63 | this.providers.push((0, init_tsconfig_di_1.provideTsConfig)(defaultValues));
|
64 | return this;
|
65 | }
|
66 | |
67 |
|
68 |
|
69 |
|
70 |
|
71 |
|
72 | withBuildTransform(transform) {
|
73 | this.buildTransform = transform;
|
74 | return this;
|
75 | }
|
76 | |
77 |
|
78 |
|
79 |
|
80 |
|
81 | build(options = {}) {
|
82 | this.providers.push((0, options_di_1.provideOptions)(options));
|
83 | return this.buildAsObservable().toPromise();
|
84 | }
|
85 | |
86 |
|
87 |
|
88 |
|
89 |
|
90 | watch(options = {}) {
|
91 | this.providers.push((0, options_di_1.provideOptions)({ ...options, watch: true }));
|
92 | return this.buildAsObservable();
|
93 | }
|
94 | |
95 |
|
96 |
|
97 |
|
98 |
|
99 | buildAsObservable() {
|
100 | if (!this.providers.some(p => 'provide' in p && p.provide === init_tsconfig_di_1.DEFAULT_TS_CONFIG_TOKEN)) {
|
101 | this.withTsConfig(undefined);
|
102 | }
|
103 | const injector = injection_js_1.ReflectiveInjector.resolveAndCreate(this.providers);
|
104 | const buildTransformOperator = injector.get(this.buildTransform);
|
105 | return (0, rxjs_1.of)(new build_graph_1.BuildGraph()).pipe(buildTransformOperator, (0, rxjs_1.map)(() => undefined));
|
106 | }
|
107 | }
|
108 | exports.NgPackagr = NgPackagr;
|
109 | const ngPackagr = () => new NgPackagr([
|
110 |
|
111 | ...package_di_1.PACKAGE_PROVIDERS,
|
112 | ...entry_point_di_1.ENTRY_POINT_PROVIDERS,
|
113 | ]);
|
114 | exports.ngPackagr = ngPackagr;
|
115 |
|
\ | No newline at end of file |