@speedkit/cli 2.9.0 → 2.11.0
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/CHANGELOG.md +21 -0
- package/README.md +44 -63
- package/dist/commands/build-parameter-query.d.ts +4 -4
- package/dist/commands/build-parameter-query.js +38 -38
- package/dist/commands/build-prewarm-query.d.ts +4 -4
- package/dist/commands/build-prewarm-query.js +33 -34
- package/dist/commands/deploy.d.ts +4 -4
- package/dist/commands/deploy.js +14 -15
- package/dist/commands/find-pops.js +4 -4
- package/dist/commands/generate-pop-config.js +3 -3
- package/dist/commands/login.js +1 -1
- package/dist/commands/pop-prewarm.js +3 -3
- package/dist/commands/prewarm.js +4 -4
- package/dist/commands/wpt-launcher.js +2 -2
- package/dist/helpers/cli-config.d.ts +8 -7
- package/dist/helpers/cli-config.js +50 -44
- package/dist/models/cli-parameters.js +2 -2
- package/dist/services/cli/cli-service.d.ts +4 -4
- package/dist/services/config-api/client.js +1 -1
- package/dist/services/config-api-service.js +1 -1
- package/dist/services/deploy/context/deploy-context.d.ts +1 -4
- package/dist/services/deploy/context/deploy-context.js +6 -7
- package/dist/services/deploy/deploy-service-factory.d.ts +4 -5
- package/dist/services/deploy/deploy-service-factory.js +19 -18
- package/dist/services/integration-api/handler/customer-config-handler.d.ts +3 -3
- package/dist/services/integration-api/handler/customer-config-handler.js +21 -15
- package/dist/services/integration-api/struct/customer-config-file.d.ts +4 -3
- package/dist/services/integration-api/struct/customer-config-file.js +8 -6
- package/dist/services/onboarding/browser/abort-response.js +1 -1
- package/dist/services/onboarding/browser/baqend-response.d.ts +4 -4
- package/dist/services/onboarding/browser/baqend-response.js +33 -25
- package/dist/services/onboarding/browser/origin-response.d.ts +1 -1
- package/dist/services/onboarding/browser/origin-response.js +2 -3
- package/dist/services/onboarding/config-renderer/speed-kit-install-context.d.ts +4 -4
- package/dist/services/onboarding/config-renderer/speed-kit-install-context.js +44 -32
- package/dist/services/onboarding/dashboard/athena-service.d.ts +2 -2
- package/dist/services/onboarding/dashboard/athena-service.js +28 -23
- package/dist/services/onboarding/dashboard/index.d.ts +3 -3
- package/dist/services/onboarding/dashboard/index.js +48 -36
- package/dist/services/onboarding/dashboard/param-query-builder.d.ts +2 -2
- package/dist/services/onboarding/dashboard/param-query-builder.js +2 -2
- package/dist/services/onboarding/dashboard/request-diff-service.d.ts +1 -1
- package/dist/services/onboarding/dashboard/request-diff-service.js +32 -28
- package/dist/services/onboarding/fetch-event-handler.d.ts +6 -6
- package/dist/services/onboarding/fetch-event-handler.js +72 -62
- package/dist/services/onboarding/fetch-events/customer-domain-document-response.d.ts +8 -8
- package/dist/services/onboarding/fetch-events/customer-domain-document-response.js +51 -49
- package/dist/services/onboarding/fetch-events/customer-service-worker-js.d.ts +3 -3
- package/dist/services/onboarding/fetch-events/customer-service-worker-js.js +6 -6
- package/dist/services/onboarding/fetch-events/dashboard-request.d.ts +2 -2
- package/dist/services/onboarding/fetch-events/dashboard-request.js +3 -3
- package/dist/services/onboarding/fetch-events/speed-kit-asset-request.d.ts +7 -7
- package/dist/services/onboarding/fetch-events/speed-kit-asset-request.js +76 -59
- package/dist/services/onboarding/fetch-events/speed-kit-install-html.d.ts +3 -3
- package/dist/services/onboarding/fetch-events/speed-kit-install-html.js +14 -14
- package/dist/services/onboarding/fetch-events/speed-kit-install-js.d.ts +6 -6
- package/dist/services/onboarding/fetch-events/speed-kit-install-js.js +12 -10
- package/dist/services/onboarding/fetch-events/speed-kit-rum-pi-request.d.ts +7 -7
- package/dist/services/onboarding/fetch-events/speed-kit-rum-pi-request.js +3 -3
- package/dist/services/onboarding/fetch-events/speed-kit-service-worker-js.d.ts +4 -4
- package/dist/services/onboarding/fetch-events/speed-kit-service-worker-js.js +6 -4
- package/dist/services/onboarding/file-events/{fileWatcher.d.ts → file-watcher.d.ts} +9 -8
- package/dist/services/onboarding/file-events/{fileWatcher.js → file-watcher.js} +74 -56
- package/dist/services/onboarding/index.d.ts +3 -3
- package/dist/services/onboarding/onboarding-model.d.ts +36 -34
- package/dist/services/onboarding/onboarding-model.js +19 -19
- package/dist/services/onboarding/onboarding-service-factory.d.ts +6 -6
- package/dist/services/onboarding/onboarding-service-factory.js +80 -75
- package/dist/services/onboarding/onboarding-service.d.ts +7 -7
- package/dist/services/onboarding/onboarding-service.js +54 -48
- package/dist/services/onboarding/request-cache/cache.d.ts +3 -3
- package/dist/services/onboarding/request-cache/cache.js +7 -7
- package/dist/services/onboarding/server-config/index.js +2 -2
- package/dist/services/onboarding/todo-collector.d.ts +1 -1
- package/dist/services/onboarding/todo-collector.js +8 -6
- package/dist/services/prewarm-service.js +2 -2
- package/oclif.manifest.json +9 -9
- package/package.json +24 -23
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.OnboardingService = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const puppeteer_extra_1 = tslib_1.__importDefault(require("puppeteer-extra"));
|
|
6
5
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
7
|
-
const
|
|
6
|
+
const puppeteer_extra_1 = tslib_1.__importDefault(require("puppeteer-extra"));
|
|
8
7
|
const safe_1 = require("../../helpers/safe");
|
|
8
|
+
const cli_1 = require("../cli");
|
|
9
9
|
/**
|
|
10
10
|
* Represents the OnboardingService which is responsible for setting up the browser to test a config using Puppeteer.
|
|
11
11
|
*/
|
|
@@ -29,58 +29,52 @@ class OnboardingService {
|
|
|
29
29
|
* prepare puppeteerBrowser, add eventListeners and start
|
|
30
30
|
*/
|
|
31
31
|
async run() {
|
|
32
|
-
this.cli.startAction(
|
|
32
|
+
this.cli.startAction("prepare browser");
|
|
33
33
|
const browser = await this.prepareBrowser();
|
|
34
34
|
const page = await this.preparePage(browser);
|
|
35
35
|
this.cli.endAction(cli_1.CliActionStatus.COMPLETED);
|
|
36
36
|
if (this.browserContext.startParameterDashboard) {
|
|
37
|
-
|
|
37
|
+
// eslint-disable-next-line unicorn/no-await-expression-member
|
|
38
|
+
await (await browser.newPage()).goto("http://skonboarding.local/");
|
|
38
39
|
}
|
|
39
40
|
await this.navigate(page, `${this.customerConfig.scope}speed-kit-install.html?url=${this.customerConfig.scope}`);
|
|
40
41
|
}
|
|
42
|
+
async findPage(browser) {
|
|
43
|
+
if (!browser)
|
|
44
|
+
throw new Error("Please start a browser first.");
|
|
45
|
+
const [page] = await browser.pages();
|
|
46
|
+
if (page) {
|
|
47
|
+
return page;
|
|
48
|
+
}
|
|
49
|
+
return browser.newPage();
|
|
50
|
+
}
|
|
51
|
+
async navigate(page, pathname) {
|
|
52
|
+
const goto = new URL(pathname, `${this.browserContext.domain}`);
|
|
53
|
+
await page.goto(goto.toString());
|
|
54
|
+
await page.bringToFront();
|
|
55
|
+
}
|
|
41
56
|
async prepareBrowser() {
|
|
42
57
|
const browser = await puppeteer_extra_1.default.launch({
|
|
43
|
-
|
|
58
|
+
args: this.browserContext.browserArgs,
|
|
44
59
|
defaultViewport: null,
|
|
45
|
-
|
|
60
|
+
devtools: true,
|
|
46
61
|
executablePath: this.browserContext.chromePath,
|
|
47
|
-
|
|
62
|
+
headless: false /* ignoreDefaultArgs: true, */,
|
|
48
63
|
});
|
|
49
64
|
for (const target of browser.targets()) {
|
|
50
|
-
if (target.type() ===
|
|
65
|
+
if (target.type() === "browser") {
|
|
51
66
|
await this.fetchEventHandler.handleRequestFetchEvents(target);
|
|
52
67
|
}
|
|
53
68
|
}
|
|
54
|
-
browser.on(
|
|
55
|
-
this.cli.writeError(
|
|
69
|
+
browser.on("disconnected", () => {
|
|
70
|
+
this.cli.writeError("Browser disconnected, shutting down");
|
|
56
71
|
process.exit(-1);
|
|
57
72
|
});
|
|
58
73
|
return browser;
|
|
59
74
|
}
|
|
60
|
-
async preparePage(browser) {
|
|
61
|
-
const page = await this.findPage(browser);
|
|
62
|
-
await this.prepareCleanState(page);
|
|
63
|
-
this.registerFileWatcher(page);
|
|
64
|
-
this.registerReinstallSpeedKitOnNavigate(page);
|
|
65
|
-
// inject open Todos from configFiles
|
|
66
|
-
page.on('framenavigated', async (frame) => {
|
|
67
|
-
const tasks = this.taskCollector.getOpenTasks();
|
|
68
|
-
await (0, safe_1.safe)(page.evaluate(`window.skOnboarding = ${JSON.stringify(tasks)}`));
|
|
69
|
-
});
|
|
70
|
-
return page;
|
|
71
|
-
}
|
|
72
|
-
async findPage(browser) {
|
|
73
|
-
if (!browser)
|
|
74
|
-
throw new Error('Please start a browser first.');
|
|
75
|
-
const [page] = await browser.pages();
|
|
76
|
-
if (page) {
|
|
77
|
-
return page;
|
|
78
|
-
}
|
|
79
|
-
return browser.newPage();
|
|
80
|
-
}
|
|
81
75
|
async prepareCleanState(page) {
|
|
82
76
|
const pageClient = await page.target().createCDPSession();
|
|
83
|
-
pageClient.on(
|
|
77
|
+
pageClient.on("ServiceWorker.workerRegistrationUpdated", ({ registrations, }) => {
|
|
84
78
|
for (const registration of registrations) {
|
|
85
79
|
if (registration.isDeleted) {
|
|
86
80
|
this.cli.writeWarning((0, chalk_1.default) `{yellow Unregistered Service Worker} at {bold ${registration.scopeURL}} (${registration.registrationId})`);
|
|
@@ -89,21 +83,29 @@ class OnboardingService {
|
|
|
89
83
|
});
|
|
90
84
|
// cleanUp old serviceWorkers
|
|
91
85
|
await pageClient.send("ServiceWorker.enable");
|
|
92
|
-
await pageClient.send("ServiceWorker.unregister", {
|
|
86
|
+
await pageClient.send("ServiceWorker.unregister", {
|
|
87
|
+
scopeURL: this.browserContext.domain,
|
|
88
|
+
});
|
|
93
89
|
// clear storage for a clean start
|
|
94
|
-
await pageClient.send(
|
|
95
|
-
await pageClient.send("Storage.clearDataForOrigin", {
|
|
90
|
+
await pageClient.send("Storage.clearCookies");
|
|
91
|
+
await pageClient.send("Storage.clearDataForOrigin", {
|
|
92
|
+
origin: this.browserContext.domain,
|
|
93
|
+
storageTypes: "all",
|
|
94
|
+
});
|
|
96
95
|
await pageClient.send("Emulation.clearDeviceMetricsOverride");
|
|
97
96
|
await pageClient.send("Emulation.clearGeolocationOverride");
|
|
98
97
|
}
|
|
99
|
-
async
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
98
|
+
async preparePage(browser) {
|
|
99
|
+
const page = await this.findPage(browser);
|
|
100
|
+
await this.prepareCleanState(page);
|
|
101
|
+
this.registerFileWatcher(page);
|
|
102
|
+
this.registerReinstallSpeedKitOnNavigate(page);
|
|
103
|
+
// inject open Todos from configFiles
|
|
104
|
+
page.on("framenavigated", async (_frame) => {
|
|
105
|
+
const tasks = this.taskCollector.getOpenTasks();
|
|
106
|
+
await (0, safe_1.safe)(page.evaluate(`window.skOnboarding = ${JSON.stringify(tasks)}`));
|
|
107
|
+
});
|
|
108
|
+
return page;
|
|
107
109
|
}
|
|
108
110
|
registerFileWatcher(page) {
|
|
109
111
|
this.fileWatcher.addCallbackOnFileChange(page, async () => {
|
|
@@ -111,7 +113,7 @@ class OnboardingService {
|
|
|
111
113
|
});
|
|
112
114
|
}
|
|
113
115
|
registerReinstallSpeedKitOnNavigate(page) {
|
|
114
|
-
page.on(
|
|
116
|
+
page.on("framenavigated", async (frame) => {
|
|
115
117
|
if (frame.parentFrame() !== null) {
|
|
116
118
|
return;
|
|
117
119
|
}
|
|
@@ -121,10 +123,14 @@ class OnboardingService {
|
|
|
121
123
|
}
|
|
122
124
|
});
|
|
123
125
|
}
|
|
124
|
-
async
|
|
125
|
-
const
|
|
126
|
-
|
|
127
|
-
|
|
126
|
+
async reinstallSpeedKit(page, pathname) {
|
|
127
|
+
const url = new URL(page.url());
|
|
128
|
+
let target = url.href;
|
|
129
|
+
if (!pathname.includes("/speed-kit-install.html")) {
|
|
130
|
+
target = `${this.customerConfig.scope}speed-kit-install.html?url=${encodeURIComponent(target)}`;
|
|
131
|
+
}
|
|
132
|
+
this.reinstallOnNextNavigate = false;
|
|
133
|
+
await this.navigate(page, target);
|
|
128
134
|
}
|
|
129
135
|
}
|
|
130
136
|
exports.OnboardingService = OnboardingService;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { BaqendResponse } from "../browser/baqend-response";
|
|
2
1
|
import { CliService } from "../../cli";
|
|
2
|
+
import { BaqendResponse } from "../browser/baqend-response";
|
|
3
3
|
/**
|
|
4
4
|
* This class represents a cache for storing responses from the localDocumentHandler.
|
|
5
5
|
*/
|
|
@@ -7,9 +7,9 @@ export declare class Cache {
|
|
|
7
7
|
private cli;
|
|
8
8
|
private inMemoryCache;
|
|
9
9
|
constructor(cli: CliService);
|
|
10
|
+
addEntry(requestUri: string, response: BaqendResponse): void;
|
|
11
|
+
clear(): void;
|
|
10
12
|
getAll(): IterableIterator<[string, BaqendResponse]>;
|
|
11
13
|
getEntry(requestUri: string): BaqendResponse | void;
|
|
12
|
-
addEntry(requestUri: string, response: BaqendResponse): void;
|
|
13
14
|
removeEntry(requestUri: string): void;
|
|
14
|
-
clear(): void;
|
|
15
15
|
}
|
|
@@ -10,6 +10,13 @@ class Cache {
|
|
|
10
10
|
constructor(cli) {
|
|
11
11
|
this.cli = cli;
|
|
12
12
|
}
|
|
13
|
+
addEntry(requestUri, response) {
|
|
14
|
+
this.inMemoryCache.set(requestUri, response);
|
|
15
|
+
}
|
|
16
|
+
clear() {
|
|
17
|
+
this.cli.writeWarning("clear request-caches");
|
|
18
|
+
this.inMemoryCache.clear();
|
|
19
|
+
}
|
|
13
20
|
getAll() {
|
|
14
21
|
return this.inMemoryCache.entries();
|
|
15
22
|
}
|
|
@@ -18,15 +25,8 @@ class Cache {
|
|
|
18
25
|
return this.inMemoryCache.get(requestUri);
|
|
19
26
|
}
|
|
20
27
|
}
|
|
21
|
-
addEntry(requestUri, response) {
|
|
22
|
-
this.inMemoryCache.set(requestUri, response);
|
|
23
|
-
}
|
|
24
28
|
removeEntry(requestUri) {
|
|
25
29
|
this.inMemoryCache.delete(requestUri);
|
|
26
30
|
}
|
|
27
|
-
clear() {
|
|
28
|
-
this.cli.writeWarning('clear request-caches');
|
|
29
|
-
this.inMemoryCache.clear();
|
|
30
|
-
}
|
|
31
31
|
}
|
|
32
32
|
exports.Cache = Cache;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ServerConfig = void 0;
|
|
4
|
-
const cli_1 = require("../../cli");
|
|
5
4
|
const safe_1 = require("../../../helpers/safe");
|
|
5
|
+
const cli_1 = require("../../cli");
|
|
6
6
|
class ServerConfig {
|
|
7
7
|
cli;
|
|
8
8
|
client;
|
|
@@ -18,7 +18,7 @@ class ServerConfig {
|
|
|
18
18
|
return JSON.parse(serverConfig);
|
|
19
19
|
}
|
|
20
20
|
async getServerConfig() {
|
|
21
|
-
this.cli.startAction(
|
|
21
|
+
this.cli.startAction("wait for credentials from server-config");
|
|
22
22
|
const serverConfigResponse = await (0, safe_1.safe)(this.client.getServerConfig());
|
|
23
23
|
if (serverConfigResponse.success === false) {
|
|
24
24
|
this.cli.endAction(cli_1.CliActionStatus.FAILED);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { FileInterface } from "../integration-api/integration-api-model";
|
|
2
2
|
export type task = {
|
|
3
|
-
todo: string;
|
|
4
3
|
context: string;
|
|
5
4
|
file: string;
|
|
6
5
|
line: number;
|
|
6
|
+
todo: string;
|
|
7
7
|
};
|
|
8
8
|
/**
|
|
9
9
|
* Represents a TodoCollector class that collects open tasks from files.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TodoCollector = void 0;
|
|
4
4
|
const virtual_file_1 = require("../integration-api/struct/virtual-file");
|
|
5
|
-
const TODO_MATCH = /(todo[
|
|
5
|
+
const TODO_MATCH = /(todo[^\n\r()|]*)((?:(?:\r\n|\r|\n)[^\n\r()|]*){3})/i;
|
|
6
6
|
/**
|
|
7
7
|
* Represents a TodoCollector class that collects open tasks from files.
|
|
8
8
|
* This files will then be injected to the current open page, so you or the browser-extension can access and display them
|
|
@@ -13,7 +13,7 @@ class TodoCollector {
|
|
|
13
13
|
this.files = files;
|
|
14
14
|
}
|
|
15
15
|
getOpenTasks() {
|
|
16
|
-
const configFiles = this.files.filter(file => {
|
|
16
|
+
const configFiles = this.files.filter((file) => {
|
|
17
17
|
return !(file.type instanceof virtual_file_1.VirtualFile);
|
|
18
18
|
});
|
|
19
19
|
const tasks = [];
|
|
@@ -21,10 +21,10 @@ class TodoCollector {
|
|
|
21
21
|
const content = configFile.getContent();
|
|
22
22
|
content.replace(TODO_MATCH, (taskString, task, taskContext) => {
|
|
23
23
|
tasks.push({
|
|
24
|
-
todo: task,
|
|
25
24
|
context: encodeURI(taskContext),
|
|
26
25
|
file: configFile.name,
|
|
27
|
-
line: this.lineNumber(task, content)
|
|
26
|
+
line: this.lineNumber(task, content),
|
|
27
|
+
todo: task,
|
|
28
28
|
});
|
|
29
29
|
return taskString;
|
|
30
30
|
});
|
|
@@ -36,8 +36,10 @@ class TodoCollector {
|
|
|
36
36
|
}
|
|
37
37
|
lineNumberByIndex(index, string) {
|
|
38
38
|
// RegExp
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
let line = 0;
|
|
40
|
+
let match;
|
|
41
|
+
const re = /(^)[\S\s]/gm;
|
|
42
|
+
while ((match = re.exec(string))) {
|
|
41
43
|
if (match.index > index)
|
|
42
44
|
break;
|
|
43
45
|
line++;
|
|
@@ -23,7 +23,7 @@ class PrewarmService {
|
|
|
23
23
|
authorization: `BAT ${token}`,
|
|
24
24
|
'Accept-Encoding': 'gzip, deflate, br',
|
|
25
25
|
},
|
|
26
|
-
timeout:
|
|
26
|
+
timeout: 10_000,
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
29
|
// eslint-disable-next-line max-params
|
|
@@ -41,7 +41,7 @@ class PrewarmService {
|
|
|
41
41
|
authorization: `BAT ${token}`,
|
|
42
42
|
'Accept-Encoding': 'gzip, deflate, br',
|
|
43
43
|
},
|
|
44
|
-
timeout:
|
|
44
|
+
timeout: 10_000,
|
|
45
45
|
});
|
|
46
46
|
}
|
|
47
47
|
static chunk(arr, len) {
|
package/oclif.manifest.json
CHANGED
|
@@ -104,14 +104,6 @@
|
|
|
104
104
|
"multiple": false,
|
|
105
105
|
"type": "option"
|
|
106
106
|
},
|
|
107
|
-
"slackToken": {
|
|
108
|
-
"char": "t",
|
|
109
|
-
"description": "Slack hook found on 1Pass",
|
|
110
|
-
"name": "slackToken",
|
|
111
|
-
"hasDynamicHelp": false,
|
|
112
|
-
"multiple": false,
|
|
113
|
-
"type": "option"
|
|
114
|
-
},
|
|
115
107
|
"artifacts": {
|
|
116
108
|
"char": "a",
|
|
117
109
|
"description": "Whitelist of files to deploy",
|
|
@@ -126,6 +118,14 @@
|
|
|
126
118
|
"name": "dryRun",
|
|
127
119
|
"allowNo": false,
|
|
128
120
|
"type": "boolean"
|
|
121
|
+
},
|
|
122
|
+
"slackToken": {
|
|
123
|
+
"char": "t",
|
|
124
|
+
"description": "Slack hook found on 1Pass",
|
|
125
|
+
"name": "slackToken",
|
|
126
|
+
"hasDynamicHelp": false,
|
|
127
|
+
"multiple": false,
|
|
128
|
+
"type": "option"
|
|
129
129
|
}
|
|
130
130
|
},
|
|
131
131
|
"hasDynamicHelp": false,
|
|
@@ -696,5 +696,5 @@
|
|
|
696
696
|
]
|
|
697
697
|
}
|
|
698
698
|
},
|
|
699
|
-
"version": "2.
|
|
699
|
+
"version": "2.11.0"
|
|
700
700
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@speedkit/cli",
|
|
3
3
|
"description": "Speed Kit CLI",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.11.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Baqend.com",
|
|
7
7
|
"email": "info@baqend.com"
|
|
@@ -59,14 +59,14 @@
|
|
|
59
59
|
"types": "dist/index.d.ts",
|
|
60
60
|
"type": "commonjs",
|
|
61
61
|
"dependencies": {
|
|
62
|
-
"@aws-sdk/client-athena": "^3.
|
|
62
|
+
"@aws-sdk/client-athena": "^3.529",
|
|
63
63
|
"@inquirer/prompts": "^3.0",
|
|
64
|
-
"@oclif/core": "^3.
|
|
64
|
+
"@oclif/core": "^3.23",
|
|
65
65
|
"@oclif/plugin-autocomplete": "^3.0",
|
|
66
66
|
"@oclif/plugin-help": "^6.0",
|
|
67
67
|
"@oclif/plugin-not-found": "^3.0",
|
|
68
68
|
"@oclif/plugin-warn-if-update-available": "^3.0",
|
|
69
|
-
"axios": "^1.
|
|
69
|
+
"axios": "^1.6",
|
|
70
70
|
"baqend": "^3.4",
|
|
71
71
|
"chalk": "^4",
|
|
72
72
|
"clipboardy-cjs": "^3.0.0",
|
|
@@ -75,23 +75,21 @@
|
|
|
75
75
|
"diff": "^5.1.0",
|
|
76
76
|
"dom-serializer": "2.0.0",
|
|
77
77
|
"domhandler": "5.0.3",
|
|
78
|
-
"domutils": "3.
|
|
79
|
-
"dotenv": "^16.
|
|
78
|
+
"domutils": "^3.1",
|
|
79
|
+
"dotenv": "^16.4",
|
|
80
80
|
"extract-zip": "^2.0.1",
|
|
81
81
|
"fs-extra": "^10.1.0",
|
|
82
82
|
"handlebars": "^4.7",
|
|
83
83
|
"htmlparser2": "8.0",
|
|
84
84
|
"json2csv": "^6.0.0-alpha.2",
|
|
85
|
-
"nock": "^13.3.8",
|
|
86
85
|
"node-fetch": "^2.6",
|
|
87
86
|
"parse5": "7.1",
|
|
88
87
|
"parse5-htmlparser2-tree-adapter": "7.0.0",
|
|
89
|
-
"puppeteer": "^21.
|
|
90
|
-
"puppeteer-core": "^
|
|
88
|
+
"puppeteer": "^21.11",
|
|
89
|
+
"puppeteer-core": "^22.4",
|
|
91
90
|
"puppeteer-extra": "^3.3",
|
|
92
91
|
"puppeteer-extra-plugin-user-preferences": "^2.4",
|
|
93
92
|
"strip-comments": "^2.0.1",
|
|
94
|
-
"ts-sinon": "^2.0.2",
|
|
95
93
|
"uuid": "^8.3.2"
|
|
96
94
|
},
|
|
97
95
|
"devDependencies": {
|
|
@@ -102,31 +100,34 @@
|
|
|
102
100
|
"@oclif/test": "^3",
|
|
103
101
|
"@types/chai": "^4.3.10",
|
|
104
102
|
"@types/fs-extra": "^9.0.13",
|
|
105
|
-
"@types/mocha": "^10.0
|
|
103
|
+
"@types/mocha": "^10.0",
|
|
106
104
|
"@types/mock-fs": "^4.13.4",
|
|
107
|
-
"@types/node": "^18.
|
|
105
|
+
"@types/node": "^18.19",
|
|
108
106
|
"@types/uuid": "^8.3.4",
|
|
109
|
-
"
|
|
107
|
+
"@typescript-eslint/eslint-plugin": "^7.2.0",
|
|
108
|
+
"chai": "^4.4",
|
|
110
109
|
"copyfiles": "^2.4.1",
|
|
111
|
-
"esbuild": "^0.
|
|
112
|
-
"eslint": "^8.
|
|
113
|
-
"eslint-config-oclif": "^5.
|
|
114
|
-
"eslint-config-oclif-typescript": "^3.
|
|
115
|
-
"eslint-config-prettier": "^9.
|
|
116
|
-
"eslint-plugin-prettier": "^5.
|
|
110
|
+
"esbuild": "^0.20",
|
|
111
|
+
"eslint": "^8.57",
|
|
112
|
+
"eslint-config-oclif": "^5.1",
|
|
113
|
+
"eslint-config-oclif-typescript": "^3.1",
|
|
114
|
+
"eslint-config-prettier": "^9.1",
|
|
115
|
+
"eslint-plugin-prettier": "^5.1",
|
|
117
116
|
"globby": "^11",
|
|
118
117
|
"husky": "^8.0.3",
|
|
119
118
|
"lint-staged": "^14.0.1",
|
|
120
119
|
"mocha": "^10.1.0",
|
|
121
120
|
"mocha-junit-reporter": "^2.2.1",
|
|
122
121
|
"mock-fs": "^5.2.0",
|
|
122
|
+
"nock": "^13.5",
|
|
123
123
|
"nyc": "^15.1.0",
|
|
124
|
-
"oclif": "^4.
|
|
124
|
+
"oclif": "^4.5",
|
|
125
125
|
"shx": "^0.3.4",
|
|
126
126
|
"ts-mocha": "^10.0.0",
|
|
127
|
-
"ts-node": "^10.9
|
|
128
|
-
"
|
|
129
|
-
"
|
|
127
|
+
"ts-node": "^10.9",
|
|
128
|
+
"ts-sinon": "^2.0.2",
|
|
129
|
+
"tslib": "^2.6",
|
|
130
|
+
"typescript": "^5.4",
|
|
130
131
|
"typescript-json-serializer": "^4.3.0"
|
|
131
132
|
},
|
|
132
133
|
"lint-staged": {
|