@betty-blocks/cli 25.108.0 → 26.0.0-alpha.1
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 +11 -0
- package/assets/app-functions/{templates → js-template}/functions/say-hello/1.0/index.js +2 -2
- package/assets/app-functions/wasm-template/.wasm-functions +0 -0
- package/assets/app-functions/wasm-template/functions/say-hello/1.0/Cargo.lock +449 -0
- package/assets/app-functions/wasm-template/functions/say-hello/1.0/Cargo.toml +10 -0
- package/assets/app-functions/wasm-template/functions/say-hello/1.0/Justfile +6 -0
- package/assets/app-functions/wasm-template/functions/say-hello/1.0/function.json +35 -0
- package/assets/app-functions/wasm-template/functions/say-hello/1.0/src/lib.rs +19 -0
- package/assets/app-functions/wasm-template/functions/say-hello/1.0/wit/world.wit +13 -0
- package/assets/component-set/__package.json +2 -2
- package/assets/component-set/src/components/helloWorld.js +1 -1
- package/assets/component-set/src/prefabs/helloWorld.ts +6 -7
- package/build/src/bb-blocks-new.js +9970 -0
- package/build/src/bb-blocks-publish.js +25832 -0
- package/build/src/bb-blocks-release.js +15548 -0
- package/build/src/bb-blocks.js +2149 -0
- package/build/src/bb-bundle-init.js +6666 -0
- package/build/src/bb-bundle.js +2639 -0
- package/build/src/bb-components-build.js +267853 -0
- package/build/src/bb-components-create.js +6677 -0
- package/build/src/bb-components-generate.js +6805 -0
- package/build/src/bb-components-publish-bundle.js +43978 -0
- package/build/src/bb-components-publish.js +43985 -0
- package/build/src/bb-components-serve.js +15958 -0
- package/build/src/bb-components.js +2157 -0
- package/build/src/bb-functions-bump.js +17897 -0
- package/build/src/bb-functions-init.js +4257 -0
- package/build/src/bb-functions-login.js +15460 -0
- package/build/src/bb-functions-logout.js +15454 -0
- package/build/src/bb-functions-new.js +12414 -0
- package/build/src/bb-functions-publish.js +25806 -0
- package/build/src/bb-functions-validate.js +25473 -0
- package/build/src/bb-functions.js +2157 -0
- package/build/src/bb.js +2743 -0
- package/package.json +59 -85
- package/assets/app-functions/templates/test/helpers.js +0 -3
- package/assets/app-functions/templates/test/say-hello.test.js +0 -4
- package/assets/functions/packer/package.json +0 -9
- package/assets/functions/packer/webpack.config.js +0 -12
- package/assets/functions/templates/functions.json +0 -14
- package/assets/functions/templates/package.json +0 -11
- package/assets/functions/templates/src/all-users.js +0 -14
- package/assets/functions/templates/src/get-json.js +0 -9
- package/assets/functions/templates/src/index.js +0 -5
- package/assets/functions/templates/src/say-hello.js +0 -13
- package/build/bb-blocks-new.js +0 -30
- package/build/bb-blocks-new.js.map +0 -1
- package/build/bb-blocks-publish.js +0 -115
- package/build/bb-blocks-publish.js.map +0 -1
- package/build/bb-blocks-release.js +0 -32
- package/build/bb-blocks-release.js.map +0 -1
- package/build/bb-blocks.js +0 -24
- package/build/bb-blocks.js.map +0 -1
- package/build/bb-bundle-init.js +0 -47
- package/build/bb-bundle-init.js.map +0 -1
- package/build/bb-bundle.js +0 -24
- package/build/bb-bundle.js.map +0 -1
- package/build/bb-components-build.js +0 -439
- package/build/bb-components-build.js.map +0 -1
- package/build/bb-components-create.js +0 -55
- package/build/bb-components-create.js.map +0 -1
- package/build/bb-components-generate.js +0 -180
- package/build/bb-components-generate.js.map +0 -1
- package/build/bb-components-publish-bundle.js +0 -58
- package/build/bb-components-publish-bundle.js.map +0 -1
- package/build/bb-components-publish.js +0 -64
- package/build/bb-components-publish.js.map +0 -1
- package/build/bb-components-serve.js +0 -43
- package/build/bb-components-serve.js.map +0 -1
- package/build/bb-components.js +0 -36
- package/build/bb-components.js.map +0 -1
- package/build/bb-functions-autoversion.js +0 -19
- package/build/bb-functions-autoversion.js.map +0 -1
- package/build/bb-functions-build.js +0 -60
- package/build/bb-functions-build.js.map +0 -1
- package/build/bb-functions-bump.js +0 -78
- package/build/bb-functions-bump.js.map +0 -1
- package/build/bb-functions-convert-icons.js +0 -19
- package/build/bb-functions-convert-icons.js.map +0 -1
- package/build/bb-functions-init.js +0 -62
- package/build/bb-functions-init.js.map +0 -1
- package/build/bb-functions-login.js +0 -32
- package/build/bb-functions-login.js.map +0 -1
- package/build/bb-functions-logout.js +0 -15
- package/build/bb-functions-logout.js.map +0 -1
- package/build/bb-functions-new.js +0 -29
- package/build/bb-functions-new.js.map +0 -1
- package/build/bb-functions-publish.js +0 -66
- package/build/bb-functions-publish.js.map +0 -1
- package/build/bb-functions-test.js +0 -30
- package/build/bb-functions-test.js.map +0 -1
- package/build/bb-functions-validate.js +0 -48
- package/build/bb-functions-validate.js.map +0 -1
- package/build/bb-functions.js +0 -40
- package/build/bb-functions.js.map +0 -1
- package/build/bb-interactions-generate.js +0 -49
- package/build/bb-interactions-generate.js.map +0 -1
- package/build/bb-interactions.js +0 -21
- package/build/bb-interactions.js.map +0 -1
- package/build/bb.js +0 -36
- package/build/bb.js.map +0 -1
- package/build/blocks/blockDefinitions.js +0 -70
- package/build/blocks/blockDefinitions.js.map +0 -1
- package/build/blocks/publishBlocks.js +0 -75
- package/build/blocks/publishBlocks.js.map +0 -1
- package/build/blocks/releaseBlocks.js +0 -69
- package/build/blocks/releaseBlocks.js.map +0 -1
- package/build/components/comments.js +0 -88
- package/build/components/comments.js.map +0 -1
- package/build/components/compatibility.js +0 -63
- package/build/components/compatibility.js.map +0 -1
- package/build/components/transformers/index.js +0 -38
- package/build/components/transformers/index.js.map +0 -1
- package/build/components-build/index.js +0 -8
- package/build/components-build/index.js.map +0 -1
- package/build/components-build/reportDiagnostics.js +0 -18
- package/build/components-build/reportDiagnostics.js.map +0 -1
- package/build/components-build/styles.js +0 -118
- package/build/components-build/styles.js.map +0 -1
- package/build/components-build/v2/buildInteractions.js +0 -74
- package/build/components-build/v2/buildInteractions.js.map +0 -1
- package/build/functions/acquireAppFunctionsProject.js +0 -19
- package/build/functions/acquireAppFunctionsProject.js.map +0 -1
- package/build/functions/acquireCustomFunctionsProject.js +0 -21
- package/build/functions/acquireCustomFunctionsProject.js.map +0 -1
- package/build/functions/bb-components-functions.js +0 -44
- package/build/functions/bb-components-functions.js.map +0 -1
- package/build/functions/config.js +0 -205
- package/build/functions/config.js.map +0 -1
- package/build/functions/functionDefinitions.js +0 -194
- package/build/functions/functionDefinitions.js.map +0 -1
- package/build/functions/icons.js +0 -47
- package/build/functions/icons.js.map +0 -1
- package/build/functions/publishAppFunctions.js +0 -111
- package/build/functions/publishAppFunctions.js.map +0 -1
- package/build/functions/publishCustomFunctions.js +0 -114
- package/build/functions/publishCustomFunctions.js.map +0 -1
- package/build/functions/publishFunctions.js +0 -120
- package/build/functions/publishFunctions.js.map +0 -1
- package/build/functions/testRunner.js +0 -245
- package/build/functions/testRunner.js.map +0 -1
- package/build/functions/utils.js +0 -23
- package/build/functions/utils.js.map +0 -1
- package/build/functions/validations.js +0 -127
- package/build/functions/validations.js.map +0 -1
- package/build/functions/versions.js +0 -49
- package/build/functions/versions.js.map +0 -1
- package/build/interactions/compatibility.js +0 -95
- package/build/interactions/compatibility.js.map +0 -1
- package/build/interactions/diagnostics.js +0 -25
- package/build/interactions/diagnostics.js.map +0 -1
- package/build/types.js +0 -41
- package/build/types.js.map +0 -1
- package/build/utils/arguments.js +0 -8
- package/build/utils/arguments.js.map +0 -1
- package/build/utils/checkPackageVersion.js +0 -21
- package/build/utils/checkPackageVersion.js.map +0 -1
- package/build/utils/checkUpdateAvailable.js +0 -81
- package/build/utils/checkUpdateAvailable.js.map +0 -1
- package/build/utils/fusionAuth.js +0 -132
- package/build/utils/fusionAuth.js.map +0 -1
- package/build/utils/hash.js +0 -10
- package/build/utils/hash.js.map +0 -1
- package/build/utils/ide.js +0 -156
- package/build/utils/ide.js.map +0 -1
- package/build/utils/login.js +0 -134
- package/build/utils/login.js.map +0 -1
- package/build/utils/readFilesByType.js +0 -40
- package/build/utils/readFilesByType.js.map +0 -1
- package/build/utils/rootDir.js +0 -9
- package/build/utils/rootDir.js.map +0 -1
- package/build/utils/serveComponentSet.js +0 -68
- package/build/utils/serveComponentSet.js.map +0 -1
- package/build/utils/transpile.js +0 -31
- package/build/utils/transpile.js.map +0 -1
- package/build/utils/uploadBlob.js +0 -72
- package/build/utils/uploadBlob.js.map +0 -1
- package/build/utils/validation.js +0 -80
- package/build/utils/validation.js.map +0 -1
- package/build/validations/component.js +0 -61
- package/build/validations/component.js.map +0 -1
- package/build/validations/constants.js +0 -210
- package/build/validations/constants.js.map +0 -1
- package/build/validations/function-block-validations/index.js +0 -82
- package/build/validations/function-block-validations/index.js.map +0 -1
- package/build/validations/interaction.js +0 -27
- package/build/validations/interaction.js.map +0 -1
- package/build/validations/prefab/action.js +0 -104
- package/build/validations/prefab/action.js.map +0 -1
- package/build/validations/prefab/component.js +0 -279
- package/build/validations/prefab/component.js.map +0 -1
- package/build/validations/prefab/componentOption.js +0 -152
- package/build/validations/prefab/componentOption.js.map +0 -1
- package/build/validations/prefab/interaction.js +0 -43
- package/build/validations/prefab/interaction.js.map +0 -1
- package/build/validations/prefab/linkedOption.js +0 -44
- package/build/validations/prefab/linkedOption.js.map +0 -1
- package/build/validations/prefab/linkedPartial.js +0 -35
- package/build/validations/prefab/linkedPartial.js.map +0 -1
- package/build/validations/prefab/variable.js +0 -41
- package/build/validations/prefab/variable.js.map +0 -1
- package/build/validations/prefab.js +0 -59
- package/build/validations/prefab.js.map +0 -1
- package/build/validations/styles.js +0 -108
- package/build/validations/styles.js.map +0 -1
- /package/assets/app-functions/{templates → js-template}/.app-functions +0 -0
- /package/assets/app-functions/{templates → js-template}/functions/say-hello/1.0/function.json +0 -0
- /package/assets/app-functions/{templates → js-template}/package.json +0 -0
package/build/utils/hash.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const crypto_1 = __importDefault(require("crypto"));
|
|
7
|
-
exports.default = (map) => {
|
|
8
|
-
return crypto_1.default.createHash('sha256').update(JSON.stringify(map)).digest('hex');
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=hash.js.map
|
package/build/utils/hash.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../../src/utils/hash.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAE5B,kBAAe,CAAC,GAAY,EAAU,EAAE;IACtC,OAAO,gBAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC/E,CAAC,CAAC"}
|
package/build/utils/ide.js
DELETED
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/* eslint-disable no-param-reassign,@typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment */
|
|
3
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
4
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
5
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
6
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
7
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
8
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
9
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
10
|
-
});
|
|
11
|
-
};
|
|
12
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
13
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
14
|
-
};
|
|
15
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
17
|
-
const ora_1 = __importDefault(require("ora"));
|
|
18
|
-
const os_1 = __importDefault(require("os"));
|
|
19
|
-
const path_1 = __importDefault(require("path"));
|
|
20
|
-
const prompts_1 = __importDefault(require("prompts"));
|
|
21
|
-
const webhead_1 = __importDefault(require("webhead"));
|
|
22
|
-
const fusionAuth_1 = __importDefault(require("./fusionAuth"));
|
|
23
|
-
class IDE {
|
|
24
|
-
constructor(config) {
|
|
25
|
-
this.configFile = path_1.default.join(os_1.default.homedir(), '.bb-cli');
|
|
26
|
-
this.config = config;
|
|
27
|
-
if (!fs_extra_1.default.pathExistsSync(this.configFile)) {
|
|
28
|
-
fs_extra_1.default.writeFileSync(this.configFile, JSON.stringify({ cookies: [] }, null, 2));
|
|
29
|
-
}
|
|
30
|
-
this.webhead = webhead_1.default({
|
|
31
|
-
jarFile: this.configFile,
|
|
32
|
-
beforeSend: ({ method, url, options }, { csrfToken }) => {
|
|
33
|
-
if (method !== 'GET' && csrfToken) {
|
|
34
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
|
|
35
|
-
options.headers || (options.headers = {});
|
|
36
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
37
|
-
options.headers['X-Csrf-Token'] = csrfToken;
|
|
38
|
-
}
|
|
39
|
-
return { method, url, options };
|
|
40
|
-
},
|
|
41
|
-
complete: (_parameters, session, webhead) => {
|
|
42
|
-
if (!session.csrfToken) {
|
|
43
|
-
const match = webhead.text().match(/Betty\.CSRF = '(.*?)'/);
|
|
44
|
-
if (match) {
|
|
45
|
-
const [, csrfToken] = match;
|
|
46
|
-
session.csrfToken = csrfToken;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
},
|
|
50
|
-
});
|
|
51
|
-
this.fusionAuth = new fusionAuth_1.default(this.config, () => __awaiter(this, void 0, void 0, function* () { return this.relogin(); }));
|
|
52
|
-
}
|
|
53
|
-
get(requestPath, label) {
|
|
54
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
55
|
-
return this.request('get', requestPath, undefined, label);
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
post(requestPath, options, label) {
|
|
59
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
60
|
-
return this.request('post', requestPath, options, label);
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
put(requestPath, options, label) {
|
|
64
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
65
|
-
return this.request('put', requestPath, options, label);
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
request(method, requestPath, options, label) {
|
|
69
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
-
yield this.ensureLogin();
|
|
71
|
-
const spinner = label ? ora_1.default(label).start() : undefined;
|
|
72
|
-
const { statusCode } = yield this.webhead[method](`${this.config.host}/api/${requestPath}`, options);
|
|
73
|
-
if (spinner) {
|
|
74
|
-
spinner[statusCode.toString().match(/^2/) ? 'succeed' : 'fail']();
|
|
75
|
-
}
|
|
76
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
77
|
-
return this.webhead.json() || this.webhead.text();
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
relogin() {
|
|
81
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
82
|
-
this.loggedIn = false;
|
|
83
|
-
this.webhead.clearCookies();
|
|
84
|
-
yield this.ensureLogin();
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
ensureLogin() {
|
|
88
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
89
|
-
if (this.loggedIn)
|
|
90
|
-
return;
|
|
91
|
-
yield this.webhead.get(this.config.host);
|
|
92
|
-
if (this.webhead.text().match('redirect_location')) {
|
|
93
|
-
yield this.webhead.get('/login');
|
|
94
|
-
}
|
|
95
|
-
let email = '';
|
|
96
|
-
let password = '';
|
|
97
|
-
const ensureAuth = () => __awaiter(this, void 0, void 0, function* () {
|
|
98
|
-
const cassieLogin = !!this.webhead.$('form [name="username"]').length;
|
|
99
|
-
const fusionAuthLogin = !!this.webhead.$('form [name="loginId"]').length;
|
|
100
|
-
if (cassieLogin || fusionAuthLogin) {
|
|
101
|
-
const config = fs_extra_1.default.readJsonSync(this.configFile);
|
|
102
|
-
const credentials = yield prompts_1.default([
|
|
103
|
-
{
|
|
104
|
-
type: 'text',
|
|
105
|
-
name: 'email',
|
|
106
|
-
message: 'Fill in your e-mail address',
|
|
107
|
-
initial: config.email,
|
|
108
|
-
},
|
|
109
|
-
{
|
|
110
|
-
type: 'password',
|
|
111
|
-
name: 'password',
|
|
112
|
-
message: 'Fill in your password',
|
|
113
|
-
},
|
|
114
|
-
]);
|
|
115
|
-
email = credentials.email;
|
|
116
|
-
password = credentials.password;
|
|
117
|
-
config.email = email;
|
|
118
|
-
fs_extra_1.default.writeFileSync(this.configFile, JSON.stringify(config, null, 2));
|
|
119
|
-
const identifier = cassieLogin ? 'username' : 'loginId';
|
|
120
|
-
const input = {
|
|
121
|
-
[identifier]: email,
|
|
122
|
-
password,
|
|
123
|
-
};
|
|
124
|
-
yield this.webhead.submit('form', input);
|
|
125
|
-
yield ensureAuth();
|
|
126
|
-
}
|
|
127
|
-
});
|
|
128
|
-
const ensure2FA = () => __awaiter(this, void 0, void 0, function* () {
|
|
129
|
-
const cassie2FA = !!this.webhead.$('form[name="otp"]').length;
|
|
130
|
-
const fusionAuth2FA = !!this.webhead.$('form[id="2fa-form"]').length;
|
|
131
|
-
if (cassie2FA || fusionAuth2FA) {
|
|
132
|
-
const { code } = yield prompts_1.default([
|
|
133
|
-
{
|
|
134
|
-
type: 'text',
|
|
135
|
-
name: 'code',
|
|
136
|
-
message: 'Fill in your 2FA code',
|
|
137
|
-
},
|
|
138
|
-
]);
|
|
139
|
-
const name = cassie2FA ? 'otp' : 'code';
|
|
140
|
-
const input = {
|
|
141
|
-
[name]: code,
|
|
142
|
-
};
|
|
143
|
-
yield this.webhead.submit('form[name="otp"],form[id="2fa-form"]', input);
|
|
144
|
-
yield ensure2FA();
|
|
145
|
-
}
|
|
146
|
-
});
|
|
147
|
-
yield ensureAuth();
|
|
148
|
-
yield ensure2FA();
|
|
149
|
-
this.fusionAuth.loginId = email;
|
|
150
|
-
this.fusionAuth.password = password;
|
|
151
|
-
this.loggedIn = true;
|
|
152
|
-
});
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
exports.default = IDE;
|
|
156
|
-
//# sourceMappingURL=ide.js.map
|
package/build/utils/ide.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ide.js","sourceRoot":"","sources":["../../src/utils/ide.ts"],"names":[],"mappings":"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"}
|
package/build/utils/login.js
DELETED
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
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
|
-
const prompts_1 = __importDefault(require("prompts"));
|
|
16
|
-
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
17
|
-
const config_1 = __importDefault(require("../functions/config"));
|
|
18
|
-
const readAuthConfig = () => {
|
|
19
|
-
return config_1.default.readGlobalConfig();
|
|
20
|
-
};
|
|
21
|
-
const storeAuthConfig = (auth) => {
|
|
22
|
-
config_1.default.writeToGlobalConfig('auth', Object.assign(Object.assign({}, readAuthConfig().auth), auth));
|
|
23
|
-
};
|
|
24
|
-
const promptCredentials = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
25
|
-
const config = readAuthConfig();
|
|
26
|
-
const { email, password } = (yield prompts_1.default([
|
|
27
|
-
{
|
|
28
|
-
type: 'text',
|
|
29
|
-
name: 'email',
|
|
30
|
-
message: 'Fill in your e-mail address',
|
|
31
|
-
initial: config.auth.email,
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
type: 'password',
|
|
35
|
-
name: 'password',
|
|
36
|
-
message: 'Fill in your password',
|
|
37
|
-
},
|
|
38
|
-
]));
|
|
39
|
-
if (!email.match(/@/)) {
|
|
40
|
-
console.log(`Can't login without an email.`);
|
|
41
|
-
process.exit();
|
|
42
|
-
}
|
|
43
|
-
storeAuthConfig({ email });
|
|
44
|
-
return { email, password };
|
|
45
|
-
});
|
|
46
|
-
class FusionAuth {
|
|
47
|
-
constructor(config) {
|
|
48
|
-
this.config = config;
|
|
49
|
-
}
|
|
50
|
-
logout() {
|
|
51
|
-
this.clearTokens();
|
|
52
|
-
}
|
|
53
|
-
login() {
|
|
54
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
55
|
-
this.clearTokens();
|
|
56
|
-
yield this.ensureLogin();
|
|
57
|
-
return this.tokenExists();
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
ensureLogin() {
|
|
61
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
-
const { email, password } = yield promptCredentials();
|
|
63
|
-
const additionalHeaders = this.config.additionalHeaders();
|
|
64
|
-
return node_fetch_1.default(`${this.config.fusionAuthUrl}/api/login`, {
|
|
65
|
-
agent: this.config.agent,
|
|
66
|
-
method: 'POST',
|
|
67
|
-
body: JSON.stringify({
|
|
68
|
-
loginId: email,
|
|
69
|
-
password,
|
|
70
|
-
}),
|
|
71
|
-
headers: Object.assign({ 'Content-Type': 'application/json' }, additionalHeaders),
|
|
72
|
-
}).then((resp) => __awaiter(this, void 0, void 0, function* () {
|
|
73
|
-
if (resp.status === 242) {
|
|
74
|
-
const { twoFactorId } = (yield resp.json());
|
|
75
|
-
return this.ensure2FA(twoFactorId);
|
|
76
|
-
}
|
|
77
|
-
if (resp.ok) {
|
|
78
|
-
const { token } = (yield resp.json());
|
|
79
|
-
return this.storeToken(token);
|
|
80
|
-
}
|
|
81
|
-
return this.ensureLogin();
|
|
82
|
-
}));
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
jwt() {
|
|
86
|
-
return readAuthConfig().auth[this.jwtKey()];
|
|
87
|
-
}
|
|
88
|
-
ensure2FA(twoFactorId) {
|
|
89
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
90
|
-
const { code } = (yield prompts_1.default([
|
|
91
|
-
{
|
|
92
|
-
type: 'text',
|
|
93
|
-
name: 'code',
|
|
94
|
-
message: 'Fill in your 2FA code',
|
|
95
|
-
},
|
|
96
|
-
]));
|
|
97
|
-
return node_fetch_1.default(`${this.config.fusionAuthUrl}/api/two-factor/login`, {
|
|
98
|
-
agent: this.config.agent,
|
|
99
|
-
method: 'POST',
|
|
100
|
-
body: JSON.stringify({
|
|
101
|
-
code,
|
|
102
|
-
twoFactorId,
|
|
103
|
-
}),
|
|
104
|
-
headers: { 'Content-Type': 'application/json' },
|
|
105
|
-
}).then((resp) => __awaiter(this, void 0, void 0, function* () {
|
|
106
|
-
if (resp.ok) {
|
|
107
|
-
const { token } = (yield resp.json());
|
|
108
|
-
this.storeToken(token);
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
yield this.ensure2FA(twoFactorId);
|
|
112
|
-
}
|
|
113
|
-
}));
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
storeToken(token) {
|
|
117
|
-
storeAuthConfig({
|
|
118
|
-
[this.jwtKey()]: token,
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
clearTokens() {
|
|
122
|
-
storeAuthConfig({
|
|
123
|
-
[this.jwtKey()]: undefined,
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
tokenExists() {
|
|
127
|
-
return !!this.jwt();
|
|
128
|
-
}
|
|
129
|
-
jwtKey() {
|
|
130
|
-
return `jwt.${this.config.zone}`;
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
exports.default = FusionAuth;
|
|
134
|
-
//# sourceMappingURL=login.js.map
|
package/build/utils/login.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/utils/login.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
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
|
-
const fs_1 = require("fs");
|
|
16
|
-
const fs_extra_1 = require("fs-extra");
|
|
17
|
-
const path_1 = __importDefault(require("path"));
|
|
18
|
-
const { readdir } = fs_extra_1.promises;
|
|
19
|
-
const buildLast = (dir, extension = 'js') => __awaiter(void 0, void 0, void 0, function* () {
|
|
20
|
-
const files = yield readdir(dir);
|
|
21
|
-
const returnFiles = [];
|
|
22
|
-
files === null || files === void 0 ? void 0 : files.forEach((file) => {
|
|
23
|
-
const absolutePath = path_1.default.join(dir, file);
|
|
24
|
-
const fileStats = fs_1.statSync(absolutePath);
|
|
25
|
-
const modifiedTime = fileStats.mtime.valueOf();
|
|
26
|
-
const aBitEarlier = new Date().valueOf() - 5000;
|
|
27
|
-
if (modifiedTime > aBitEarlier && file.endsWith(`.${extension}`)) {
|
|
28
|
-
returnFiles.push(file);
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
return returnFiles;
|
|
32
|
-
});
|
|
33
|
-
const buildAll = (dir, extension = 'js') => __awaiter(void 0, void 0, void 0, function* () {
|
|
34
|
-
const files = yield readdir(dir);
|
|
35
|
-
return files.filter((file) => file.endsWith(`.${extension}`));
|
|
36
|
-
});
|
|
37
|
-
exports.default = (dir, extension = 'js', buildAllFiles = true) => __awaiter(void 0, void 0, void 0, function* () {
|
|
38
|
-
return buildAllFiles ? buildAll(dir, extension) : buildLast(dir, extension);
|
|
39
|
-
});
|
|
40
|
-
//# sourceMappingURL=readFilesByType.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"readFilesByType.js","sourceRoot":"","sources":["../../src/utils/readFilesByType.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,2BAA8B;AAC9B,uCAAoC;AACpC,gDAAwB;AAExB,MAAM,EAAE,OAAO,EAAE,GAAG,mBAAQ,CAAC;AAE7B,MAAM,SAAS,GAAG,CAAO,GAAW,EAAE,SAAS,GAAG,IAAI,EAAqB,EAAE;IAC3E,MAAM,KAAK,GAAa,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IAE3C,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACtB,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,aAAQ,CAAC,YAAY,CAAC,CAAC;QACzC,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAC/C,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;QAChD,IAAI,YAAY,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,SAAS,EAAE,CAAC,EAAE;YAChE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACxB;IACH,CAAC,EAAE;IAEH,OAAO,WAAW,CAAC;AACrB,CAAC,CAAA,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAO,GAAW,EAAE,SAAS,GAAG,IAAI,EAAqB,EAAE;IAC1E,MAAM,KAAK,GAAa,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IAE3C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAY,EAAW,EAAE,CAC5C,IAAI,CAAC,QAAQ,CAAC,IAAI,SAAS,EAAE,CAAC,CAC/B,CAAC;AACJ,CAAC,CAAA,CAAC;AAEF,kBAAe,CACb,GAAW,EACX,SAAS,GAAG,IAAI,EAChB,aAAa,GAAG,IAAI,EACD,EAAE;IACrB,OAAO,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AAC9E,CAAC,CAAA,CAAC"}
|
package/build/utils/rootDir.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const path_1 = __importDefault(require("path"));
|
|
7
|
-
const rootDir = () => path_1.default.join(process.mainModule.filename, '..', '..');
|
|
8
|
-
exports.default = rootDir;
|
|
9
|
-
//# sourceMappingURL=rootDir.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rootDir.js","sourceRoot":"","sources":["../../src/utils/rootDir.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AAExB,MAAM,OAAO,GAAG,GAAW,EAAE,CAC3B,cAAI,CAAC,IAAI,CAAE,OAAO,CAAC,UAAyB,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAErE,kBAAe,OAAO,CAAC"}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
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
|
-
const http_1 = require("http");
|
|
16
|
-
const https_1 = require("https");
|
|
17
|
-
const fs_1 = require("fs");
|
|
18
|
-
const serve_handler_1 = __importDefault(require("serve-handler"));
|
|
19
|
-
const checkUpdateAvailable_1 = require("./checkUpdateAvailable");
|
|
20
|
-
const serveComponentSet = (options) => {
|
|
21
|
-
return new Promise((resolve, reject) => {
|
|
22
|
-
const serverOptions = {};
|
|
23
|
-
const createServer = options.ssl ? https_1.createServer : http_1.createServer;
|
|
24
|
-
if (options.ssl) {
|
|
25
|
-
if (!fs_1.existsSync(options.sslKey)) {
|
|
26
|
-
throw new Error(`Private key '${options.sslKey}' does not exists.`);
|
|
27
|
-
}
|
|
28
|
-
if (!fs_1.existsSync(options.sslCert)) {
|
|
29
|
-
throw new Error(`Certificate '${options.sslCert}' does not exists.`);
|
|
30
|
-
}
|
|
31
|
-
serverOptions.key = fs_1.readFileSync(options.sslKey);
|
|
32
|
-
serverOptions.cert = fs_1.readFileSync(options.sslCert);
|
|
33
|
-
}
|
|
34
|
-
const listener = (response, request) => serve_handler_1.default(response, request, {
|
|
35
|
-
public: `${options.rootDir}/dist`,
|
|
36
|
-
headers: [
|
|
37
|
-
{
|
|
38
|
-
source: '**/*.@(json)',
|
|
39
|
-
headers: [
|
|
40
|
-
{
|
|
41
|
-
key: 'Access-Control-Allow-Origin',
|
|
42
|
-
value: '*',
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
key: 'Cache-Control',
|
|
46
|
-
value: 'no-cache ',
|
|
47
|
-
},
|
|
48
|
-
],
|
|
49
|
-
},
|
|
50
|
-
],
|
|
51
|
-
});
|
|
52
|
-
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
53
|
-
createServer(serverOptions, listener)
|
|
54
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
55
|
-
.on('error', (error) => reject(error.message))
|
|
56
|
-
.listen(options.port, options.host, () => resolve());
|
|
57
|
-
});
|
|
58
|
-
};
|
|
59
|
-
exports.default = (options, hasOfflineFlag) => __awaiter(void 0, void 0, void 0, function* () {
|
|
60
|
-
if (!hasOfflineFlag) {
|
|
61
|
-
yield checkUpdateAvailable_1.checkUpdateAvailableCLI();
|
|
62
|
-
}
|
|
63
|
-
if (!fs_1.existsSync(`${options.rootDir}/dist`)) {
|
|
64
|
-
throw new Error(`Directory '${options.rootDir}/dist' does not exists.`);
|
|
65
|
-
}
|
|
66
|
-
return serveComponentSet(options);
|
|
67
|
-
});
|
|
68
|
-
//# sourceMappingURL=serveComponentSet.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serveComponentSet.js","sourceRoot":"","sources":["../../src/utils/serveComponentSet.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+BAIc;AACd,iCAAyE;AACzE,2BAA8C;AAC9C,kEAAoC;AACpC,iEAAiE;AAGjE,MAAM,iBAAiB,GAAG,CAAC,OAAqB,EAAiB,EAAE;IACjE,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAQ,EAAE;QACjD,MAAM,aAAa,GAAkB,EAAE,CAAC;QACxC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,oBAAiB,CAAC,CAAC,CAAC,mBAAgB,CAAC;QAExE,IAAI,OAAO,CAAC,GAAG,EAAE;YACf,IAAI,CAAC,eAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAC/B,MAAM,IAAI,KAAK,CAAC,gBAAgB,OAAO,CAAC,MAAM,oBAAoB,CAAC,CAAC;aACrE;YAED,IAAI,CAAC,eAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAChC,MAAM,IAAI,KAAK,CAAC,gBAAgB,OAAO,CAAC,OAAO,oBAAoB,CAAC,CAAC;aACtE;YAED,aAAa,CAAC,GAAG,GAAG,iBAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACjD,aAAa,CAAC,IAAI,GAAG,iBAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SACpD;QAED,MAAM,QAAQ,GAAG,CACf,QAAyB,EACzB,OAAuB,EACR,EAAE,CACjB,uBAAO,CAAC,QAAQ,EAAE,OAAO,EAAE;YACzB,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,OAAO;YACjC,OAAO,EAAE;gBACP;oBACE,MAAM,EAAE,cAAc;oBACtB,OAAO,EAAE;wBACP;4BACE,GAAG,EAAE,6BAA6B;4BAClC,KAAK,EAAE,GAAG;yBACX;wBACD;4BACE,GAAG,EAAE,eAAe;4BACpB,KAAK,EAAE,WAAW;yBACnB;qBACF;iBACF;aACF;SACF,CAAC,CAAC;QAEL,kEAAkE;QAClE,YAAY,CAAC,aAAa,EAAE,QAAQ,CAAC;YACnC,sEAAsE;aACrE,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAC7C,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,kBAAe,CACb,OAAqB,EACrB,cAAuB,EACR,EAAE;IACjB,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,8CAAuB,EAAE,CAAC;KACjC;IACD,IAAI,CAAC,eAAU,CAAC,GAAG,OAAO,CAAC,OAAO,OAAO,CAAC,EAAE;QAC1C,MAAM,IAAI,KAAK,CAAC,cAAc,OAAO,CAAC,OAAO,yBAAyB,CAAC,CAAC;KACzE;IAED,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC,CAAA,CAAC"}
|
package/build/utils/transpile.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const generator_1 = __importDefault(require("@babel/generator"));
|
|
7
|
-
const parser_1 = require("@babel/parser");
|
|
8
|
-
const traverse_1 = __importDefault(require("@babel/traverse"));
|
|
9
|
-
const types_1 = require("@babel/types");
|
|
10
|
-
const generateInnerCode = (ast, keys) => {
|
|
11
|
-
traverse_1.default(ast, {
|
|
12
|
-
// tslint:disable-next-line: function-name
|
|
13
|
-
ObjectProperty(path) {
|
|
14
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument,@typescript-eslint/no-unsafe-member-access
|
|
15
|
-
if (keys.includes(path.node.key.name)) {
|
|
16
|
-
const value = generator_1.default(path.node.value).code;
|
|
17
|
-
// Reassigningment is how this kind of traversal works
|
|
18
|
-
// eslint-disable-next-line no-param-reassign
|
|
19
|
-
path.node.value = types_1.stringLiteral(value);
|
|
20
|
-
}
|
|
21
|
-
},
|
|
22
|
-
});
|
|
23
|
-
};
|
|
24
|
-
exports.default = (code, keys) => {
|
|
25
|
-
const ast = parser_1.parse(code, {
|
|
26
|
-
plugins: ['jsx'],
|
|
27
|
-
});
|
|
28
|
-
generateInnerCode(ast, keys);
|
|
29
|
-
return generator_1.default(ast).code;
|
|
30
|
-
};
|
|
31
|
-
//# sourceMappingURL=transpile.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transpile.js","sourceRoot":"","sources":["../../src/utils/transpile.ts"],"names":[],"mappings":";;;;;AAAA,iEAAwC;AACxC,0CAAsC;AACtC,+DAAuC;AACvC,wCAAmD;AAEnD,MAAM,iBAAiB,GAAG,CAAC,GAAS,EAAE,IAAc,EAAQ,EAAE;IAC5D,kBAAQ,CAAC,GAAG,EAAE;QACZ,0CAA0C;QAC1C,cAAc,CAAC,IAAI;YACjB,4GAA4G;YAC5G,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACrC,MAAM,KAAK,GAAW,mBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;gBAErD,sDAAsD;gBACtD,6CAA6C;gBAC7C,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,qBAAa,CAAC,KAAK,CAAC,CAAC;aACxC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,kBAAe,CAAC,IAAY,EAAE,IAAc,EAAU,EAAE;IACtD,MAAM,GAAG,GAAS,cAAK,CAAC,IAAI,EAAE;QAC5B,OAAO,EAAE,CAAC,KAAK,CAAC;KACjB,CAAC,CAAC;IAEH,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAE7B,OAAO,mBAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AAC5B,CAAC,CAAC"}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
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
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
16
|
-
const storage_blob_1 = require("@azure/storage-blob");
|
|
17
|
-
const { AZURE_BLOB_ACCOUNT, AZURE_BLOB_ACCOUNT_KEY } = process.env;
|
|
18
|
-
if (!AZURE_BLOB_ACCOUNT) {
|
|
19
|
-
throw new Error(chalk_1.default.red('\n$AZURE_BLOB_ACCOUNT is required\n'));
|
|
20
|
-
}
|
|
21
|
-
if (!AZURE_BLOB_ACCOUNT_KEY) {
|
|
22
|
-
throw new Error(chalk_1.default.red('\n$AZURE_BLOB_ACCOUNT_KEY is required\n'));
|
|
23
|
-
}
|
|
24
|
-
const getServiceUrl = () => {
|
|
25
|
-
const sharedKeyCredential = new storage_blob_1.SharedKeyCredential(AZURE_BLOB_ACCOUNT, AZURE_BLOB_ACCOUNT_KEY);
|
|
26
|
-
const pipeline = storage_blob_1.StorageURL.newPipeline(sharedKeyCredential);
|
|
27
|
-
const url = `https://${AZURE_BLOB_ACCOUNT}.blob.core.windows.net`;
|
|
28
|
-
return new storage_blob_1.ServiceURL(url, pipeline);
|
|
29
|
-
};
|
|
30
|
-
const setCorsRules = (serviceURL) => serviceURL.setProperties(storage_blob_1.Aborter.none, {
|
|
31
|
-
cors: [
|
|
32
|
-
{
|
|
33
|
-
allowedOrigins: '*',
|
|
34
|
-
allowedHeaders: '*',
|
|
35
|
-
allowedMethods: 'GET',
|
|
36
|
-
exposedHeaders: '*',
|
|
37
|
-
maxAgeInSeconds: 86400,
|
|
38
|
-
},
|
|
39
|
-
],
|
|
40
|
-
});
|
|
41
|
-
const getContainerURL = (serviceURL, blobContainerName) => storage_blob_1.ContainerURL.fromServiceURL(serviceURL, blobContainerName);
|
|
42
|
-
const getBlockURL = (url, name) => __awaiter(void 0, void 0, void 0, function* () {
|
|
43
|
-
// Ensure there is a container, ignore 'ContainerAlreadyExists' errors on purpose
|
|
44
|
-
try {
|
|
45
|
-
yield url.create(storage_blob_1.Aborter.none, { access: 'blob' });
|
|
46
|
-
}
|
|
47
|
-
catch (error) {
|
|
48
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
49
|
-
const { statusCode } = error;
|
|
50
|
-
if (statusCode !== 409) {
|
|
51
|
-
// eslint-disable-next-line @typescript-eslint/no-throw-literal,@typescript-eslint/no-unsafe-argument
|
|
52
|
-
throw chalk_1.default.red(error);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
const blobURL = storage_blob_1.BlobURL.fromContainerURL(url, name);
|
|
56
|
-
return storage_blob_1.BlockBlobURL.fromBlobURL(blobURL);
|
|
57
|
-
});
|
|
58
|
-
const upload = (url, content, blobContentType) => url.upload(storage_blob_1.Aborter.none, content, content.length, {
|
|
59
|
-
blobHTTPHeaders: {
|
|
60
|
-
blobCacheControl: 'private, max-age=0, no-transform',
|
|
61
|
-
blobContentType,
|
|
62
|
-
},
|
|
63
|
-
});
|
|
64
|
-
exports.default = (blobContainerName, blobName, blobContent, blobContentType) => __awaiter(void 0, void 0, void 0, function* () {
|
|
65
|
-
const serviceURL = getServiceUrl();
|
|
66
|
-
yield setCorsRules(serviceURL);
|
|
67
|
-
const containerURL = getContainerURL(serviceURL, blobContainerName);
|
|
68
|
-
const blockURL = yield getBlockURL(containerURL, blobName);
|
|
69
|
-
const uploadResponse = yield upload(blockURL, blobContent, blobContentType);
|
|
70
|
-
return Object.assign(Object.assign({}, uploadResponse), { url: containerURL.url });
|
|
71
|
-
});
|
|
72
|
-
//# sourceMappingURL=uploadBlob.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"uploadBlob.js","sourceRoot":"","sources":["../../src/utils/uploadBlob.ts"],"names":[],"mappings":"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"}
|