@aurtic/cli 1.0.4 → 2.0.5
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 +1 -1
- package/README.md +14 -23
- package/dist/app.controller.d.ts +6 -0
- package/dist/app.controller.js +35 -0
- package/dist/app.controller.js.map +1 -0
- package/dist/app.module.d.ts +2 -0
- package/dist/app.module.js +39 -0
- package/dist/app.module.js.map +1 -0
- package/dist/app.service.d.ts +3 -0
- package/dist/app.service.js +20 -0
- package/dist/app.service.js.map +1 -0
- package/dist/authentication/authentication.command.d.ts +9 -0
- package/dist/authentication/authentication.command.js +61 -0
- package/dist/authentication/authentication.command.js.map +1 -0
- package/dist/authentication/authentication.github.command.d.ts +11 -0
- package/dist/authentication/authentication.github.command.js +46 -0
- package/dist/authentication/authentication.github.command.js.map +1 -0
- package/dist/authentication/authentication.module.d.ts +2 -0
- package/dist/authentication/authentication.module.js +28 -0
- package/dist/authentication/authentication.module.js.map +1 -0
- package/dist/authentication/authentication.service.d.ts +11 -0
- package/dist/authentication/authentication.service.js +91 -0
- package/dist/authentication/authentication.service.js.map +1 -0
- package/dist/builds/builds.command.d.ts +12 -0
- package/dist/builds/builds.command.js +116 -0
- package/dist/builds/builds.command.js.map +1 -0
- package/dist/builds/builds.module.d.ts +2 -0
- package/dist/builds/builds.module.js +25 -0
- package/dist/builds/builds.module.js.map +1 -0
- package/dist/builds/builds.service.d.ts +17 -0
- package/dist/builds/builds.service.js +156 -0
- package/dist/builds/builds.service.js.map +1 -0
- package/dist/builds/builds.zip.service.d.ts +3 -0
- package/dist/builds/builds.zip.service.js +73 -0
- package/dist/builds/builds.zip.service.js.map +1 -0
- package/dist/github/github.module.d.ts +2 -0
- package/dist/github/github.module.js +21 -0
- package/dist/github/github.module.js.map +1 -0
- package/dist/github/github.service.d.ts +3 -0
- package/dist/github/github.service.js +30 -0
- package/dist/github/github.service.js.map +1 -0
- package/dist/main.js +10 -0
- package/dist/main.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/package.json +78 -24
- package/dist/api.d.ts +0 -14
- package/dist/api.js +0 -148
- package/dist/cli.js +0 -281
- package/dist/entities/Project.d.ts +0 -39
- package/dist/entities/Project.js +0 -124
- package/dist/entities/ProjectContainer.d.ts +0 -227
- package/dist/entities/ProjectContainer.js +0 -465
- package/dist/entities/Server.d.ts +0 -45
- package/dist/entities/Server.js +0 -114
- package/dist/entities/Team.d.ts +0 -49
- package/dist/entities/Team.js +0 -149
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/tsconfig.json +0 -24
- /package/dist/{cli.d.ts → main.d.ts} +0 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { OnApplicationBootstrap } from '@nestjs/common';
|
|
2
|
+
import { ConfigService } from '@nestjs/config';
|
|
3
|
+
import { BuildsZipService } from './builds.zip.service';
|
|
4
|
+
import { AuthenticationService } from '../authentication/authentication.service';
|
|
5
|
+
export declare class BuildsService implements OnApplicationBootstrap {
|
|
6
|
+
private readonly configService;
|
|
7
|
+
private readonly buildsZipService;
|
|
8
|
+
private readonly authenticationService;
|
|
9
|
+
onApplicationBootstrap(): Promise<void>;
|
|
10
|
+
constructor(configService: ConfigService, buildsZipService: BuildsZipService, authenticationService: AuthenticationService);
|
|
11
|
+
followBuild(serviceId: string, buildId: string): Promise<void>;
|
|
12
|
+
buildStreaming(serviceId: string, opts: {
|
|
13
|
+
dockerfile?: string;
|
|
14
|
+
path?: string;
|
|
15
|
+
name?: string;
|
|
16
|
+
}): Promise<any>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.BuildsService = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const config_1 = require("@nestjs/config");
|
|
18
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
19
|
+
const builds_zip_service_1 = require("./builds.zip.service");
|
|
20
|
+
const ora_1 = __importDefault(require("ora"));
|
|
21
|
+
const authentication_service_1 = require("../authentication/authentication.service");
|
|
22
|
+
let BuildsService = class BuildsService {
|
|
23
|
+
configService;
|
|
24
|
+
buildsZipService;
|
|
25
|
+
authenticationService;
|
|
26
|
+
async onApplicationBootstrap() {
|
|
27
|
+
await config_1.ConfigModule.envVariablesLoaded;
|
|
28
|
+
}
|
|
29
|
+
constructor(configService, buildsZipService, authenticationService) {
|
|
30
|
+
this.configService = configService;
|
|
31
|
+
this.buildsZipService = buildsZipService;
|
|
32
|
+
this.authenticationService = authenticationService;
|
|
33
|
+
}
|
|
34
|
+
async followBuild(serviceId, buildId) {
|
|
35
|
+
const spinner = (0, ora_1.default)('Building...');
|
|
36
|
+
spinner.start();
|
|
37
|
+
const getBuild = async (i = 0) => {
|
|
38
|
+
const uri = this.configService.getOrThrow('API_URI');
|
|
39
|
+
let request;
|
|
40
|
+
try {
|
|
41
|
+
request = await fetch(`${uri}/v1/services/${serviceId}/builds/${buildId}`, {
|
|
42
|
+
method: 'GET',
|
|
43
|
+
headers: {
|
|
44
|
+
'authorization': `Bearer ${await this.authenticationService.getAccessToken()}`,
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
catch (e) {
|
|
49
|
+
if (i > 10) {
|
|
50
|
+
throw e;
|
|
51
|
+
}
|
|
52
|
+
await new Promise(resolve => setTimeout(resolve, 3000));
|
|
53
|
+
spinner.text = `Retrying... to connect (${i + 1}/10)`;
|
|
54
|
+
return getBuild(i + 1);
|
|
55
|
+
}
|
|
56
|
+
const respose = await request.json();
|
|
57
|
+
if (!request.ok) {
|
|
58
|
+
throw new Error(respose.message);
|
|
59
|
+
}
|
|
60
|
+
return respose;
|
|
61
|
+
};
|
|
62
|
+
const recursion = async () => {
|
|
63
|
+
let build;
|
|
64
|
+
try {
|
|
65
|
+
build = await getBuild();
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
spinner.text = 'Error while retrieving build status...';
|
|
69
|
+
spinner.fail();
|
|
70
|
+
throw error;
|
|
71
|
+
}
|
|
72
|
+
if (build.succeeded) {
|
|
73
|
+
spinner.text = 'Build completed successfully.';
|
|
74
|
+
spinner.succeed();
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
if (build.processed) {
|
|
78
|
+
spinner.text = 'Build failed.';
|
|
79
|
+
spinner.fail();
|
|
80
|
+
throw new Error('Build failed...');
|
|
81
|
+
}
|
|
82
|
+
if (!build.processing) {
|
|
83
|
+
spinner.text = 'Awaiting for building to start...';
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
if (build.result) {
|
|
87
|
+
spinner.text = 'Building...\n\n' + build.result
|
|
88
|
+
.slice(-10)
|
|
89
|
+
.join("\n");
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
spinner.text = 'Building...';
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
96
|
+
return recursion();
|
|
97
|
+
};
|
|
98
|
+
await recursion();
|
|
99
|
+
}
|
|
100
|
+
async buildStreaming(serviceId, opts) {
|
|
101
|
+
const spinner = (0, ora_1.default)('Building...');
|
|
102
|
+
spinner.start();
|
|
103
|
+
const fullPath = node_path_1.default.resolve(node_path_1.default.join(process.cwd(), opts.path ?? './'));
|
|
104
|
+
spinner.text = 'Building zip...';
|
|
105
|
+
let zip;
|
|
106
|
+
try {
|
|
107
|
+
zip = await this.buildsZipService.buildZip(fullPath, opts.dockerfile);
|
|
108
|
+
}
|
|
109
|
+
catch (error) {
|
|
110
|
+
spinner.text = 'Failed to build zip...';
|
|
111
|
+
spinner.fail();
|
|
112
|
+
throw error;
|
|
113
|
+
}
|
|
114
|
+
spinner.text = 'Uploading files to server...';
|
|
115
|
+
const uri = this.configService.getOrThrow('API_URI');
|
|
116
|
+
const multiPartFormData = new FormData();
|
|
117
|
+
multiPartFormData.append('file', new Blob([Buffer.from(zip)]));
|
|
118
|
+
const params = new URLSearchParams({
|
|
119
|
+
provider: 'docker',
|
|
120
|
+
});
|
|
121
|
+
if (opts.name) {
|
|
122
|
+
params.set('name', opts.name);
|
|
123
|
+
}
|
|
124
|
+
try {
|
|
125
|
+
const request = await fetch(`${uri}/v1/services/${serviceId}/builds/streaming?${params.toString()}`, {
|
|
126
|
+
method: 'POST',
|
|
127
|
+
body: multiPartFormData,
|
|
128
|
+
headers: {
|
|
129
|
+
'authorization': `Bearer ${await this.authenticationService.getAccessToken()}`,
|
|
130
|
+
},
|
|
131
|
+
});
|
|
132
|
+
const result = await request.json();
|
|
133
|
+
if (!request.ok) {
|
|
134
|
+
spinner.text = 'Upload failed...';
|
|
135
|
+
spinner.fail();
|
|
136
|
+
throw new Error(result.message);
|
|
137
|
+
}
|
|
138
|
+
spinner.text = 'Upload completed...';
|
|
139
|
+
spinner.succeed();
|
|
140
|
+
return result;
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
spinner.text = 'Upload failed...';
|
|
144
|
+
spinner.fail();
|
|
145
|
+
throw error;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
exports.BuildsService = BuildsService;
|
|
150
|
+
exports.BuildsService = BuildsService = __decorate([
|
|
151
|
+
(0, common_1.Injectable)(),
|
|
152
|
+
__metadata("design:paramtypes", [config_1.ConfigService,
|
|
153
|
+
builds_zip_service_1.BuildsZipService,
|
|
154
|
+
authentication_service_1.AuthenticationService])
|
|
155
|
+
], BuildsService);
|
|
156
|
+
//# sourceMappingURL=builds.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builds.service.js","sourceRoot":"","sources":["../../src/builds/builds.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.BuildsZipService = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const ignore_1 = __importDefault(require("ignore"));
|
|
15
|
+
const jszip_1 = __importDefault(require("jszip"));
|
|
16
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
17
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
18
|
+
const dockerIgnorePath = `.dockerignore`;
|
|
19
|
+
const gitIgnorePath = `.gitignore`;
|
|
20
|
+
let BuildsZipService = class BuildsZipService {
|
|
21
|
+
async buildZip(fullPath, dockerfile) {
|
|
22
|
+
const zip = new jszip_1.default();
|
|
23
|
+
const ig = (0, ignore_1.default)();
|
|
24
|
+
try {
|
|
25
|
+
if (node_fs_1.default.existsSync(fullPath + '/' + dockerIgnorePath)) {
|
|
26
|
+
const content = node_fs_1.default.readFileSync(fullPath + '/' + dockerIgnorePath, 'utf8');
|
|
27
|
+
ig.add(content);
|
|
28
|
+
}
|
|
29
|
+
else if (node_fs_1.default.existsSync(fullPath + '/' + gitIgnorePath)) {
|
|
30
|
+
const content = node_fs_1.default.readFileSync(fullPath + '/' + gitIgnorePath, 'utf8');
|
|
31
|
+
ig.add(content);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
catch (err) {
|
|
35
|
+
console.warn("Failed to read ignore files", err);
|
|
36
|
+
}
|
|
37
|
+
ig.add(".git");
|
|
38
|
+
ig.add("node_modules");
|
|
39
|
+
let fileCount = 0;
|
|
40
|
+
const addDirectoryToZip = async (directory, zipPath = "") => {
|
|
41
|
+
const files = await node_fs_1.default.promises.readdir(directory);
|
|
42
|
+
for (let i = 0; i < files.length; i++) {
|
|
43
|
+
const file = files[i];
|
|
44
|
+
const fullFilePath = node_path_1.default.join(directory, file);
|
|
45
|
+
const stat = await node_fs_1.default.promises.stat(fullFilePath);
|
|
46
|
+
const fullPathInZip = `${zipPath}/${file}`.replace(/^\//g, '');
|
|
47
|
+
if (ig.ignores(fullPathInZip)) {
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
if (stat.isDirectory()) {
|
|
51
|
+
await addDirectoryToZip(fullFilePath, fullPathInZip);
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
zip.file(fullPathInZip, await node_fs_1.default.promises.readFile(fullFilePath));
|
|
55
|
+
fileCount++;
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
await addDirectoryToZip(fullPath);
|
|
59
|
+
if (dockerfile) {
|
|
60
|
+
zip.file('Dockerfile', node_fs_1.default.readFileSync(node_path_1.default.join(fullPath, dockerfile), 'utf8'));
|
|
61
|
+
zip.remove(dockerfile);
|
|
62
|
+
}
|
|
63
|
+
if (fileCount === 0) {
|
|
64
|
+
throw new Error("No files to upload (check your ignore rules)");
|
|
65
|
+
}
|
|
66
|
+
return await zip.generateAsync({ type: 'nodebuffer' });
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
exports.BuildsZipService = BuildsZipService;
|
|
70
|
+
exports.BuildsZipService = BuildsZipService = __decorate([
|
|
71
|
+
(0, common_1.Injectable)()
|
|
72
|
+
], BuildsZipService);
|
|
73
|
+
//# sourceMappingURL=builds.zip.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builds.zip.service.js","sourceRoot":"","sources":["../../src/builds/builds.zip.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.GithubModule = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
const github_service_1 = require("./github.service");
|
|
12
|
+
let GithubModule = class GithubModule {
|
|
13
|
+
};
|
|
14
|
+
exports.GithubModule = GithubModule;
|
|
15
|
+
exports.GithubModule = GithubModule = __decorate([
|
|
16
|
+
(0, common_1.Module)({
|
|
17
|
+
providers: [github_service_1.GithubService],
|
|
18
|
+
exports: [github_service_1.GithubService]
|
|
19
|
+
})
|
|
20
|
+
], GithubModule);
|
|
21
|
+
//# sourceMappingURL=github.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github.module.js","sourceRoot":"","sources":["../../src/github/github.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,qDAAiD;AAM1C,IAAM,YAAY,GAAlB,MAAM,YAAY;CAAG,CAAA;AAAf,oCAAY;uBAAZ,YAAY;IAJxB,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,8BAAa,CAAC;QAC1B,OAAO,EAAE,CAAC,8BAAa,CAAC;KACzB,CAAC;GACW,YAAY,CAAG"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.GithubService = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const core_1 = __importDefault(require("@actions/core"));
|
|
15
|
+
let GithubService = class GithubService {
|
|
16
|
+
async retrieveGithubIDToken() {
|
|
17
|
+
try {
|
|
18
|
+
let idToken = await core_1.default.getIDToken();
|
|
19
|
+
return idToken;
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
exports.GithubService = GithubService;
|
|
27
|
+
exports.GithubService = GithubService = __decorate([
|
|
28
|
+
(0, common_1.Injectable)()
|
|
29
|
+
], GithubService);
|
|
30
|
+
//# sourceMappingURL=github.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github.service.js","sourceRoot":"","sources":["../../src/github/github.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,yDAAiC;AAG1B,IAAM,aAAa,GAAnB,MAAM,aAAa;IAEtB,KAAK,CAAC,qBAAqB;QACvB,IAAI,CAAC;YACD,IAAI,OAAO,GAAG,MAAM,cAAI,CAAC,UAAU,EAAE,CAAA;YACrC,OAAO,OAAO,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;CAEJ,CAAA;AAXY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;GACA,aAAa,CAWzB"}
|
package/dist/main.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
const nest_commander_1 = require("nest-commander");
|
|
5
|
+
const app_module_1 = require("./app.module");
|
|
6
|
+
async function bootstrap() {
|
|
7
|
+
await nest_commander_1.CommandFactory.run(app_module_1.AppModule);
|
|
8
|
+
}
|
|
9
|
+
bootstrap();
|
|
10
|
+
//# sourceMappingURL=main.js.map
|
package/dist/main.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;;AAEA,mDAAgD;AAChD,6CAAyC;AAEzC,KAAK,UAAU,SAAS;IACtB,MAAM,+BAAc,CAAC,GAAG,CAAC,sBAAS,CAAC,CAAC;AACtC,CAAC;AACD,SAAS,EAAE,CAAC"}
|