@dune2/cli 0.4.13 → 0.5.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/dist/auth-777GVVSS.js +8 -0
- package/dist/auth-777GVVSS.js.map +1 -0
- package/dist/chunk-2SEEW5WZ.js +67 -0
- package/dist/chunk-2SEEW5WZ.js.map +1 -0
- package/dist/chunk-6UFZ6KLX.js +124 -0
- package/dist/chunk-6UFZ6KLX.js.map +1 -0
- package/dist/chunk-ADQ6JLT6.js +196 -0
- package/dist/chunk-ADQ6JLT6.js.map +1 -0
- package/dist/chunk-BSWWGPSV.js +60 -0
- package/dist/chunk-BSWWGPSV.js.map +1 -0
- package/dist/chunk-IKJLPHF7.js +117 -0
- package/dist/chunk-IKJLPHF7.js.map +1 -0
- package/dist/chunk-KNC7XY4Z.js +130 -0
- package/dist/chunk-KNC7XY4Z.js.map +1 -0
- package/dist/chunk-Q7UJ456X.js +24 -0
- package/dist/chunk-Q7UJ456X.js.map +1 -0
- package/dist/chunk-SVCF6X5K.js +22 -0
- package/dist/chunk-SVCF6X5K.js.map +1 -0
- package/dist/cli.js +58 -837
- package/dist/cli.js.map +1 -1
- package/dist/download-NS56QNEI.js +49 -0
- package/dist/download-NS56QNEI.js.map +1 -0
- package/dist/downloadFromPlatform-6ZUZTZAX.js +11 -0
- package/dist/downloadFromPlatform-6ZUZTZAX.js.map +1 -0
- package/dist/extract-7YVZJT6N.js +116 -0
- package/dist/extract-7YVZJT6N.js.map +1 -0
- package/dist/generateApi-TMEDGY2V.js +272 -0
- package/dist/generateApi-TMEDGY2V.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +11 -5
- package/dist/initConfig-DHDY6MWT.js +36 -0
- package/dist/initConfig-DHDY6MWT.js.map +1 -0
- package/dist/interactive-HNOHT33A.js +43 -0
- package/dist/interactive-HNOHT33A.js.map +1 -0
- package/dist/namespace-IDUS7AMO.js +137 -0
- package/dist/namespace-IDUS7AMO.js.map +1 -0
- package/dist/upload-WCPUDBKZ.js +92 -0
- package/dist/upload-WCPUDBKZ.js.map +1 -0
- package/package.json +1 -1
- package/dist/chunk-B2TLAH5N.js +0 -491
- package/dist/chunk-B2TLAH5N.js.map +0 -1
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createLogger,
|
|
3
|
+
homeConfigDir
|
|
4
|
+
} from "./chunk-UGSBKD2I.js";
|
|
5
|
+
|
|
6
|
+
// src/shared/google/auth.ts
|
|
7
|
+
import fs from "fs-extra";
|
|
8
|
+
import { google } from "googleapis";
|
|
9
|
+
|
|
10
|
+
// src/shared/google/shared.ts
|
|
11
|
+
import connect from "connect";
|
|
12
|
+
import open, { apps } from "open";
|
|
13
|
+
import { URL } from "url";
|
|
14
|
+
var log = createLogger("google:shared");
|
|
15
|
+
function openBrowser(url) {
|
|
16
|
+
log.info(`\u5982\u672A\u81EA\u52A8\u6253\u5F00\u6D4F\u89C8\u5668\uFF0C\u53EF\u8BBF\u95EE\u4EE5\u4E0B\u5730\u5740\uFF1A${url}`);
|
|
17
|
+
open(url, { app: { name: apps.chrome } });
|
|
18
|
+
}
|
|
19
|
+
function openAndWaitReturnQuery(toOpenUrl, port, queryKey) {
|
|
20
|
+
return new Promise((resolve) => {
|
|
21
|
+
openBrowser(toOpenUrl);
|
|
22
|
+
const app = connect();
|
|
23
|
+
app.use((req, res, next) => {
|
|
24
|
+
const parsedUrl = new URL(req.url, `http://localhost:${port}`);
|
|
25
|
+
const target = parsedUrl.searchParams.get(queryKey);
|
|
26
|
+
if (target) {
|
|
27
|
+
res.writeHead(200, {
|
|
28
|
+
"content-type": "text/html;charset=utf8"
|
|
29
|
+
});
|
|
30
|
+
res.end(
|
|
31
|
+
`<div>\u5F53\u524D\u7A97\u53E3\u53EF\u76F4\u63A5\u5173\u95ED</div>
|
|
32
|
+
<script>
|
|
33
|
+
window.open("", "_self", "");
|
|
34
|
+
window.close();
|
|
35
|
+
</script>`
|
|
36
|
+
);
|
|
37
|
+
server.close();
|
|
38
|
+
server.unref();
|
|
39
|
+
resolve(target);
|
|
40
|
+
}
|
|
41
|
+
next();
|
|
42
|
+
});
|
|
43
|
+
const server = app.listen(port);
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// src/shared/google/auth.ts
|
|
48
|
+
var log2 = createLogger("google:auth");
|
|
49
|
+
var GoogleAuth = class {
|
|
50
|
+
constructor(options) {
|
|
51
|
+
this.options = options;
|
|
52
|
+
this.tokens = null;
|
|
53
|
+
this.tokensCachePath = homeConfigDir("chromeAuthToken.json");
|
|
54
|
+
this.oauth2Client = new google.auth.OAuth2(
|
|
55
|
+
this.options.client_id,
|
|
56
|
+
this.options.client_secret,
|
|
57
|
+
"http://localhost:12345"
|
|
58
|
+
);
|
|
59
|
+
this.initCredentialsPromise = null;
|
|
60
|
+
this.options.scope = this.options.scope ?? ["spreadsheets"];
|
|
61
|
+
const scopePrefix = `https://www.googleapis.com/auth/`;
|
|
62
|
+
this.scope = this.options.scope.map((item) => {
|
|
63
|
+
if (item.startsWith(scopePrefix)) {
|
|
64
|
+
return item;
|
|
65
|
+
}
|
|
66
|
+
return `${scopePrefix}${item}`;
|
|
67
|
+
});
|
|
68
|
+
try {
|
|
69
|
+
this.tokens = fs.readJsonSync(this.tokensCachePath);
|
|
70
|
+
} catch (e) {
|
|
71
|
+
log2.info("\u672A\u83B7\u53D6\u5230\u7F13\u5B58\u7684 token");
|
|
72
|
+
this.tokens = null;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
async saveTokens(tokens) {
|
|
76
|
+
this.tokens = tokens;
|
|
77
|
+
await fs.writeJSON(this.tokensCachePath, tokens);
|
|
78
|
+
log2.info("\u4FDD\u5B58 token \u6210\u529F");
|
|
79
|
+
}
|
|
80
|
+
async getCode() {
|
|
81
|
+
log2.info("\u5C06\u6253\u5F00 chrome \u6D4F\u89C8\u5668\u8FDB\u884C\u6388\u6743");
|
|
82
|
+
const authUrl = this.oauth2Client.generateAuthUrl({
|
|
83
|
+
access_type: "offline",
|
|
84
|
+
scope: this.scope
|
|
85
|
+
});
|
|
86
|
+
return await openAndWaitReturnQuery(authUrl, 12345, "code");
|
|
87
|
+
}
|
|
88
|
+
async initCredentialsImpl() {
|
|
89
|
+
if (!this.tokens) {
|
|
90
|
+
const code = await this.getCode();
|
|
91
|
+
const { tokens } = await this.oauth2Client.getToken(code);
|
|
92
|
+
if (tokens.access_token) {
|
|
93
|
+
const res = await this.oauth2Client.getTokenInfo(tokens.access_token);
|
|
94
|
+
Object.assign(tokens, res);
|
|
95
|
+
}
|
|
96
|
+
await this.saveTokens(tokens);
|
|
97
|
+
}
|
|
98
|
+
this.oauth2Client.setCredentials(this.tokens);
|
|
99
|
+
}
|
|
100
|
+
async initCredentials() {
|
|
101
|
+
if (!this.initCredentialsPromise) {
|
|
102
|
+
this.initCredentialsPromise = this.initCredentialsImpl();
|
|
103
|
+
}
|
|
104
|
+
return await this.initCredentialsPromise;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* 清除 token
|
|
108
|
+
*/
|
|
109
|
+
async removeCredentials() {
|
|
110
|
+
if (this.tokens) {
|
|
111
|
+
await fs.remove(this.tokensCachePath);
|
|
112
|
+
}
|
|
113
|
+
this.tokens = null;
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
var clientSecret = {
|
|
117
|
+
client_id: "691639467478-gugsam9ukfg3m3ga70imecktvqgkqljc.apps.googleusercontent.com",
|
|
118
|
+
project_id: "dune-cli-423514",
|
|
119
|
+
auth_uri: "https://accounts.google.com/o/oauth2/auth",
|
|
120
|
+
token_uri: "https://oauth2.googleapis.com/token",
|
|
121
|
+
auth_provider_x509_cert_url: "https://www.googleapis.com/oauth2/v1/certs",
|
|
122
|
+
client_secret: "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",
|
|
123
|
+
redirect_uris: ["http://localhost"]
|
|
124
|
+
};
|
|
125
|
+
var googleAuth = new GoogleAuth(clientSecret);
|
|
126
|
+
|
|
127
|
+
export {
|
|
128
|
+
googleAuth
|
|
129
|
+
};
|
|
130
|
+
//# sourceMappingURL=chunk-KNC7XY4Z.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/shared/google/auth.ts","../src/shared/google/shared.ts"],"sourcesContent":["import fs from \"fs-extra\";\nimport { OAuth2Client } from \"google-auth-library\";\nimport type {\n GetTokenResponse,\n TokenInfo,\n} from \"google-auth-library/build/src/auth/oauth2client\";\nimport { google } from \"googleapis\";\nimport { createLogger, homeConfigDir } from \"../index\";\nimport { openAndWaitReturnQuery } from \"./shared\";\n\ninterface AuthOptions {\n client_id: string;\n client_secret: string;\n /**\n * @default ['spreadsheets']\n */\n scope?: string[];\n}\n\nconst log = createLogger(\"google:auth\");\n\nclass GoogleAuth {\n tokens: (GetTokenResponse & TokenInfo) | null = null;\n\n private tokensCachePath = homeConfigDir(\"chromeAuthToken.json\");\n\n private readonly scope: string[];\n\n oauth2Client: OAuth2Client = new google.auth.OAuth2(\n this.options.client_id,\n this.options.client_secret,\n \"http://localhost:12345\",\n );\n\n constructor(private options: AuthOptions) {\n this.options.scope = this.options.scope ?? [\"spreadsheets\"];\n const scopePrefix = `https://www.googleapis.com/auth/`;\n this.scope = this.options.scope.map((item) => {\n if (item.startsWith(scopePrefix)) {\n return item;\n }\n return `${scopePrefix}${item}`;\n });\n\n try {\n this.tokens = fs.readJsonSync(this.tokensCachePath);\n } catch (e) {\n log.info(\"未获取到缓存的 token\");\n this.tokens = null;\n }\n }\n\n private async saveTokens(tokens: any): Promise<void> {\n this.tokens = tokens;\n await fs.writeJSON(this.tokensCachePath, tokens);\n log.info(\"保存 token 成功\");\n }\n\n async getCode(): Promise<string> {\n log.info(\"将打开 chrome 浏览器进行授权\");\n const authUrl = this.oauth2Client.generateAuthUrl({\n access_type: \"offline\",\n scope: this.scope,\n });\n return await openAndWaitReturnQuery(authUrl, 12345, \"code\");\n }\n\n private async initCredentialsImpl(): Promise<void> {\n if (!this.tokens) {\n const code = await this.getCode();\n const { tokens } = await this.oauth2Client.getToken(code);\n if (tokens.access_token) {\n const res = await this.oauth2Client.getTokenInfo(tokens.access_token);\n Object.assign(tokens, res);\n }\n await this.saveTokens(tokens);\n }\n this.oauth2Client.setCredentials(this.tokens!);\n }\n private initCredentialsPromise: Promise<void> | null = null;\n async initCredentials() {\n if (!this.initCredentialsPromise) {\n this.initCredentialsPromise = this.initCredentialsImpl();\n }\n return await this.initCredentialsPromise;\n }\n\n /**\n * 清除 token\n */\n async removeCredentials() {\n if (this.tokens) {\n await fs.remove(this.tokensCachePath);\n }\n this.tokens = null;\n }\n}\n\n// see in https://console.cloud.google.com/apis/credentials?organizationId=286245507762&orgonly=true&project=dune-cli&supportedpurview=organizationId\nconst clientSecret = {\n client_id:\n \"691639467478-gugsam9ukfg3m3ga70imecktvqgkqljc.apps.googleusercontent.com\",\n project_id: \"dune-cli-423514\",\n auth_uri: \"https://accounts.google.com/o/oauth2/auth\",\n token_uri: \"https://oauth2.googleapis.com/token\",\n auth_provider_x509_cert_url: \"https://www.googleapis.com/oauth2/v1/certs\",\n client_secret: \"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\",\n redirect_uris: [\"http://localhost\"],\n};\n\nexport const googleAuth = new GoogleAuth(clientSecret);\n","import connect from \"connect\";\nimport open, { apps } from \"open\";\nimport { URL } from \"url\";\nimport { createLogger } from \"../index\";\n\nconst log = createLogger(\"google:shared\");\n\nfunction openBrowser(url: string) {\n log.info(`如未自动打开浏览器,可访问以下地址:${url}`);\n open(url, { app: { name: apps.chrome } });\n}\n\nexport function openAndWaitReturnQuery(\n toOpenUrl: string,\n port: number,\n queryKey: string,\n) {\n return new Promise<string>((resolve) => {\n openBrowser(toOpenUrl);\n\n const app = connect();\n app.use((req, res, next) => {\n const parsedUrl = new URL(req.url, `http://localhost:${port}`);\n const target = parsedUrl.searchParams.get(queryKey);\n if (target) {\n res.writeHead(200, {\n \"content-type\": \"text/html;charset=utf8\",\n });\n res.end(\n `<div>当前窗口可直接关闭</div>\n <script>\n window.open(\"\", \"_self\", \"\");\n window.close();\n </script>`,\n );\n server.close();\n server.unref();\n resolve(target);\n }\n next();\n });\n\n const server = app.listen(port);\n });\n}\n"],"mappings":"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","names":["log"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createLogger
|
|
3
|
+
} from "./chunk-UGSBKD2I.js";
|
|
4
|
+
|
|
5
|
+
// src/shared/formatFile.ts
|
|
6
|
+
import * as child_process from "child_process";
|
|
7
|
+
var log = createLogger("formatFile");
|
|
8
|
+
function formatFile(filename) {
|
|
9
|
+
log.info(`\u5C1D\u8BD5\u683C\u5F0F\u5316\u4EE3\u7801: %s`, filename);
|
|
10
|
+
child_process.exec(`prettier --write '${filename}'`, (error) => {
|
|
11
|
+
if (error) {
|
|
12
|
+
log.error(`\u683C\u5F0F\u5316\u4EE3\u7801\u5931\u8D25: ${error}`);
|
|
13
|
+
log.error(`\u8BF7\u624B\u52A8\u6267\u884C: prettier --write ${filename}`);
|
|
14
|
+
log.error(`\u6216\u8005\u5728\u914D\u7F6E\u6587\u4EF6\u4E2D\u5173\u95ED\u683C\u5F0F\u5316\u529F\u80FD`);
|
|
15
|
+
} else {
|
|
16
|
+
log.info(`\u683C\u5F0F\u5316\u4EE3\u7801\u6210\u529F: %s`, filename);
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export {
|
|
22
|
+
formatFile
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=chunk-Q7UJ456X.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/shared/formatFile.ts"],"sourcesContent":["import { createLogger } from \".\";\nimport * as child_process from \"child_process\";\n\nconst log = createLogger(\"formatFile\");\n\nexport function formatFile(filename: string) {\n // 格式化代码\n log.info(`尝试格式化代码: %s`, filename);\n child_process.exec(`prettier --write '${filename}'`, (error) => {\n if (error) {\n log.error(`格式化代码失败: ${error}`);\n log.error(`请手动执行: prettier --write ${filename}`);\n log.error(`或者在配置文件中关闭格式化功能`);\n } else {\n log.info(`格式化代码成功: %s`, filename);\n }\n });\n}\n"],"mappings":";;;;;AACA,YAAY,mBAAmB;AAE/B,IAAM,MAAM,aAAa,YAAY;AAE9B,SAAS,WAAW,UAAkB;AAE3C,MAAI,KAAK,kDAAe,QAAQ;AAChC,EAAc,mBAAK,qBAAqB,QAAQ,KAAK,CAAC,UAAU;AAC9D,QAAI,OAAO;AACT,UAAI,MAAM,+CAAY,KAAK,EAAE;AAC7B,UAAI,MAAM,oDAA2B,QAAQ,EAAE;AAC/C,UAAI,MAAM,4FAAiB;AAAA,IAC7B,OAAO;AACL,UAAI,KAAK,kDAAe,QAAQ;AAAA,IAClC;AAAA,EACF,CAAC;AACH;","names":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import {
|
|
2
|
+
normalizeConfig
|
|
3
|
+
} from "./chunk-4BXCANQI.js";
|
|
4
|
+
|
|
5
|
+
// src/shared/config/index.ts
|
|
6
|
+
import JoyCon from "joycon";
|
|
7
|
+
var joycon = new JoyCon();
|
|
8
|
+
function defineConfig(c) {
|
|
9
|
+
return c;
|
|
10
|
+
}
|
|
11
|
+
var configName = "dune.config.js";
|
|
12
|
+
async function getConfig() {
|
|
13
|
+
const res = await joycon.load([configName]);
|
|
14
|
+
return normalizeConfig(res.data ?? {});
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export {
|
|
18
|
+
defineConfig,
|
|
19
|
+
configName,
|
|
20
|
+
getConfig
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=chunk-SVCF6X5K.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/shared/config/index.ts"],"sourcesContent":["import JoyCon from \"joycon\";\nimport { Config } from \"./types\";\nimport { normalizeConfig } from \"./normalizeConfig\";\n\nexport * from \"./types\";\n\nconst joycon = new JoyCon();\n\nexport function defineConfig<T extends Config = Config>(c: T) {\n return c;\n}\n\nexport const configName = \"dune.config.js\";\n\nexport async function getConfig(): Promise<Config> {\n const res = await joycon.load([configName]);\n return normalizeConfig(res.data ?? {});\n}\n"],"mappings":";;;;;AAAA,OAAO,YAAY;AAMnB,IAAM,SAAS,IAAI,OAAO;AAEnB,SAAS,aAAwC,GAAM;AAC5D,SAAO;AACT;AAEO,IAAM,aAAa;AAE1B,eAAsB,YAA6B;AACjD,QAAM,MAAM,MAAM,OAAO,KAAK,CAAC,UAAU,CAAC;AAC1C,SAAO,gBAAgB,IAAI,QAAQ,CAAC,CAAC;AACvC;","names":[]}
|