@babelize/cli 1.0.11 → 1.0.13
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/dist/config.d.ts.map +1 -1
- package/dist/config.js +19 -0
- package/dist/config.js.map +1 -1
- package/dist/index.js +0 -0
- package/dist/oauth.d.ts +12 -1
- package/dist/oauth.d.ts.map +1 -1
- package/dist/oauth.js +79 -95
- package/dist/oauth.js.map +1 -1
- package/package.json +1 -1
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAsBD,eAAO,MAAM,MAAM;sBACC,WAAW,GAAG,IAAI;0BAId,WAAW,GAAG,IAAI;wBAQpB,IAAI;iBAIX,MAAM;mBAUJ,MAAM,GAAG,IAAI;uBAKT,OAAO;6BAIK,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;CAUhI,CAAC"}
|
package/dist/config.js
CHANGED
|
@@ -1,9 +1,27 @@
|
|
|
1
1
|
import Conf from 'conf';
|
|
2
2
|
import path from 'path';
|
|
3
|
+
import { chmodSync } from 'node:fs';
|
|
3
4
|
import { access, readFile } from 'node:fs/promises';
|
|
4
5
|
const store = new Conf({
|
|
5
6
|
projectName: '@babelize/cli',
|
|
6
7
|
});
|
|
8
|
+
/**
|
|
9
|
+
* Restrict the config file to the current user.
|
|
10
|
+
*
|
|
11
|
+
* It holds a Babelize access token in plaintext, and `conf` creates files with
|
|
12
|
+
* the process umask — typically world-readable. Best effort: Windows has no
|
|
13
|
+
* meaningful POSIX mode and the file may not exist yet, so failures are ignored.
|
|
14
|
+
*/
|
|
15
|
+
function restrictPermissions() {
|
|
16
|
+
if (process.platform === 'win32')
|
|
17
|
+
return;
|
|
18
|
+
try {
|
|
19
|
+
chmodSync(store.path, 0o600);
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
// File not created yet, or a filesystem that does not support chmod.
|
|
23
|
+
}
|
|
24
|
+
}
|
|
7
25
|
export const config = {
|
|
8
26
|
getCredentials() {
|
|
9
27
|
return store.get('credentials') ?? null;
|
|
@@ -13,6 +31,7 @@ export const config = {
|
|
|
13
31
|
throw new Error('accessToken and userId are required');
|
|
14
32
|
}
|
|
15
33
|
store.set('credentials', creds);
|
|
34
|
+
restrictPermissions();
|
|
16
35
|
},
|
|
17
36
|
clearCredentials() {
|
|
18
37
|
store.delete('credentials');
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAepD,MAAM,KAAK,GAAG,IAAI,IAAI,CAAoD;IACxE,WAAW,EAAE,eAAe;CAC7B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,cAAc;QACZ,OAAO,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC;IAC1C,CAAC;IAED,cAAc,CAAC,KAAkB;QAC/B,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAepD,MAAM,KAAK,GAAG,IAAI,IAAI,CAAoD;IACxE,WAAW,EAAE,eAAe;CAC7B,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,SAAS,mBAAmB;IAC1B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO;IACzC,IAAI,CAAC;QACH,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,qEAAqE;IACvE,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,cAAc;QACZ,OAAO,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC;IAC1C,CAAC;IAED,cAAc,CAAC,KAAkB;QAC/B,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAChC,mBAAmB,EAAE,CAAC;IACxB,CAAC;IAED,gBAAgB;QACd,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS;QACP,yDAAyD;QACzD,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;QACtE,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC3C,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7E,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,6BAA6B,CAAC;IACvC,CAAC;IAED,SAAS,CAAC,GAAW;QACnB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC1C,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,eAAe;QACb,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;QACxE,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;YACzB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACnD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF,CAAC"}
|
package/dist/index.js
CHANGED
|
File without changes
|
package/dist/oauth.d.ts
CHANGED
|
@@ -1,13 +1,24 @@
|
|
|
1
|
+
import http from 'http';
|
|
1
2
|
export interface OAuthResult {
|
|
2
3
|
accessToken: string;
|
|
3
4
|
refreshToken?: string;
|
|
4
5
|
userId: string;
|
|
5
6
|
email: string;
|
|
6
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* Redeem the one-time code the backend redirects to the local callback.
|
|
10
|
+
* Tokens travel only in this HTTPS response body — never in a URL.
|
|
11
|
+
*/
|
|
12
|
+
export declare function exchangeCode(apiUrlBase: string, code: string): Promise<OAuthResult>;
|
|
13
|
+
/**
|
|
14
|
+
* Builds the handler for the local callback server: it accepts either an
|
|
15
|
+
* error or a one-time `code`, which it redeems via {@link exchangeCode}.
|
|
16
|
+
*/
|
|
17
|
+
export declare function createCallbackHandler(apiUrlBase: string, getServer: () => http.Server, resolve: (result: OAuthResult) => void, reject: (reason?: unknown) => void): http.RequestListener;
|
|
7
18
|
/**
|
|
8
19
|
* Performs a browser-based OAuth flow for the CLI.
|
|
9
20
|
* Starts a local HTTP server, opens the browser to the backend authorizer,
|
|
10
|
-
*
|
|
21
|
+
* receives a one-time code on the local server, and exchanges it for tokens.
|
|
11
22
|
*/
|
|
12
23
|
export declare function performOAuthFlow(apiUrlBase: string, provider: 'github' | 'google' | 'gitlab'): Promise<OAuthResult>;
|
|
13
24
|
//# sourceMappingURL=oauth.d.ts.map
|
package/dist/oauth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAqCxB,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAqBzF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,IAAI,CAAC,MAAM,EAC5B,OAAO,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,EACtC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,GACjC,IAAI,CAAC,eAAe,CA+CtB;AAMD;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAyDzH"}
|
package/dist/oauth.js
CHANGED
|
@@ -36,67 +36,92 @@ function parseFormBody(req) {
|
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
* and waits for the tokens to be redirected back to the local server.
|
|
39
|
+
* Redeem the one-time code the backend redirects to the local callback.
|
|
40
|
+
* Tokens travel only in this HTTPS response body — never in a URL.
|
|
42
41
|
*/
|
|
43
|
-
export async function
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
42
|
+
export async function exchangeCode(apiUrlBase, code) {
|
|
43
|
+
const res = await fetch(`${trimSlash(apiUrlBase)}/auth/cli/exchange`, {
|
|
44
|
+
method: 'POST',
|
|
45
|
+
headers: { 'Content-Type': 'application/json' },
|
|
46
|
+
body: JSON.stringify({ code }),
|
|
47
|
+
});
|
|
48
|
+
const body = (await res.json().catch(() => ({})));
|
|
49
|
+
if (!res.ok) {
|
|
50
|
+
throw new Error(body.error || `Code exchange failed (${res.status})`);
|
|
51
|
+
}
|
|
52
|
+
if (!body.access_token || !body.user_id || !body.email) {
|
|
53
|
+
throw new Error('Code exchange returned an incomplete session');
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
accessToken: body.access_token,
|
|
57
|
+
refreshToken: body.refresh_token || undefined,
|
|
58
|
+
userId: body.user_id,
|
|
59
|
+
email: body.email,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Builds the handler for the local callback server: it accepts either an
|
|
64
|
+
* error or a one-time `code`, which it redeems via {@link exchangeCode}.
|
|
65
|
+
*/
|
|
66
|
+
export function createCallbackHandler(apiUrlBase, getServer, resolve, reject) {
|
|
67
|
+
return async (req, res) => {
|
|
68
|
+
const finish = (status, html) => {
|
|
69
|
+
res.writeHead(status, { 'Content-Type': 'text/html' });
|
|
70
|
+
res.end(html);
|
|
71
|
+
getServer().close();
|
|
72
|
+
};
|
|
73
|
+
try {
|
|
74
|
+
const url = new URL(req.url || '', `http://${req.headers.host}`);
|
|
75
|
+
if (url.pathname !== '/callback') {
|
|
76
|
+
res.writeHead(404);
|
|
77
|
+
res.end();
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
const params = req.method === 'POST' ? await parseFormBody(req) : url.searchParams;
|
|
81
|
+
const error = params.get('error');
|
|
82
|
+
if (error) {
|
|
83
|
+
finish(400, renderErrorPage(error));
|
|
84
|
+
reject(new Error(error));
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
const code = params.get('code');
|
|
88
|
+
if (!code) {
|
|
89
|
+
finish(400, renderErrorPage('Missing authorization code'));
|
|
90
|
+
reject(new Error('Missing authorization code in callback'));
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
47
93
|
try {
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
const params = req.method === 'POST' ? await parseFormBody(req) : url.searchParams;
|
|
52
|
-
const error = params.get('error');
|
|
53
|
-
if (error) {
|
|
54
|
-
res.writeHead(400, { 'Content-Type': 'text/html' });
|
|
55
|
-
res.end(renderErrorPage(error));
|
|
56
|
-
server.close();
|
|
57
|
-
reject(new Error(error));
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
const accessToken = params.get('access_token');
|
|
61
|
-
const refreshToken = params.get('refresh_token') || undefined;
|
|
62
|
-
const userId = params.get('user_id');
|
|
63
|
-
const email = params.get('email');
|
|
64
|
-
if (accessToken && userId && email) {
|
|
65
|
-
res.writeHead(200, { 'Content-Type': 'text/html' });
|
|
66
|
-
res.end(renderSuccessPage(email));
|
|
67
|
-
server.close();
|
|
68
|
-
resolve({ accessToken, refreshToken, userId, email });
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
const missing = [];
|
|
72
|
-
if (!accessToken)
|
|
73
|
-
missing.push('access_token');
|
|
74
|
-
if (!userId)
|
|
75
|
-
missing.push('user_id');
|
|
76
|
-
if (!email)
|
|
77
|
-
missing.push('email');
|
|
78
|
-
res.writeHead(400, { 'Content-Type': 'text/html' });
|
|
79
|
-
res.end(renderErrorPage(`Missing tokens: ${missing.join(', ')}`));
|
|
80
|
-
server.close();
|
|
81
|
-
reject(new Error(`Missing tokens in callback: ${missing.join(', ')}`));
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
res.writeHead(404);
|
|
86
|
-
res.end();
|
|
87
|
-
}
|
|
94
|
+
const result = await exchangeCode(apiUrlBase, code);
|
|
95
|
+
finish(200, renderSuccessPage(result.email));
|
|
96
|
+
resolve(result);
|
|
88
97
|
}
|
|
89
98
|
catch (err) {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
server.close();
|
|
99
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
100
|
+
finish(400, renderErrorPage(message));
|
|
93
101
|
reject(err);
|
|
94
102
|
}
|
|
95
|
-
}
|
|
103
|
+
}
|
|
104
|
+
catch (err) {
|
|
105
|
+
finish(500, renderErrorPage('Internal server error'));
|
|
106
|
+
reject(err);
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
function trimSlash(url) {
|
|
111
|
+
return url.endsWith('/') ? url.slice(0, -1) : url;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Performs a browser-based OAuth flow for the CLI.
|
|
115
|
+
* Starts a local HTTP server, opens the browser to the backend authorizer,
|
|
116
|
+
* receives a one-time code on the local server, and exchanges it for tokens.
|
|
117
|
+
*/
|
|
118
|
+
export async function performOAuthFlow(apiUrlBase, provider) {
|
|
119
|
+
return new Promise((resolve, reject) => {
|
|
120
|
+
// 1. Create a temporary server to receive the callback from the backend
|
|
121
|
+
const server = http.createServer(createCallbackHandler(apiUrlBase, () => server, resolve, reject));
|
|
96
122
|
let listenerSetup = false;
|
|
97
123
|
const startAuth = (port, spinner, _server, _reject) => {
|
|
98
|
-
const
|
|
99
|
-
const authorizeUrl = `${baseUrl}/auth/cli/authorize/${provider}?port=${port}`;
|
|
124
|
+
const authorizeUrl = `${trimSlash(apiUrlBase)}/auth/cli/authorize/${provider}?port=${port}`;
|
|
100
125
|
open(authorizeUrl).then((browser) => {
|
|
101
126
|
spinner.stop(muted(`Waiting for authentication...\nIf the browser didn't open, visit: ${authorizeUrl}`));
|
|
102
127
|
browser?.on('close', () => { });
|
|
@@ -115,48 +140,7 @@ export async function performOAuthFlow(apiUrlBase, provider) {
|
|
|
115
140
|
if (!listenerSetup && err.code === 'EADDRNOTAVAIL') {
|
|
116
141
|
listenerSetup = true;
|
|
117
142
|
server.close();
|
|
118
|
-
const newServer = http.createServer(
|
|
119
|
-
try {
|
|
120
|
-
const url = new URL(req.url || '', `http://${req.headers.host}`);
|
|
121
|
-
if (url.pathname === '/callback') {
|
|
122
|
-
const params = req.method === 'POST' ? await parseFormBody(req) : url.searchParams;
|
|
123
|
-
const error = params.get('error');
|
|
124
|
-
if (error) {
|
|
125
|
-
res.writeHead(400, { 'Content-Type': 'text/html' });
|
|
126
|
-
res.end(renderErrorPage(error));
|
|
127
|
-
newServer.close();
|
|
128
|
-
reject(new Error(error));
|
|
129
|
-
return;
|
|
130
|
-
}
|
|
131
|
-
const accessToken = params.get('access_token');
|
|
132
|
-
const refreshToken = params.get('refresh_token') || undefined;
|
|
133
|
-
const userId = params.get('user_id');
|
|
134
|
-
const email = params.get('email');
|
|
135
|
-
if (accessToken && userId && email) {
|
|
136
|
-
res.writeHead(200, { 'Content-Type': 'text/html' });
|
|
137
|
-
res.end(renderSuccessPage(email));
|
|
138
|
-
newServer.close();
|
|
139
|
-
resolve({ accessToken, refreshToken, userId, email });
|
|
140
|
-
}
|
|
141
|
-
else {
|
|
142
|
-
res.writeHead(400, { 'Content-Type': 'text/html' });
|
|
143
|
-
res.end(renderErrorPage('Missing tokens'));
|
|
144
|
-
newServer.close();
|
|
145
|
-
reject(new Error('Missing tokens in callback'));
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
else {
|
|
149
|
-
res.writeHead(404);
|
|
150
|
-
res.end();
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
catch (err) {
|
|
154
|
-
res.writeHead(500, { 'Content-Type': 'text/html' });
|
|
155
|
-
res.end(renderErrorPage('Internal server error'));
|
|
156
|
-
newServer.close();
|
|
157
|
-
reject(err);
|
|
158
|
-
}
|
|
159
|
-
});
|
|
143
|
+
const newServer = http.createServer(createCallbackHandler(apiUrlBase, () => newServer, resolve, reject));
|
|
160
144
|
newServer.listen(0, '0.0.0.0', () => {
|
|
161
145
|
const port = newServer.address().port;
|
|
162
146
|
const spinner = clack.spinner();
|
package/dist/oauth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC;;GAEG;AACH,SAAS,aAAa,CAAC,GAAyB;IAC9C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACjB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACpD,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YACtD,IAAI,WAAW,CAAC,QAAQ,CAAC,mCAAmC,CAAC,EAAE,CAAC;gBAC9D,OAAO,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,sDAAsD;gBACtD,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC7B,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;oBACrC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC1C,IAAI,OAAO,CAAC,KAAK,QAAQ;4BAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC9C,CAAC;oBACD,OAAO,CAAC,MAAM,CAAC,CAAC;gBAClB,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AASD
|
|
1
|
+
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"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"}
|