@intuned/runtime 1.3.16 → 1.3.18-interface.6
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/bin/intuned +0 -0
- package/bin/intuned-interface +7 -0
- package/dist/chunk-6ZRJOUQS.mjs +16 -0
- package/dist/chunk-6ZRJOUQS.mjs.map +1 -0
- package/dist/chunk-7YL2JUTE.mjs +146 -0
- package/dist/chunk-7YL2JUTE.mjs.map +1 -0
- package/dist/chunk-B3T6RXPC.mjs +794 -0
- package/dist/chunk-B3T6RXPC.mjs.map +1 -0
- package/dist/chunk-FGV5T6SI.mjs +27 -0
- package/dist/chunk-FGV5T6SI.mjs.map +1 -0
- package/dist/chunk-G4PO5RIV.mjs +85 -0
- package/dist/chunk-G4PO5RIV.mjs.map +1 -0
- package/dist/chunk-LZOMFHX3.mjs +38 -0
- package/dist/chunk-LZOMFHX3.mjs.map +1 -0
- package/dist/{common/formatZodError.js → chunk-NDMVGENG.mjs} +9 -9
- package/dist/chunk-NDMVGENG.mjs.map +1 -0
- package/dist/chunk-W4UX6G4X.mjs +17 -0
- package/dist/chunk-W4UX6G4X.mjs.map +1 -0
- package/dist/chunk-XC75QGFG.mjs +1106 -0
- package/dist/chunk-XC75QGFG.mjs.map +1 -0
- package/dist/chunk-XOAZ2MGA.mjs +59 -0
- package/dist/chunk-XOAZ2MGA.mjs.map +1 -0
- package/dist/commands/interface/run.d.mts +3 -0
- package/dist/commands/interface/run.d.ts +3 -1
- package/dist/commands/interface/run.js +2060 -178
- package/dist/commands/interface/run.js.map +1 -0
- package/dist/commands/interface/run.mjs +255 -0
- package/dist/commands/interface/run.mjs.map +1 -0
- package/dist/common/asyncLocalStorage/index.d.mts +17 -0
- package/dist/common/asyncLocalStorage/index.d.ts +9 -8
- package/dist/common/asyncLocalStorage/index.js +34 -9
- package/dist/common/asyncLocalStorage/index.js.map +1 -0
- package/dist/common/asyncLocalStorage/index.mjs +12 -0
- package/dist/common/asyncLocalStorage/index.mjs.map +1 -0
- package/dist/common/binStartupScript.d.mts +2 -0
- package/dist/common/binStartupScript.d.ts +2 -1
- package/dist/common/binStartupScript.js +127 -11
- package/dist/common/binStartupScript.js.map +1 -0
- package/dist/common/binStartupScript.mjs +135 -0
- package/dist/common/binStartupScript.mjs.map +1 -0
- package/dist/common/cleanEnvironmentVariables.d.mts +3 -0
- package/dist/common/cleanEnvironmentVariables.d.ts +3 -1
- package/dist/common/cleanEnvironmentVariables.js +30 -7
- package/dist/common/cleanEnvironmentVariables.js.map +1 -0
- package/dist/common/cleanEnvironmentVariables.mjs +8 -0
- package/dist/common/cleanEnvironmentVariables.mjs.map +1 -0
- package/dist/common/constants.d.mts +13 -0
- package/dist/common/constants.d.ts +13 -10
- package/dist/common/constants.js +58 -14
- package/dist/common/constants.js.map +1 -0
- package/dist/common/constants.mjs +28 -0
- package/dist/common/constants.mjs.map +1 -0
- package/dist/common/contextStorageStateHelpers.d.mts +24 -0
- package/dist/common/contextStorageStateHelpers.d.ts +8 -5
- package/dist/common/contextStorageStateHelpers.js +51 -23
- package/dist/common/contextStorageStateHelpers.js.map +1 -0
- package/dist/common/contextStorageStateHelpers.mjs +10 -0
- package/dist/common/contextStorageStateHelpers.mjs.map +1 -0
- package/dist/common/jwtTokenManager.d.mts +19 -0
- package/dist/common/jwtTokenManager.d.ts +6 -4
- package/dist/common/jwtTokenManager.js +112 -40
- package/dist/common/jwtTokenManager.js.map +1 -0
- package/dist/common/jwtTokenManager.mjs +11 -0
- package/dist/common/jwtTokenManager.mjs.map +1 -0
- package/dist/common/runApi/index.d.mts +11 -0
- package/dist/common/runApi/index.d.ts +10 -10
- package/dist/common/runApi/index.js +1776 -93
- package/dist/common/runApi/index.js.map +1 -0
- package/dist/common/runApi/index.mjs +18 -0
- package/dist/common/runApi/index.mjs.map +1 -0
- package/dist/common/settingsSchema.d.mts +536 -0
- package/dist/common/settingsSchema.d.ts +9 -6
- package/dist/common/settingsSchema.js +55 -20
- package/dist/common/settingsSchema.js.map +1 -0
- package/dist/common/settingsSchema.mjs +10 -0
- package/dist/common/settingsSchema.mjs.map +1 -0
- package/dist/common/telemetry.d.mts +6 -0
- package/dist/common/telemetry.d.ts +6 -3
- package/dist/common/telemetry.js +41 -9
- package/dist/common/telemetry.js.map +1 -0
- package/dist/common/telemetry.mjs +31 -0
- package/dist/common/telemetry.mjs.map +1 -0
- package/dist/export.d-BAUMB-lG.d.mts +140 -0
- package/dist/export.d-BAUMB-lG.d.ts +140 -0
- package/dist/index.d.mts +6 -0
- package/dist/index.d.ts +6 -5
- package/dist/index.js +783 -98
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +47 -0
- package/dist/index.mjs.map +1 -0
- package/dist/runtime/index.d.mts +163 -0
- package/dist/runtime/index.d.ts +163 -10
- package/dist/runtime/index.js +779 -88
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/index.mjs +42 -0
- package/dist/runtime/index.mjs.map +1 -0
- package/package.json +80 -23
- package/.babelrc +0 -21
- package/.eslintignore +0 -10
- package/.eslintrc.js +0 -39
- package/InterfaceTemplate/index.playwright.ts +0 -6
- package/InterfaceTemplate/utils.ts +0 -61
- package/dist/commands/api/run.d.ts +0 -6
- package/dist/commands/api/run.js +0 -123
- package/dist/commands/auth-sessions/load.d.ts +0 -2
- package/dist/commands/auth-sessions/load.js +0 -35
- package/dist/commands/auth-sessions/run-check.d.ts +0 -2
- package/dist/commands/auth-sessions/run-check.js +0 -74
- package/dist/commands/auth-sessions/run-create.d.ts +0 -2
- package/dist/commands/auth-sessions/run-create.js +0 -78
- package/dist/commands/browser/save-state.d.ts +0 -2
- package/dist/commands/browser/save-state.js +0 -17
- package/dist/commands/browser/start-browser.d.ts +0 -2
- package/dist/commands/browser/start-browser.js +0 -14
- package/dist/commands/build.d.ts +0 -1
- package/dist/commands/build.js +0 -84
- package/dist/commands/common/browserUtils.d.ts +0 -14
- package/dist/commands/common/browserUtils.js +0 -58
- package/dist/commands/common/getFirstLineNumber.d.ts +0 -9
- package/dist/commands/common/getFirstLineNumber.js +0 -101
- package/dist/commands/common/getFirstLineNumber.test.js +0 -228
- package/dist/commands/common/projectExclusions.d.ts +0 -2
- package/dist/commands/common/projectExclusions.js +0 -8
- package/dist/commands/common/sendMessageToClient.d.ts +0 -1
- package/dist/commands/common/sendMessageToClient.js +0 -10
- package/dist/commands/common/tsNodeImport.d.ts +0 -2
- package/dist/commands/common/tsNodeImport.js +0 -34
- package/dist/commands/common/utils/fileUtils.d.ts +0 -6
- package/dist/commands/common/utils/fileUtils.js +0 -33
- package/dist/commands/common/utils/settings.d.ts +0 -2
- package/dist/commands/common/utils/settings.js +0 -31
- package/dist/commands/common/utils/template.d.ts +0 -2
- package/dist/commands/common/utils/template.js +0 -31
- package/dist/commands/common/utils/unixSocket.d.ts +0 -23
- package/dist/commands/common/utils/unixSocket.js +0 -87
- package/dist/commands/get-headless-user-agent.d.ts +0 -1
- package/dist/commands/get-headless-user-agent.js +0 -18
- package/dist/commands/intuned-cli/commands/attempt.command.d.ts +0 -1
- package/dist/commands/intuned-cli/commands/attempt.command.js +0 -8
- package/dist/commands/intuned-cli/commands/attempt_api.command.d.ts +0 -1
- package/dist/commands/intuned-cli/commands/attempt_api.command.js +0 -30
- package/dist/commands/intuned-cli/commands/attempt_authsession.command.d.ts +0 -1
- package/dist/commands/intuned-cli/commands/attempt_authsession.command.js +0 -8
- package/dist/commands/intuned-cli/commands/attempt_authsession_check.command.d.ts +0 -1
- package/dist/commands/intuned-cli/commands/attempt_authsession_check.command.js +0 -19
- package/dist/commands/intuned-cli/commands/attempt_authsession_create.command.d.ts +0 -1
- package/dist/commands/intuned-cli/commands/attempt_authsession_create.command.js +0 -24
- package/dist/commands/intuned-cli/commands/authsession.command.d.ts +0 -1
- package/dist/commands/intuned-cli/commands/authsession.command.js +0 -8
- package/dist/commands/intuned-cli/commands/authsession_record.command.d.ts +0 -1
- package/dist/commands/intuned-cli/commands/authsession_record.command.js +0 -32
- package/dist/commands/intuned-cli/commands/build.command.d.ts +0 -1
- package/dist/commands/intuned-cli/commands/build.command.js +0 -12
- package/dist/commands/intuned-cli/commands/command.d.ts +0 -2
- package/dist/commands/intuned-cli/commands/command.js +0 -9
- package/dist/commands/intuned-cli/commands/deploy.command.d.ts +0 -1
- package/dist/commands/intuned-cli/commands/deploy.command.js +0 -38
- package/dist/commands/intuned-cli/commands/index.d.ts +0 -18
- package/dist/commands/intuned-cli/commands/index.js +0 -203
- package/dist/commands/intuned-cli/commands/init.command.d.ts +0 -1
- package/dist/commands/intuned-cli/commands/init.command.js +0 -13
- package/dist/commands/intuned-cli/commands/run.command.d.ts +0 -1
- package/dist/commands/intuned-cli/commands/run.command.js +0 -8
- package/dist/commands/intuned-cli/commands/run_api.command.d.ts +0 -1
- package/dist/commands/intuned-cli/commands/run_api.command.js +0 -46
- package/dist/commands/intuned-cli/commands/run_authsession.command.d.ts +0 -31
- package/dist/commands/intuned-cli/commands/run_authsession.command.js +0 -17
- package/dist/commands/intuned-cli/commands/run_authsession_create.command.d.ts +0 -1
- package/dist/commands/intuned-cli/commands/run_authsession_create.command.js +0 -35
- package/dist/commands/intuned-cli/commands/run_authsession_update.command.d.ts +0 -1
- package/dist/commands/intuned-cli/commands/run_authsession_update.command.js +0 -35
- package/dist/commands/intuned-cli/commands/run_authsession_validate.command.d.ts +0 -1
- package/dist/commands/intuned-cli/commands/run_authsession_validate.command.js +0 -33
- package/dist/commands/intuned-cli/commands/save.command.d.ts +0 -13
- package/dist/commands/intuned-cli/commands/save.command.js +0 -42
- package/dist/commands/intuned-cli/commands/types.d.ts +0 -35
- package/dist/commands/intuned-cli/commands/types.js +0 -31
- package/dist/commands/intuned-cli/constants/index.d.ts +0 -17
- package/dist/commands/intuned-cli/constants/index.js +0 -25
- package/dist/commands/intuned-cli/controller/__test__/api.test.js +0 -397
- package/dist/commands/intuned-cli/controller/__test__/authSession.test.js +0 -1059
- package/dist/commands/intuned-cli/controller/api.d.ts +0 -42
- package/dist/commands/intuned-cli/controller/api.js +0 -191
- package/dist/commands/intuned-cli/controller/authSession.d.ts +0 -209
- package/dist/commands/intuned-cli/controller/authSession.js +0 -424
- package/dist/commands/intuned-cli/controller/build.d.ts +0 -1
- package/dist/commands/intuned-cli/controller/build.js +0 -36
- package/dist/commands/intuned-cli/controller/deploy.d.ts +0 -5
- package/dist/commands/intuned-cli/controller/deploy.js +0 -276
- package/dist/commands/intuned-cli/controller/index.d.ts +0 -1
- package/dist/commands/intuned-cli/controller/index.js +0 -46
- package/dist/commands/intuned-cli/controller/save.d.ts +0 -17
- package/dist/commands/intuned-cli/controller/save.js +0 -351
- package/dist/commands/intuned-cli/helpers/__test__/browser.test.js +0 -114
- package/dist/commands/intuned-cli/helpers/__test__/tracing.test.js +0 -40
- package/dist/commands/intuned-cli/helpers/api.d.ts +0 -3
- package/dist/commands/intuned-cli/helpers/api.js +0 -19
- package/dist/commands/intuned-cli/helpers/auth.d.ts +0 -46
- package/dist/commands/intuned-cli/helpers/auth.js +0 -144
- package/dist/commands/intuned-cli/helpers/backend.d.ts +0 -8
- package/dist/commands/intuned-cli/helpers/backend.js +0 -27
- package/dist/commands/intuned-cli/helpers/browser.d.ts +0 -15
- package/dist/commands/intuned-cli/helpers/browser.js +0 -64
- package/dist/commands/intuned-cli/helpers/context.d.ts +0 -3
- package/dist/commands/intuned-cli/helpers/context.js +0 -33
- package/dist/commands/intuned-cli/helpers/errors.d.ts +0 -16
- package/dist/commands/intuned-cli/helpers/errors.js +0 -44
- package/dist/commands/intuned-cli/helpers/index.d.ts +0 -12
- package/dist/commands/intuned-cli/helpers/index.js +0 -137
- package/dist/commands/intuned-cli/helpers/intunedJson.d.ts +0 -39
- package/dist/commands/intuned-cli/helpers/intunedJson.js +0 -20
- package/dist/commands/intuned-cli/helpers/proxy.d.ts +0 -5
- package/dist/commands/intuned-cli/helpers/proxy.js +0 -23
- package/dist/commands/intuned-cli/helpers/terminal.d.ts +0 -5
- package/dist/commands/intuned-cli/helpers/terminal.js +0 -13
- package/dist/commands/intuned-cli/helpers/timeout.d.ts +0 -1
- package/dist/commands/intuned-cli/helpers/timeout.js +0 -23
- package/dist/commands/intuned-cli/helpers/traces.d.ts +0 -2
- package/dist/commands/intuned-cli/helpers/traces.js +0 -32
- package/dist/commands/intuned-cli/helpers/validation.d.ts +0 -2
- package/dist/commands/intuned-cli/helpers/validation.js +0 -14
- package/dist/commands/intuned-cli/helpers/wrapper.d.ts +0 -2
- package/dist/commands/intuned-cli/helpers/wrapper.js +0 -66
- package/dist/commands/intuned-cli/index.d.ts +0 -1
- package/dist/commands/intuned-cli/index.js +0 -16
- package/dist/commands/intuned-cli/main.d.ts +0 -1
- package/dist/commands/intuned-cli/main.js +0 -23
- package/dist/commands/intuned-cli/types.d.ts +0 -41
- package/dist/commands/intuned-cli/types.js +0 -12
- package/dist/commands/ts-check.d.ts +0 -2
- package/dist/commands/ts-check.js +0 -56
- package/dist/common/Logger/Logger/index.d.ts +0 -12
- package/dist/common/Logger/Logger/index.js +0 -60
- package/dist/common/Logger/Logger/types.d.ts +0 -8
- package/dist/common/Logger/Logger/types.js +0 -5
- package/dist/common/Logger/index.d.ts +0 -12
- package/dist/common/Logger/index.js +0 -60
- package/dist/common/Logger/types.d.ts +0 -8
- package/dist/common/Logger/types.js +0 -5
- package/dist/common/backendFunctions/getAuthSessionParameters.d.ts +0 -1
- package/dist/common/backendFunctions/getAuthSessionParameters.js +0 -38
- package/dist/common/extension/extensionsHelpers.d.ts +0 -11
- package/dist/common/extension/extensionsHelpers.js +0 -147
- package/dist/common/extension/intunedExtensionServer.d.ts +0 -24
- package/dist/common/extension/intunedExtensionServer.js +0 -178
- package/dist/common/extension/types.d.ts +0 -212
- package/dist/common/extension/types.js +0 -51
- package/dist/common/formatZodError.d.ts +0 -2
- package/dist/common/intunedJson.d.ts +0 -229
- package/dist/common/intunedJson.js +0 -133
- package/dist/common/launchBrowser.d.ts +0 -31
- package/dist/common/launchBrowser.js +0 -207
- package/dist/common/playwrightContext.d.ts +0 -31
- package/dist/common/playwrightContext.js +0 -144
- package/dist/common/runApi/errors.d.ts +0 -72
- package/dist/common/runApi/errors.js +0 -169
- package/dist/common/runApi/importUsingImportFunction.d.ts +0 -9
- package/dist/common/runApi/importUsingImportFunction.js +0 -46
- package/dist/common/runApi/types.d.ts +0 -830
- package/dist/common/runApi/types.js +0 -73
- package/dist/common/setupContextHook.d.ts +0 -17
- package/dist/common/setupContextHook.js +0 -22
- package/dist/runtime/RunError.d.ts +0 -5
- package/dist/runtime/RunError.js +0 -19
- package/dist/runtime/attemptStore.d.ts +0 -2
- package/dist/runtime/attemptStore.js +0 -23
- package/dist/runtime/captcha.d.ts +0 -15
- package/dist/runtime/captcha.js +0 -191
- package/dist/runtime/captcha.test.js +0 -821
- package/dist/runtime/downloadDirectory.d.ts +0 -1
- package/dist/runtime/downloadDirectory.js +0 -19
- package/dist/runtime/enums.d.js +0 -5
- package/dist/runtime/enums.d.ts +0 -11
- package/dist/runtime/enums.js +0 -18
- package/dist/runtime/executionHelpers.test.js +0 -52
- package/dist/runtime/export.d.js +0 -5
- package/dist/runtime/export.d.ts +0 -284
- package/dist/runtime/extendPayload.d.ts +0 -2
- package/dist/runtime/extendPayload.js +0 -21
- package/dist/runtime/extendTimeout.d.ts +0 -1
- package/dist/runtime/extendTimeout.js +0 -23
- package/dist/runtime/getAiGatewayConfig.d.ts +0 -10
- package/dist/runtime/getAiGatewayConfig.js +0 -16
- package/dist/runtime/getAuthSessionParameters.d.ts +0 -1
- package/dist/runtime/getAuthSessionParameters.js +0 -20
- package/dist/runtime/persistentStore.d.ts +0 -2
- package/dist/runtime/persistentStore.js +0 -37
- package/dist/runtime/persistentStore.test.js +0 -101
- package/dist/runtime/runInfo.d.ts +0 -2
- package/dist/runtime/runInfo.js +0 -21
- package/template.tsconfig.json +0 -11
- package/tsconfig.eslint.json +0 -5
- package/tsconfig.json +0 -25
- package/typedoc.json +0 -49
- /package/dist/common/assets/{browser_scripts.js → assets/browser_scripts.js} +0 -0
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
|
-
|
|
4
|
-
var _commander = require("commander");
|
|
5
|
-
var _playwrightContext = require("../../common/playwrightContext");
|
|
6
|
-
var _settings = require("../common/utils/settings");
|
|
7
|
-
var _dotenv = _interopRequireDefault(require("dotenv"));
|
|
8
|
-
var _neverthrow = require("neverthrow");
|
|
9
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
-
_dotenv.default.config({
|
|
11
|
-
path: `.env`
|
|
12
|
-
});
|
|
13
|
-
_commander.program.description("load auth session to browser").option("--cdpAddress <cdpAddress>", "CDP address", "http://localhost:9222").option("--authSessionPath <authSession>", "auth session to use when executing the api").allowUnknownOption().action(async ({
|
|
14
|
-
cdpAddress,
|
|
15
|
-
authSessionPath
|
|
16
|
-
}) => {
|
|
17
|
-
const setting = await (0, _settings.getSettings)();
|
|
18
|
-
if (!setting.authSessions.enabled) {
|
|
19
|
-
throw new Error("Auth session is not enabled");
|
|
20
|
-
}
|
|
21
|
-
await (0, _playwrightContext.withPlaywrightContext)({
|
|
22
|
-
cdpAddress
|
|
23
|
-
}, async context => {
|
|
24
|
-
await (0, _playwrightContext.loadSessionToContext)({
|
|
25
|
-
context,
|
|
26
|
-
session: {
|
|
27
|
-
type: "file",
|
|
28
|
-
path: authSessionPath
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
return (0, _neverthrow.ok)({});
|
|
32
|
-
});
|
|
33
|
-
process.exit(0);
|
|
34
|
-
});
|
|
35
|
-
_commander.program.parse(process.argv);
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
|
-
|
|
4
|
-
var _commander = require("commander");
|
|
5
|
-
var fs = _interopRequireWildcard(require("fs-extra"));
|
|
6
|
-
var _fileUtils = require("../common/utils/fileUtils");
|
|
7
|
-
var _settings = require("../common/utils/settings");
|
|
8
|
-
var _dotenv = _interopRequireDefault(require("dotenv"));
|
|
9
|
-
var _constants = require("../../common/constants");
|
|
10
|
-
var _runApi = require("../../common/runApi");
|
|
11
|
-
var _tsNodeImport = require("../common/tsNodeImport");
|
|
12
|
-
var _enums = require("../../runtime/enums");
|
|
13
|
-
var _nanoid = require("nanoid");
|
|
14
|
-
var _asyncLocalStorage = require("../../common/asyncLocalStorage");
|
|
15
|
-
var _isNil = _interopRequireDefault(require("lodash/isNil"));
|
|
16
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
18
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
19
|
-
_dotenv.default.config({
|
|
20
|
-
path: `.env`
|
|
21
|
-
});
|
|
22
|
-
_commander.program.description("run auth session check").option("--cdpAddress <cdpAddress>", "CDP address", "http://localhost:9222").option("--authSessionPath <authSession>", "auth session to use when executing the check").option("--authSessionParameters <authSessionParameters>", "parameters used to create the used auth session").allowUnknownOption().addArgument(new _commander.Argument("<mode>", "mode of execution").choices(["vanilla", "playwright", "playwright-standalone"]).default("playwright-standalone").argOptional()).action(async (mode, {
|
|
23
|
-
cdpAddress,
|
|
24
|
-
authSessionPath,
|
|
25
|
-
authSessionParameters
|
|
26
|
-
}) => {
|
|
27
|
-
const setting = await (0, _settings.getSettings)();
|
|
28
|
-
if (!setting.authSessions.enabled) {
|
|
29
|
-
throw new Error("auth session is not enabled");
|
|
30
|
-
}
|
|
31
|
-
const checkFilePath = (0, _fileUtils.getFullPathInProject)(_constants.AUTH_SESSIONS_FOLDER_NAME, "check");
|
|
32
|
-
if (!fs.exists(checkFilePath)) {
|
|
33
|
-
throw new Error("auth session check file not found");
|
|
34
|
-
}
|
|
35
|
-
let authSessionParametersJson = undefined;
|
|
36
|
-
if (!(0, _isNil.default)(authSessionParameters)) {
|
|
37
|
-
authSessionParametersJson = JSON.parse(authSessionParameters);
|
|
38
|
-
}
|
|
39
|
-
const runApiResult = await (0, _asyncLocalStorage.runWithContext)({
|
|
40
|
-
runEnvironment: _enums.RunEnvironment.IDE,
|
|
41
|
-
extendedPayloads: [],
|
|
42
|
-
runId: (0, _nanoid.nanoid)(),
|
|
43
|
-
getAuthSessionParameters: authSessionParametersJson !== undefined ? async () => authSessionParametersJson : undefined
|
|
44
|
-
}, async () => await (0, _runApi.runApi)({
|
|
45
|
-
automationFunction: {
|
|
46
|
-
name: `${_constants.AUTH_SESSIONS_FOLDER_NAME}/check`
|
|
47
|
-
},
|
|
48
|
-
runOptions: {
|
|
49
|
-
environment: "cdp",
|
|
50
|
-
cdpAddress
|
|
51
|
-
},
|
|
52
|
-
auth: {
|
|
53
|
-
session: {
|
|
54
|
-
type: "file",
|
|
55
|
-
path: authSessionPath
|
|
56
|
-
}
|
|
57
|
-
},
|
|
58
|
-
importFunction: _tsNodeImport.tsNodeImport
|
|
59
|
-
}));
|
|
60
|
-
if (runApiResult.isErr()) {
|
|
61
|
-
if (runApiResult.error instanceof _runApi.AutomationError) {
|
|
62
|
-
throw runApiResult.error.error;
|
|
63
|
-
}
|
|
64
|
-
console.error(runApiResult.error);
|
|
65
|
-
throw new Error("Error running auth session check");
|
|
66
|
-
}
|
|
67
|
-
const result = runApiResult.value.result;
|
|
68
|
-
console.log("check result", result);
|
|
69
|
-
if (!result) {
|
|
70
|
-
throw new Error("auth session check failed");
|
|
71
|
-
}
|
|
72
|
-
process.exit(0);
|
|
73
|
-
});
|
|
74
|
-
_commander.program.parse(process.argv);
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
|
-
|
|
4
|
-
var _commander = require("commander");
|
|
5
|
-
var fs = _interopRequireWildcard(require("fs-extra"));
|
|
6
|
-
var _fileUtils = require("../common/utils/fileUtils");
|
|
7
|
-
var _settings = require("../common/utils/settings");
|
|
8
|
-
var _dotenv = _interopRequireDefault(require("dotenv"));
|
|
9
|
-
var _constants = require("../../common/constants");
|
|
10
|
-
var _runApi = require("../../common/runApi");
|
|
11
|
-
var _asyncLocalStorage = require("../../common/asyncLocalStorage");
|
|
12
|
-
var _nanoid = require("nanoid");
|
|
13
|
-
var _enums = require("../../runtime/enums");
|
|
14
|
-
var _tsNodeImport = require("../common/tsNodeImport");
|
|
15
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
17
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
18
|
-
_dotenv.default.config({
|
|
19
|
-
path: `.env`
|
|
20
|
-
});
|
|
21
|
-
_commander.program.description("run auth session create").option("--cdpAddress <cdpAddress>", "CDP address", "http://localhost:9222").option("-i, --input [file]", "input json file").option("-j, --json [json]", "input json string").option("--authSessionPath <authSession>", "auth session to use when executing the api").option("--pathToSave <pathToSave>", "path to save the auth session, if not provided, will discard the auth session").allowUnknownOption().addArgument(new _commander.Argument("<mode>", "mode of execution").choices(["vanilla", "playwright", "playwright-standalone"]).default("playwright-standalone").argOptional()).action(async (mode, {
|
|
22
|
-
cdpAddress,
|
|
23
|
-
pathToSave,
|
|
24
|
-
input,
|
|
25
|
-
json
|
|
26
|
-
}) => {
|
|
27
|
-
let inputData = null;
|
|
28
|
-
if (input) {
|
|
29
|
-
inputData = await fs.readJSON(input);
|
|
30
|
-
} else if (json) {
|
|
31
|
-
inputData = JSON.parse(json);
|
|
32
|
-
} else {
|
|
33
|
-
inputData = {};
|
|
34
|
-
}
|
|
35
|
-
const setting = await (0, _settings.getSettings)();
|
|
36
|
-
if (!setting.authSessions.enabled) {
|
|
37
|
-
throw new Error("auth sessions feature is not enabled");
|
|
38
|
-
}
|
|
39
|
-
const createFilePath = (0, _fileUtils.getFullPathInProject)(_constants.AUTH_SESSIONS_FOLDER_NAME, "create.ts");
|
|
40
|
-
if (!fs.exists(createFilePath)) {
|
|
41
|
-
throw new Error("auth session create file not found");
|
|
42
|
-
}
|
|
43
|
-
async function runCreate() {
|
|
44
|
-
const result = await (0, _runApi.runApi)({
|
|
45
|
-
automationFunction: {
|
|
46
|
-
name: `${_constants.AUTH_SESSIONS_FOLDER_NAME}/create`,
|
|
47
|
-
params: inputData
|
|
48
|
-
},
|
|
49
|
-
runOptions: {
|
|
50
|
-
environment: "cdp",
|
|
51
|
-
cdpAddress
|
|
52
|
-
},
|
|
53
|
-
retrieveSession: true,
|
|
54
|
-
importFunction: _tsNodeImport.tsNodeImport
|
|
55
|
-
});
|
|
56
|
-
if (result.isErr()) {
|
|
57
|
-
if (result.error instanceof _runApi.AutomationError) {
|
|
58
|
-
throw result.error.error;
|
|
59
|
-
}
|
|
60
|
-
console.error(result.error);
|
|
61
|
-
throw new Error("Error while running create");
|
|
62
|
-
}
|
|
63
|
-
const fullState = result.value.session;
|
|
64
|
-
if (pathToSave) {
|
|
65
|
-
const fullPath = (0, _fileUtils.getFullPathInProject)(pathToSave);
|
|
66
|
-
fs.ensureFileSync(fullPath);
|
|
67
|
-
await fs.writeJSON(fullPath, fullState);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
await (0, _asyncLocalStorage.runWithContext)({
|
|
71
|
-
runEnvironment: _enums.RunEnvironment.IDE,
|
|
72
|
-
extendedPayloads: [],
|
|
73
|
-
runId: (0, _nanoid.nanoid)(),
|
|
74
|
-
getAuthSessionParameters: async () => inputData
|
|
75
|
-
}, runCreate);
|
|
76
|
-
process.exit(0);
|
|
77
|
-
});
|
|
78
|
-
_commander.program.parse(process.argv);
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
|
-
|
|
4
|
-
var _commander = require("commander");
|
|
5
|
-
var _browserUtils = require("../common/browserUtils");
|
|
6
|
-
var _dotenv = _interopRequireDefault(require("dotenv"));
|
|
7
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
|
-
_dotenv.default.config({
|
|
9
|
-
path: `.env`
|
|
10
|
-
});
|
|
11
|
-
_commander.program.description("save browser state to file storage.json").option("-p, --path [file]", "path for file", "./localSessions/default.json").allowUnknownOption().action(async ({
|
|
12
|
-
path
|
|
13
|
-
}) => {
|
|
14
|
-
await (0, _browserUtils.saveSessionFromOpenedBrowser)(path);
|
|
15
|
-
process.exit(0);
|
|
16
|
-
});
|
|
17
|
-
_commander.program.parse(process.argv);
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
|
-
|
|
4
|
-
var _commander = require("commander");
|
|
5
|
-
var _browserUtils = require("../common/browserUtils");
|
|
6
|
-
var _dotenv = _interopRequireDefault(require("dotenv"));
|
|
7
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
|
-
_dotenv.default.config({
|
|
9
|
-
path: `.env`
|
|
10
|
-
});
|
|
11
|
-
_commander.program.description("start browser testing purposes").allowUnknownOption().action(async () => {
|
|
12
|
-
await (0, _browserUtils.startOrRestartBrowser)();
|
|
13
|
-
});
|
|
14
|
-
_commander.program.parse(process.argv);
|
package/dist/commands/build.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/commands/build.js
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _commander = require("commander");
|
|
4
|
-
var _rollup = require("rollup");
|
|
5
|
-
var _pluginTypescript = _interopRequireDefault(require("@rollup/plugin-typescript"));
|
|
6
|
-
var _pluginCommonjs = _interopRequireDefault(require("@rollup/plugin-commonjs"));
|
|
7
|
-
var _pluginNodeResolve = require("@rollup/plugin-node-resolve");
|
|
8
|
-
var _pluginDynamicImportVars = _interopRequireDefault(require("@rollup/plugin-dynamic-import-vars"));
|
|
9
|
-
var _pluginJson = _interopRequireDefault(require("@rollup/plugin-json"));
|
|
10
|
-
var fs = _interopRequireWildcard(require("fs-extra"));
|
|
11
|
-
var path = _interopRequireWildcard(require("path"));
|
|
12
|
-
var _template = require("./common/utils/template");
|
|
13
|
-
var _dotenv = _interopRequireDefault(require("dotenv"));
|
|
14
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
15
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
|
-
function isThirdPartyWarning(warning) {
|
|
18
|
-
if (warning.id && /node_modules/.test(warning.id)) return true;
|
|
19
|
-
if (warning.ids && warning.ids.every(id => /node_modules/.test(id))) return true;
|
|
20
|
-
return false;
|
|
21
|
-
}
|
|
22
|
-
_dotenv.default.config();
|
|
23
|
-
_commander.program.description("build the intuned server").option("-t, --template <type>", "template to use", "InterfaceTemplate").addArgument(new _commander.Argument("<mode>", "mode of execution").choices(["vanilla", "playwright"]).default("playwright").argOptional()).argument("[outfile]", "output bundle", "./output/bundle_v2.js").allowUnknownOption().action(async (mode, outfile, {
|
|
24
|
-
template
|
|
25
|
-
}) => {
|
|
26
|
-
await (0, _template.moveTemplateFiles)(template);
|
|
27
|
-
const currentTemplateTsConfig = path.resolve(path.dirname(__filename), "..", "..", "template.tsconfig.json");
|
|
28
|
-
await fs.copy(currentTemplateTsConfig, `./intuned/${template}/tsconfig.json`);
|
|
29
|
-
await build(outfile, mode, template);
|
|
30
|
-
});
|
|
31
|
-
async function build(outfile, mode, template) {
|
|
32
|
-
let bundle = null;
|
|
33
|
-
let buildFailed = false;
|
|
34
|
-
try {
|
|
35
|
-
bundle = await (0, _rollup.rollup)({
|
|
36
|
-
input: `./intuned/${template}/index.${mode}.ts`,
|
|
37
|
-
output: {
|
|
38
|
-
globals: {
|
|
39
|
-
crypto: "crypto"
|
|
40
|
-
}
|
|
41
|
-
},
|
|
42
|
-
plugins: [(0, _pluginJson.default)(), (0, _pluginNodeResolve.nodeResolve)({
|
|
43
|
-
exportConditions: ["node"],
|
|
44
|
-
preferBuiltins: true
|
|
45
|
-
}), (0, _pluginTypescript.default)({
|
|
46
|
-
tsconfig: `./intuned/${template}/tsconfig.json`
|
|
47
|
-
}), (0, _pluginCommonjs.default)({
|
|
48
|
-
include: ["node_modules/**", `intuned/${template}/**`, "dist", "../typescript-sdk/**", "../typescript-runtime/**"],
|
|
49
|
-
extensions: [".js"],
|
|
50
|
-
ignoreGlobal: false,
|
|
51
|
-
sourceMap: false,
|
|
52
|
-
dynamicRequireTargets: ["api/**/*.js", "auth-sessions/**/*.js"],
|
|
53
|
-
requireReturnsDefault: "auto",
|
|
54
|
-
transformMixedEsModules: true
|
|
55
|
-
}), (0, _pluginDynamicImportVars.default)({
|
|
56
|
-
include: ["**/*.js", "**/*.ts"],
|
|
57
|
-
exclude: ["**/*.d.ts", "**/*.js.map"]
|
|
58
|
-
})],
|
|
59
|
-
onwarn: (warning, warn) => {
|
|
60
|
-
if (isThirdPartyWarning(warning)) return;
|
|
61
|
-
warn(warning);
|
|
62
|
-
},
|
|
63
|
-
external: ["playwright", "playwright-core", "jsdom", "canvas", "pdfjs-dist", "pdf-to-png-converter", "crypto", "applicationinsights", "fingerprint-generator", "fingerprint-injector", "node-fetch"]
|
|
64
|
-
});
|
|
65
|
-
console.log(`📦 Building ${outfile}`);
|
|
66
|
-
const outfileFolder = path.dirname(outfile);
|
|
67
|
-
const assetsDir = path.resolve(path.dirname(__filename), "..", "common", "assets");
|
|
68
|
-
await fs.copy(assetsDir, `${outfileFolder}/assets`);
|
|
69
|
-
await bundle.write({
|
|
70
|
-
format: "cjs",
|
|
71
|
-
file: outfile,
|
|
72
|
-
inlineDynamicImports: true
|
|
73
|
-
});
|
|
74
|
-
console.log(`✨ Build succeeded: ${outfile}`);
|
|
75
|
-
} catch (error) {
|
|
76
|
-
buildFailed = true;
|
|
77
|
-
console.error("error", error);
|
|
78
|
-
}
|
|
79
|
-
if (buildFailed) {
|
|
80
|
-
console.error("build failed");
|
|
81
|
-
process.exit(1);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
_commander.program.parse(process.argv);
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { BrowserContext } from "playwright";
|
|
2
|
-
export declare const REMOTE_DEBUGGING_PORT = 9222;
|
|
3
|
-
export declare const getChromiumLaunchArgs: () => string[];
|
|
4
|
-
export declare function startOrRestartBrowser(): Promise<void>;
|
|
5
|
-
export interface SessionState {
|
|
6
|
-
cookies: any[];
|
|
7
|
-
storage: Record<string, {
|
|
8
|
-
localStorage: any;
|
|
9
|
-
sessionStorage: any;
|
|
10
|
-
}>;
|
|
11
|
-
}
|
|
12
|
-
export declare function saveSessionFromOpenedBrowser(path: string): Promise<void>;
|
|
13
|
-
export declare function loadState(path: string, context: BrowserContext): Promise<void>;
|
|
14
|
-
export declare function saveSession(path: string, context: BrowserContext): Promise<void>;
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getChromiumLaunchArgs = exports.REMOTE_DEBUGGING_PORT = void 0;
|
|
7
|
-
exports.loadState = loadState;
|
|
8
|
-
exports.saveSession = saveSession;
|
|
9
|
-
exports.saveSessionFromOpenedBrowser = saveSessionFromOpenedBrowser;
|
|
10
|
-
exports.startOrRestartBrowser = startOrRestartBrowser;
|
|
11
|
-
var _child_process = require("child_process");
|
|
12
|
-
var playwright = _interopRequireWildcard(require("playwright"));
|
|
13
|
-
var fs = _interopRequireWildcard(require("fs-extra"));
|
|
14
|
-
var _fileUtils = require("./utils/fileUtils");
|
|
15
|
-
var _contextStorageStateHelpers = require("../../common/contextStorageStateHelpers");
|
|
16
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
17
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
18
|
-
const REMOTE_DEBUGGING_PORT = exports.REMOTE_DEBUGGING_PORT = 9222;
|
|
19
|
-
const getChromiumLaunchArgs = () => ["--no-sandbox", `--remote-debugging-port=${REMOTE_DEBUGGING_PORT}`, `--user-data-dir=/tmp/${Date.now()}`, "--new-window", "--start-maximized", "--disable-popup-blocking"];
|
|
20
|
-
exports.getChromiumLaunchArgs = getChromiumLaunchArgs;
|
|
21
|
-
async function getBrowser() {
|
|
22
|
-
let playwrightBrowser = null;
|
|
23
|
-
try {
|
|
24
|
-
playwrightBrowser = await playwright.chromium.connectOverCDP(`http://localhost:${REMOTE_DEBUGGING_PORT}`);
|
|
25
|
-
} catch (e) {
|
|
26
|
-
throw new Error("Browser is not running");
|
|
27
|
-
}
|
|
28
|
-
return playwrightBrowser;
|
|
29
|
-
}
|
|
30
|
-
async function startOrRestartBrowser() {
|
|
31
|
-
const chromiumPath = await playwright.chromium.executablePath();
|
|
32
|
-
const chromeInstanceProcess = (0, _child_process.spawn)(chromiumPath, getChromiumLaunchArgs());
|
|
33
|
-
chromeInstanceProcess.stdout.on("data", data => {
|
|
34
|
-
console.log(`Chrome stdout: ${data}`);
|
|
35
|
-
});
|
|
36
|
-
chromeInstanceProcess.stderr.on("data", data => {
|
|
37
|
-
console.error(`Chrome stderr: ${data}`);
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
async function saveSessionFromOpenedBrowser(path) {
|
|
41
|
-
const browser = await getBrowser();
|
|
42
|
-
const context = await browser.contexts()[0];
|
|
43
|
-
return saveSession(path, context);
|
|
44
|
-
}
|
|
45
|
-
async function loadState(path, context) {
|
|
46
|
-
const fullPath = (0, _fileUtils.getFullPathInProject)(path);
|
|
47
|
-
if (!(await fs.pathExists(fullPath))) {
|
|
48
|
-
throw new Error("session file does not exist");
|
|
49
|
-
}
|
|
50
|
-
const data = await fs.readJson(fullPath);
|
|
51
|
-
await context.addCookies(data.cookies);
|
|
52
|
-
}
|
|
53
|
-
async function saveSession(path, context) {
|
|
54
|
-
const fullState = await (0, _contextStorageStateHelpers.getStorageState)(context);
|
|
55
|
-
const fullPath = (0, _fileUtils.getFullPathInProject)(path);
|
|
56
|
-
fs.ensureFileSync(fullPath);
|
|
57
|
-
await fs.writeJSON(fullPath, fullState);
|
|
58
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { SourceFile } from "ts-morph";
|
|
2
|
-
export declare function findFirstExecutableLine(sourceFile: SourceFile): -1 | {
|
|
3
|
-
line: number;
|
|
4
|
-
column: number;
|
|
5
|
-
};
|
|
6
|
-
export default function getFirstLineNumber(apiFilePath: string): Promise<{
|
|
7
|
-
sourceFileName: string;
|
|
8
|
-
lineNumber: number;
|
|
9
|
-
}>;
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = getFirstLineNumber;
|
|
7
|
-
exports.findFirstExecutableLine = findFirstExecutableLine;
|
|
8
|
-
var _tsMorph = require("ts-morph");
|
|
9
|
-
var _sourceMap = require("source-map");
|
|
10
|
-
function compileTypeScript(apiFilePath) {
|
|
11
|
-
const compilerOptions = {
|
|
12
|
-
lib: ["dom", "es2020"],
|
|
13
|
-
sourceMap: true,
|
|
14
|
-
inlineSourceMap: true,
|
|
15
|
-
inlineSources: true,
|
|
16
|
-
declaration: false,
|
|
17
|
-
noEmit: false,
|
|
18
|
-
module: _tsMorph.ModuleKind.CommonJS,
|
|
19
|
-
target: _tsMorph.ScriptTarget.ES2020
|
|
20
|
-
};
|
|
21
|
-
const project = new _tsMorph.Project({
|
|
22
|
-
compilerOptions
|
|
23
|
-
});
|
|
24
|
-
const sourceFile = project.addSourceFileAtPath(apiFilePath);
|
|
25
|
-
const outputJS = project.emitToMemory({
|
|
26
|
-
targetSourceFile: sourceFile
|
|
27
|
-
});
|
|
28
|
-
const outputJSText = outputJS.getFiles()[0].text;
|
|
29
|
-
return {
|
|
30
|
-
sourceFile,
|
|
31
|
-
outputJSText
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
function findFirstExecutableLine(sourceFile) {
|
|
35
|
-
let functionBody;
|
|
36
|
-
const defaultExportSymbol = sourceFile.getDefaultExportSymbol();
|
|
37
|
-
const defaultExportDeclaration = defaultExportSymbol?.getDeclarations()?.[0];
|
|
38
|
-
if (defaultExportDeclaration) {
|
|
39
|
-
if (defaultExportDeclaration.getKind() === _tsMorph.ts.SyntaxKind.FunctionDeclaration) {
|
|
40
|
-
functionBody = defaultExportDeclaration.getBody();
|
|
41
|
-
} else {
|
|
42
|
-
const exportAssignments = sourceFile.getExportAssignments();
|
|
43
|
-
for (const exportAssignment of exportAssignments) {
|
|
44
|
-
const expression = exportAssignment.getExpression();
|
|
45
|
-
if (!expression) continue;
|
|
46
|
-
if (expression.getKind() === _tsMorph.ts.SyntaxKind.Identifier || expression.getKind() === _tsMorph.ts.SyntaxKind.FunctionExpression || expression.getKind() === _tsMorph.ts.SyntaxKind.ArrowFunction) {
|
|
47
|
-
const identifier = expression.getText();
|
|
48
|
-
const possiblyExportedFunction = sourceFile.getFunction(identifier) || sourceFile.getVariableStatement(identifier)?.getDescendants().find(node => node.getKind() === _tsMorph.ts.SyntaxKind.FunctionExpression || node.getKind() === _tsMorph.ts.SyntaxKind.ArrowFunction);
|
|
49
|
-
if (possiblyExportedFunction) {
|
|
50
|
-
functionBody = possiblyExportedFunction.getBody();
|
|
51
|
-
break;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
if (_tsMorph.Node.hasBody(expression) && (expression.getKind() === _tsMorph.ts.SyntaxKind.FunctionExpression || expression.getKind() === _tsMorph.ts.SyntaxKind.ArrowFunction)) {
|
|
55
|
-
functionBody = expression.getBody();
|
|
56
|
-
break;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
if (!functionBody || !_tsMorph.Node.isStatemented(functionBody)) {
|
|
62
|
-
return -1;
|
|
63
|
-
}
|
|
64
|
-
if (functionBody.getStatements().length === 0) {
|
|
65
|
-
return -1;
|
|
66
|
-
}
|
|
67
|
-
const position = functionBody.getStatements()[0].getStart();
|
|
68
|
-
return sourceFile.getLineAndColumnAtPos(position);
|
|
69
|
-
}
|
|
70
|
-
async function getSourceMap(jsCode) {
|
|
71
|
-
const sourceMapBase64 = jsCode.substring(jsCode.lastIndexOf("//# sourceMappingURL=data:application/json;base64,") + "//# sourceMappingURL=data:application/json;base64,".length);
|
|
72
|
-
const sourceMapText = Buffer.from(sourceMapBase64, "base64").toString("utf-8");
|
|
73
|
-
const sourceMap = JSON.parse(sourceMapText);
|
|
74
|
-
return new _sourceMap.SourceMapConsumer(sourceMap);
|
|
75
|
-
}
|
|
76
|
-
async function mapFirstLineNumberBySourceMap(sourceFileName, jsCode, line, column) {
|
|
77
|
-
const sourceMap = await getSourceMap(jsCode);
|
|
78
|
-
const generatedLineNumber = sourceMap.generatedPositionFor({
|
|
79
|
-
source: sourceFileName,
|
|
80
|
-
line,
|
|
81
|
-
column
|
|
82
|
-
}).line;
|
|
83
|
-
if (!generatedLineNumber) return -1;
|
|
84
|
-
return generatedLineNumber;
|
|
85
|
-
}
|
|
86
|
-
async function getFirstLineNumber(apiFilePath) {
|
|
87
|
-
const sourceFileName = apiFilePath.split("/").pop() ?? apiFilePath;
|
|
88
|
-
const {
|
|
89
|
-
sourceFile,
|
|
90
|
-
outputJSText
|
|
91
|
-
} = compileTypeScript(apiFilePath);
|
|
92
|
-
const result = findFirstExecutableLine(sourceFile);
|
|
93
|
-
if (result === -1) return {
|
|
94
|
-
sourceFileName,
|
|
95
|
-
lineNumber: -1
|
|
96
|
-
};
|
|
97
|
-
return {
|
|
98
|
-
sourceFileName,
|
|
99
|
-
lineNumber: await mapFirstLineNumberBySourceMap(sourceFileName, outputJSText, result.line, result.column)
|
|
100
|
-
};
|
|
101
|
-
}
|