apify-cli 0.21.3 → 0.21.4-beta.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/CHANGELOG.md +10 -0
- package/README.md +65 -65
- package/dist/.tsbuildinfo +1 -1
- package/dist/commands/actors/pull.d.ts.map +1 -1
- package/dist/commands/actors/pull.js +8 -11
- package/dist/commands/actors/pull.js.map +1 -1
- package/dist/commands/actors/push.d.ts.map +1 -1
- package/dist/commands/actors/push.js +17 -20
- package/dist/commands/actors/push.js.map +1 -1
- package/dist/commands/actors/rm.js +1 -1
- package/dist/commands/actors/rm.js.map +1 -1
- package/dist/commands/builds/rm.js +1 -1
- package/dist/commands/builds/rm.js.map +1 -1
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/create.js +122 -77
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/datasets/info.d.ts +1 -0
- package/dist/commands/datasets/info.d.ts.map +1 -1
- package/dist/commands/datasets/rm.js +1 -1
- package/dist/commands/datasets/rm.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +22 -19
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/key-value-stores/delete-value.js +1 -1
- package/dist/commands/key-value-stores/delete-value.js.map +1 -1
- package/dist/commands/key-value-stores/info.d.ts +1 -0
- package/dist/commands/key-value-stores/info.d.ts.map +1 -1
- package/dist/commands/key-value-stores/rm.js +1 -1
- package/dist/commands/key-value-stores/rm.js.map +1 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +125 -103
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/runs/info.d.ts +1 -0
- package/dist/commands/runs/info.d.ts.map +1 -1
- package/dist/commands/runs/rm.js +1 -1
- package/dist/commands/runs/rm.js.map +1 -1
- package/dist/lib/apify_command.d.ts.map +1 -1
- package/dist/lib/apify_command.js +13 -9
- package/dist/lib/apify_command.js.map +1 -1
- package/dist/lib/exec.d.ts +7 -1
- package/dist/lib/exec.d.ts.map +1 -1
- package/dist/lib/exec.js +3 -3
- package/dist/lib/exec.js.map +1 -1
- package/dist/lib/files.d.ts.map +1 -1
- package/dist/lib/files.js +4 -5
- package/dist/lib/files.js.map +1 -1
- package/dist/lib/hooks/runtimes/javascript.d.ts +4 -0
- package/dist/lib/hooks/runtimes/javascript.d.ts.map +1 -0
- package/dist/lib/hooks/runtimes/javascript.js +79 -0
- package/dist/lib/hooks/runtimes/javascript.js.map +1 -0
- package/dist/lib/hooks/runtimes/python.d.ts +8 -0
- package/dist/lib/hooks/runtimes/python.d.ts.map +1 -0
- package/dist/lib/hooks/runtimes/python.js +80 -0
- package/dist/lib/hooks/runtimes/python.js.map +1 -0
- package/dist/lib/hooks/useActorConfig.d.ts +20 -0
- package/dist/lib/hooks/useActorConfig.d.ts.map +1 -0
- package/dist/lib/hooks/useActorConfig.js +175 -0
- package/dist/lib/hooks/useActorConfig.js.map +1 -0
- package/dist/lib/hooks/useCwdProject.d.ts +33 -0
- package/dist/lib/hooks/useCwdProject.d.ts.map +1 -0
- package/dist/lib/hooks/useCwdProject.js +142 -0
- package/dist/lib/hooks/useCwdProject.js.map +1 -0
- package/dist/lib/hooks/useModuleVersion.d.ts +8 -0
- package/dist/lib/hooks/useModuleVersion.d.ts.map +1 -0
- package/dist/lib/hooks/useModuleVersion.js +95 -0
- package/dist/lib/hooks/useModuleVersion.js.map +1 -0
- package/dist/lib/input_schema.d.ts.map +1 -1
- package/dist/lib/input_schema.js +14 -7
- package/dist/lib/input_schema.js.map +1 -1
- package/dist/lib/local_state.d.ts +1 -1
- package/dist/lib/local_state.d.ts.map +1 -1
- package/dist/lib/local_state.js +5 -7
- package/dist/lib/local_state.js.map +1 -1
- package/dist/lib/secrets.d.ts +1 -1
- package/dist/lib/secrets.d.ts.map +1 -1
- package/dist/lib/secrets.js +5 -7
- package/dist/lib/secrets.js.map +1 -1
- package/dist/lib/telemetry.d.ts +1 -1
- package/dist/lib/telemetry.d.ts.map +1 -1
- package/dist/lib/telemetry.js +5 -8
- package/dist/lib/telemetry.js.map +1 -1
- package/dist/lib/{commands → utils}/confirm.d.ts +2 -1
- package/dist/lib/utils/confirm.d.ts.map +1 -0
- package/dist/lib/{commands → utils}/confirm.js +8 -6
- package/dist/lib/utils/confirm.js.map +1 -0
- package/dist/lib/utils.d.ts +1 -6
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +13 -200
- package/dist/lib/utils.js.map +1 -1
- package/dist/typechecking.tsbuildinfo +1 -1
- package/oclif.manifest.json +226 -226
- package/package.json +8 -10
- package/dist/lib/commands/confirm.d.ts.map +0 -1
- package/dist/lib/commands/confirm.js.map +0 -1
package/dist/commands/runs/rm.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ACTOR_JOB_STATUSES } from '@apify/consts';
|
|
2
2
|
import { Args } from '@oclif/core';
|
|
3
3
|
import { ApifyCommand } from '../../lib/apify_command.js';
|
|
4
|
-
import { confirmAction } from '../../lib/commands/confirm.js';
|
|
5
4
|
import { error, info, success } from '../../lib/outputs.js';
|
|
5
|
+
import { confirmAction } from '../../lib/utils/confirm.js';
|
|
6
6
|
import { getLoggedClientOrThrow } from '../../lib/utils.js';
|
|
7
7
|
const deletableStatuses = [
|
|
8
8
|
ACTOR_JOB_STATUSES.SUCCEEDED,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rm.js","sourceRoot":"","sources":["../../../src/commands/runs/rm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAGnC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"rm.js","sourceRoot":"","sources":["../../../src/commands/runs/rm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAGnC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,MAAM,iBAAiB,GAAG;IACzB,kBAAkB,CAAC,SAAS;IAC5B,kBAAkB,CAAC,MAAM;IACzB,kBAAkB,CAAC,OAAO;IAC1B,kBAAkB,CAAC,SAAS;CAC5B,CAAC;AAEF,MAAM,OAAO,aAAc,SAAQ,YAAkC;IACpE,MAAM,CAAU,WAAW,GAAG,uBAAuB,CAAC;IAEtD,MAAM,CAAU,IAAI,GAAG;QACtB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;YAClB,WAAW,EAAE,uBAAuB;YACpC,QAAQ,EAAE,IAAI;SACd,CAAC;KACF,CAAC;IAEF,KAAK,CAAC,GAAG;QACR,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAE5B,MAAM,WAAW,GAAG,MAAM,sBAAsB,EAAE,CAAC;QAEnD,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;QAE/C,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,KAAK,CAAC,EAAE,OAAO,EAAE,gBAAgB,KAAK,kCAAkC,EAAE,CAAC,CAAC;YAC5E,OAAO;QACR,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAe,CAAC,EAAE,CAAC;YACtD,KAAK,CAAC;gBACL,OAAO,EAAE,gBAAgB,KAAK,4EAA4E;aAC1G,CAAC,CAAC;YAEH,OAAO;QACR,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC;YAC3C,IAAI,EAAE,WAAW;YACjB,cAAc,EAAE,gDAAgD;SAChE,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,EAAE,CAAC;YACtB,IAAI,CAAC;gBACJ,OAAO,EAAE,oBAAoB,KAAK,iBAAiB;aACnD,CAAC,CAAC;YAEH,OAAO;QACR,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YAEtC,OAAO,CAAC;gBACP,OAAO,EAAE,gBAAgB,KAAK,gBAAgB;aAC9C,CAAC,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,GAAoB,CAAC;YACpC,KAAK,CAAC,EAAE,OAAO,EAAE,yBAAyB,KAAK,SAAS,MAAM,CAAC,OAAO,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;QACvF,CAAC;IACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apify_command.d.ts","sourceRoot":"","sources":["../../src/lib/apify_command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,KAAK,UAAU,EAAiB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"apify_command.d.ts","sourceRoot":"","sources":["../../src/lib/apify_command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,KAAK,UAAU,EAAiB,MAAM,aAAa,CAAC;AAKtE,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,YAAY,CAAC;AAGnE,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,OAAO,OAAO,IAAI,eAAe,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACzG,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,OAAO,OAAO,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAErF;;GAEG;AACH,8BAAsB,YAAY,CAAC,CAAC,SAAS,OAAO,OAAO,CAAE,SAAQ,OAAO;IAC3E,SAAS,CAAC,aAAa,EAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAElD,SAAS,CAAC,KAAK,EAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAChC,SAAS,CAAC,IAAI,EAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAEf,IAAI;IAmBJ,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK;IA0C5B,SAAS,CAAC,aAAa,CAAC,EAAE,MAAM;IAMtC,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;CAGhF"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import process from 'node:process';
|
|
2
2
|
import { Command, loadHelpClass } from '@oclif/core';
|
|
3
3
|
import { COMMANDS_WITHIN_ACTOR, LANGUAGE } from './consts.js';
|
|
4
|
+
import { ProjectLanguage, useCwdProject } from './hooks/useCwdProject.js';
|
|
4
5
|
import { maybeTrackTelemetry } from './telemetry.js';
|
|
5
|
-
import { argsToCamelCase
|
|
6
|
+
import { argsToCamelCase } from './utils.js';
|
|
6
7
|
import { detectInstallationType } from './version_check.js';
|
|
7
8
|
/**
|
|
8
9
|
* Adding parsing flags to oclif Command class
|
|
@@ -41,14 +42,17 @@ export class ApifyCommand extends Command {
|
|
|
41
42
|
try {
|
|
42
43
|
eventData.installationType = detectInstallationType();
|
|
43
44
|
if (!this.telemetryData.actorLanguage && command && COMMANDS_WITHIN_ACTOR.includes(command)) {
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
45
|
+
const cwdProject = await useCwdProject();
|
|
46
|
+
cwdProject.inspect((project) => {
|
|
47
|
+
if (project.type === ProjectLanguage.JavaScript) {
|
|
48
|
+
eventData.actorLanguage = LANGUAGE.NODEJS;
|
|
49
|
+
eventData.actorNodejsVersion = project.runtime.version;
|
|
50
|
+
}
|
|
51
|
+
else if (project.type === ProjectLanguage.Python || project.type === ProjectLanguage.Scrapy) {
|
|
52
|
+
eventData.actorLanguage = LANGUAGE.PYTHON;
|
|
53
|
+
eventData.actorPythonVersion = project.runtime.version;
|
|
54
|
+
}
|
|
55
|
+
});
|
|
52
56
|
}
|
|
53
57
|
await maybeTrackTelemetry({
|
|
54
58
|
eventName: `cli_command_${command}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apify_command.js","sourceRoot":"","sources":["../../src/lib/apify_command.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,OAAO,EAAmB,aAAa,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAwB,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"apify_command.js","sourceRoot":"","sources":["../../src/lib/apify_command.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/exec.d.ts
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
import { type SpawnOptionsWithoutStdio } from 'node:child_process';
|
|
2
|
-
export
|
|
2
|
+
export interface ExecWithLogOptions {
|
|
3
|
+
cmd: string;
|
|
4
|
+
args?: string[];
|
|
5
|
+
opts?: SpawnOptionsWithoutStdio;
|
|
6
|
+
overrideCommand?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function execWithLog({ cmd, args, opts, overrideCommand }: ExecWithLogOptions): Promise<void>;
|
|
3
9
|
//# sourceMappingURL=exec.d.ts.map
|
package/dist/lib/exec.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../src/lib/exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,wBAAwB,EAAS,MAAM,oBAAoB,CAAC;AA0C7F,
|
|
1
|
+
{"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../src/lib/exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,wBAAwB,EAAS,MAAM,oBAAoB,CAAC;AA0C7F,MAAM,WAAW,kBAAkB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,wBAAwB,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAsB,WAAW,CAAC,EAAE,GAAG,EAAE,IAAS,EAAE,IAAS,EAAE,eAAe,EAAE,EAAE,kBAAkB,iBAGnG"}
|
package/dist/lib/exec.js
CHANGED
|
@@ -20,7 +20,7 @@ const spawnPromised = async (cmd, args, opts) => {
|
|
|
20
20
|
// NOTE: This fix kills also puppeteer child node process
|
|
21
21
|
process.on('SIGINT', () => {
|
|
22
22
|
try {
|
|
23
|
-
childProcess.kill();
|
|
23
|
+
childProcess.kill('SIGINT');
|
|
24
24
|
}
|
|
25
25
|
catch {
|
|
26
26
|
// SIGINT can come after the child process is finished, ignore it
|
|
@@ -35,8 +35,8 @@ const spawnPromised = async (cmd, args, opts) => {
|
|
|
35
35
|
});
|
|
36
36
|
});
|
|
37
37
|
};
|
|
38
|
-
export async function execWithLog(cmd, args = [], opts = {}) {
|
|
39
|
-
run({ message: `${cmd} ${args.join(' ')}` });
|
|
38
|
+
export async function execWithLog({ cmd, args = [], opts = {}, overrideCommand }) {
|
|
39
|
+
run({ message: `${overrideCommand || cmd} ${args.join(' ')}` });
|
|
40
40
|
await spawnPromised(cmd, args, opts);
|
|
41
41
|
}
|
|
42
42
|
//# sourceMappingURL=exec.js.map
|
package/dist/lib/exec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/lib/exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoD,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC,MAAM,cAAc,GAAiB;IACpC,KAAK,EAAE,IAAI;IACX,WAAW,EAAE,IAAI;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,aAAa,GAAG,KAAK,EAAE,GAAW,EAAE,IAAc,EAAE,IAA8B,EAAE,EAAE;IAC3F,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAE1F,6CAA6C;IAC7C,MAAM,YAAY,GAAG,KAAK,CAAC,cAAc,EAAE,IAAI,EAAE;QAChD,GAAG,IAAI;QACP,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAChE,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;KACvD,CAAC,CAAC;IAEH,gDAAgD;IAChD,yDAAyD;IACzD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACzB,IAAI,CAAC;YACJ,YAAY,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/lib/exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoD,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC,MAAM,cAAc,GAAiB;IACpC,KAAK,EAAE,IAAI;IACX,WAAW,EAAE,IAAI;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,aAAa,GAAG,KAAK,EAAE,GAAW,EAAE,IAAc,EAAE,IAA8B,EAAE,EAAE;IAC3F,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAE1F,6CAA6C;IAC7C,MAAM,YAAY,GAAG,KAAK,CAAC,cAAc,EAAE,IAAI,EAAE;QAChD,GAAG,IAAI;QACP,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAChE,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;KACvD,CAAC,CAAC;IAEH,gDAAgD;IAChD,yDAAyD;IACzD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACzB,IAAI,CAAC;YACJ,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACR,iEAAiE;QAClE,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC5C,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACjC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACjC,IAAI,IAAI,KAAK,CAAC;gBAAE,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,GAAG,qBAAqB,IAAI,EAAE,CAAC,CAAC,CAAC;YACrE,OAAO,EAAE,CAAC;QACX,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AASF,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,eAAe,EAAsB;IACnG,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,eAAe,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IAChE,MAAM,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC"}
|
package/dist/lib/files.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/lib/files.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/lib/files.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,eAAe,GAC3B,cAAc,MAAM,EACpB,cAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACzC,uBAAuB,kBAevB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,GAAI,UAAU,MAAM,EAAE,aAAa,MAAM,SAgB3E,CAAC;AAEF,eAAO,MAAM,cAAc,GAAU,iBAAiB,MAAM,GAAG,MAAM,EAAE,kBAEtE,CAAC;AAEF,eAAO,MAAM,UAAU,GAAU,UAAU,MAAM,kBAKhD,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAU,aAAa,MAAM,EAAE,EAAE,KAAK,MAAM,oBAM3E,CAAC"}
|
package/dist/lib/files.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { existsSync, mkdirSync } from 'node:fs';
|
|
2
|
-
import { stat, unlink } from 'node:fs/promises';
|
|
2
|
+
import { readFile, stat, unlink, writeFile } from 'node:fs/promises';
|
|
3
3
|
import { join, sep } from 'node:path';
|
|
4
|
-
import { loadJsonFile } from 'load-json-file';
|
|
5
4
|
import { rimraf } from 'rimraf';
|
|
6
|
-
import { writeJsonFile } from 'write-json-file';
|
|
7
5
|
export const updateLocalJson = async (jsonFilePath, updateAttrs = {}, nestedObjectAttr = null) => {
|
|
6
|
+
const raw = await readFile(jsonFilePath, 'utf-8');
|
|
8
7
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
9
|
-
const currentObject = (
|
|
8
|
+
const currentObject = JSON.parse(raw);
|
|
10
9
|
let newObject;
|
|
11
10
|
if (nestedObjectAttr) {
|
|
12
11
|
newObject = currentObject;
|
|
@@ -15,7 +14,7 @@ export const updateLocalJson = async (jsonFilePath, updateAttrs = {}, nestedObje
|
|
|
15
14
|
else {
|
|
16
15
|
newObject = { ...currentObject, ...updateAttrs };
|
|
17
16
|
}
|
|
18
|
-
await
|
|
17
|
+
await writeFile(jsonFilePath, JSON.stringify(newObject, null, '\t'));
|
|
19
18
|
};
|
|
20
19
|
/**
|
|
21
20
|
* If you pass /foo/bar as rootPath and /baz/raz as folderPath then it ensures that following folders exists:
|
package/dist/lib/files.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/lib/files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/lib/files.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"javascript.d.ts","sourceRoot":"","sources":["../../../../src/lib/hooks/runtimes/javascript.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAI3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AA0CnD,wBAAsB,oBAAoB,CAAC,GAAG,SAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAiDxF"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import process from 'node:process';
|
|
2
|
+
import { none, some } from '@sapphire/result';
|
|
3
|
+
import { execa } from 'execa';
|
|
4
|
+
import which from 'which';
|
|
5
|
+
const cwdCache = new Map();
|
|
6
|
+
// Runtimes, in order of preference
|
|
7
|
+
const runtimesToCheck = {
|
|
8
|
+
node: ['--version'],
|
|
9
|
+
deno: ['eval', '"console.log(process.versions.node)"'],
|
|
10
|
+
bun: ['--eval', '"console.log(process.versions.node)"'],
|
|
11
|
+
};
|
|
12
|
+
async function getRuntimeVersion(runtimePath, args) {
|
|
13
|
+
try {
|
|
14
|
+
const result = await execa(runtimePath, args, {
|
|
15
|
+
shell: true,
|
|
16
|
+
windowsHide: true,
|
|
17
|
+
});
|
|
18
|
+
// No output -> issue or who knows
|
|
19
|
+
if (!result.stdout) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
return result.stdout.trim().replace(/^v/, '');
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
async function getNpmVersion(npmPath) {
|
|
29
|
+
const result = await execa(npmPath, ['--version'], {
|
|
30
|
+
shell: true,
|
|
31
|
+
windowsHide: true,
|
|
32
|
+
});
|
|
33
|
+
if (!result.stdout) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
return result.stdout.trim().replace(/^v/, '');
|
|
37
|
+
}
|
|
38
|
+
export async function useJavaScriptRuntime(cwd = process.cwd()) {
|
|
39
|
+
const cached = cwdCache.get(cwd);
|
|
40
|
+
if (cached) {
|
|
41
|
+
return cached;
|
|
42
|
+
}
|
|
43
|
+
for (const [runtime, args] of Object.entries(runtimesToCheck)) {
|
|
44
|
+
try {
|
|
45
|
+
const runtimePath = await which(runtime);
|
|
46
|
+
const version = await getRuntimeVersion(runtimePath, args);
|
|
47
|
+
if (version) {
|
|
48
|
+
const res = {
|
|
49
|
+
executablePath: runtimePath,
|
|
50
|
+
version,
|
|
51
|
+
};
|
|
52
|
+
// For npm, we also fetch the npm version
|
|
53
|
+
if (runtime === 'node') {
|
|
54
|
+
const npmPath = await which('npm').catch(() => null);
|
|
55
|
+
if (npmPath) {
|
|
56
|
+
res.pmPath = npmPath;
|
|
57
|
+
res.pmVersion = await getNpmVersion(npmPath);
|
|
58
|
+
res.pmName = 'npm';
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
// deno and bun support package.json scripts out of the box
|
|
62
|
+
else {
|
|
63
|
+
res.runtimeShorthand = runtime;
|
|
64
|
+
res.pmPath = runtimePath;
|
|
65
|
+
res.pmVersion = version;
|
|
66
|
+
res.pmName = runtime;
|
|
67
|
+
}
|
|
68
|
+
cwdCache.set(cwd, some(res));
|
|
69
|
+
return some(res);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
// Ignore errors
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
cwdCache.set(cwd, none);
|
|
77
|
+
return none;
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=javascript.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"javascript.js","sourceRoot":"","sources":["../../../../src/lib/hooks/runtimes/javascript.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAe,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;AAEpD,mCAAmC;AACnC,MAAM,eAAe,GAAG;IACvB,IAAI,EAAE,CAAC,WAAW,CAAC;IACnB,IAAI,EAAE,CAAC,MAAM,EAAE,sCAAsC,CAAC;IACtD,GAAG,EAAE,CAAC,QAAQ,EAAE,sCAAsC,CAAC;CACvD,CAAC;AAEF,KAAK,UAAU,iBAAiB,CAAC,WAAmB,EAAE,IAAc;IACnE,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE;YAC7C,KAAK,EAAE,IAAI;YACX,WAAW,EAAE,IAAI;SACjB,CAAC,CAAC;QAEH,kCAAkC;QAClC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACb,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,OAAe;IAC3C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE;QAClD,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,IAAI;KACjB,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAC7D,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAEjC,IAAI,MAAM,EAAE,CAAC;QACZ,OAAO,MAAM,CAAC;IACf,CAAC;IAED,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAA+C,EAAE,CAAC;QAC7G,IAAI,CAAC;YACJ,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;YAEzC,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAE3D,IAAI,OAAO,EAAE,CAAC;gBACb,MAAM,GAAG,GAAY;oBACpB,cAAc,EAAE,WAAW;oBAC3B,OAAO;iBACP,CAAC;gBAEF,yCAAyC;gBACzC,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;oBACxB,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;oBAErD,IAAI,OAAO,EAAE,CAAC;wBACb,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC;wBACrB,GAAG,CAAC,SAAS,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;wBAC7C,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC;oBACpB,CAAC;gBACF,CAAC;gBACD,2DAA2D;qBACtD,CAAC;oBACL,GAAG,CAAC,gBAAgB,GAAG,OAAO,CAAC;oBAC/B,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC;oBACzB,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC;oBACxB,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC;gBACtB,CAAC;gBAED,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAE7B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;YAClB,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,gBAAgB;QACjB,CAAC;IACF,CAAC;IAED,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAExB,OAAO,IAAI,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type Option } from '@sapphire/result';
|
|
2
|
+
import type { Runtime } from '../useCwdProject.js';
|
|
3
|
+
export interface UsePythonRuntimeInput {
|
|
4
|
+
cwd?: string;
|
|
5
|
+
force?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare function usePythonRuntime({ cwd, force, }?: UsePythonRuntimeInput): Promise<Option<Runtime>>;
|
|
8
|
+
//# sourceMappingURL=python.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"python.d.ts","sourceRoot":"","sources":["../../../../src/lib/hooks/runtimes/python.ts"],"names":[],"mappings":"AAKA,OAAO,EAAc,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAI3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAwBnD,MAAM,WAAW,qBAAqB;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,gBAAgB,CAAC,EACtC,GAAmB,EACnB,KAAa,GACb,GAAE,qBAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAuEvD"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { access } from 'node:fs/promises';
|
|
2
|
+
import { platform } from 'node:os';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import process from 'node:process';
|
|
5
|
+
import { none, some } from '@sapphire/result';
|
|
6
|
+
import { execa } from 'execa';
|
|
7
|
+
import which from 'which';
|
|
8
|
+
const cwdCache = new Map();
|
|
9
|
+
async function getPythonVersion(runtimePath) {
|
|
10
|
+
try {
|
|
11
|
+
const result = await execa(runtimePath, ['-c', '"import platform; print(platform.python_version())"'], {
|
|
12
|
+
shell: true,
|
|
13
|
+
windowsHide: true,
|
|
14
|
+
});
|
|
15
|
+
// No output -> issue or who knows
|
|
16
|
+
if (!result.stdout) {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
return result.stdout.trim();
|
|
20
|
+
}
|
|
21
|
+
catch (ex) {
|
|
22
|
+
// const casted = ex as ExecaError;
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export async function usePythonRuntime({ cwd = process.cwd(), force = false, } = {}) {
|
|
27
|
+
const cached = cwdCache.get(cwd);
|
|
28
|
+
if (cached && !force) {
|
|
29
|
+
return cached;
|
|
30
|
+
}
|
|
31
|
+
const isWindows = platform() === 'win32';
|
|
32
|
+
const pathParts = isWindows ? ['Scripts', 'python.exe'] : ['bin', 'python3'];
|
|
33
|
+
let fullPythonVenvPath;
|
|
34
|
+
if (process.env.VIRTUAL_ENV) {
|
|
35
|
+
fullPythonVenvPath = join(process.env.VIRTUAL_ENV, ...pathParts);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
fullPythonVenvPath = join(cwd, '.venv', ...pathParts);
|
|
39
|
+
}
|
|
40
|
+
try {
|
|
41
|
+
await access(fullPythonVenvPath);
|
|
42
|
+
const version = await getPythonVersion(fullPythonVenvPath);
|
|
43
|
+
if (version) {
|
|
44
|
+
cwdCache.set(cwd, some({
|
|
45
|
+
executablePath: fullPythonVenvPath,
|
|
46
|
+
version,
|
|
47
|
+
}));
|
|
48
|
+
return some({
|
|
49
|
+
executablePath: fullPythonVenvPath,
|
|
50
|
+
version,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
// Ignore errors
|
|
56
|
+
}
|
|
57
|
+
const fallbacks = ['python3', 'python', ...(isWindows ? ['python3.exe', 'python.exe'] : [])];
|
|
58
|
+
for (const fallback of fallbacks) {
|
|
59
|
+
try {
|
|
60
|
+
const fullPath = await which(fallback);
|
|
61
|
+
const version = await getPythonVersion(fullPath);
|
|
62
|
+
if (version) {
|
|
63
|
+
cwdCache.set(cwd, some({
|
|
64
|
+
executablePath: fullPath,
|
|
65
|
+
version,
|
|
66
|
+
}));
|
|
67
|
+
return some({
|
|
68
|
+
executablePath: fullPath,
|
|
69
|
+
version,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
// Continue
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
cwdCache.set(cwd, none);
|
|
78
|
+
return none;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=python.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"python.js","sourceRoot":"","sources":["../../../../src/lib/hooks/runtimes/python.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type Result } from '@sapphire/result';
|
|
2
|
+
export type ActorConfigError = {
|
|
3
|
+
message: string;
|
|
4
|
+
cause?: Error;
|
|
5
|
+
exists: boolean;
|
|
6
|
+
config: Record<string, unknown>;
|
|
7
|
+
};
|
|
8
|
+
export interface ActorConfigResult {
|
|
9
|
+
exists: boolean;
|
|
10
|
+
migrated: boolean;
|
|
11
|
+
config: Record<string, unknown>;
|
|
12
|
+
}
|
|
13
|
+
export interface ActorConfigInput {
|
|
14
|
+
cwd?: string;
|
|
15
|
+
migrateConfig?: boolean;
|
|
16
|
+
warnAboutOldConfig?: boolean;
|
|
17
|
+
}
|
|
18
|
+
export declare const cwdCache: Map<string, ActorConfigResult>;
|
|
19
|
+
export declare function useActorConfig({ cwd, migrateConfig, warnAboutOldConfig }?: ActorConfigInput): Promise<Result<ActorConfigResult, ActorConfigError>>;
|
|
20
|
+
//# sourceMappingURL=useActorConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useActorConfig.d.ts","sourceRoot":"","sources":["../../../src/lib/hooks/useActorConfig.ts"],"names":[],"mappings":"AAKA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AASxD,MAAM,MAAM,gBAAgB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,WAAW,iBAAiB;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,eAAO,MAAM,QAAQ,gCAAuC,CAAC;AAE7D,wBAAsB,cAAc,CACnC,EAAE,GAAmB,EAAE,aAAoB,EAAE,kBAAyB,EAAE,GAAE,gBAIzE,GACC,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,CA8DtD"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { mkdir, rename, writeFile } from 'node:fs/promises';
|
|
2
|
+
import { dirname, join } from 'node:path';
|
|
3
|
+
import process from 'node:process';
|
|
4
|
+
import { inspect } from 'node:util';
|
|
5
|
+
import { err, ok } from '@sapphire/result';
|
|
6
|
+
import { ACTOR_SPECIFICATION_VERSION, DEPRECATED_LOCAL_CONFIG_NAME } from '../consts.js';
|
|
7
|
+
import { error, info, warning } from '../outputs.js';
|
|
8
|
+
import { confirmAction } from '../utils/confirm.js';
|
|
9
|
+
import { getJsonFileContent, getLocalConfigPath } from '../utils.js';
|
|
10
|
+
const getDeprecatedLocalConfigPath = (cwd) => join(cwd, DEPRECATED_LOCAL_CONFIG_NAME);
|
|
11
|
+
export const cwdCache = new Map();
|
|
12
|
+
export async function useActorConfig({ cwd = process.cwd(), migrateConfig = true, warnAboutOldConfig = true } = {
|
|
13
|
+
cwd: process.cwd(),
|
|
14
|
+
migrateConfig: true,
|
|
15
|
+
warnAboutOldConfig: true,
|
|
16
|
+
}) {
|
|
17
|
+
const cached = cwdCache.get(cwd);
|
|
18
|
+
if (cached) {
|
|
19
|
+
return ok(cached);
|
|
20
|
+
}
|
|
21
|
+
const newConfigPath = getLocalConfigPath(cwd);
|
|
22
|
+
const deprecatedConfigPath = getDeprecatedLocalConfigPath(cwd);
|
|
23
|
+
let config;
|
|
24
|
+
let deprecatedConfig;
|
|
25
|
+
try {
|
|
26
|
+
config = getJsonFileContent(newConfigPath);
|
|
27
|
+
}
|
|
28
|
+
catch (ex) {
|
|
29
|
+
return err({
|
|
30
|
+
message: `Failed to read local config at path: '${newConfigPath}':`,
|
|
31
|
+
cause: ex,
|
|
32
|
+
exists: false,
|
|
33
|
+
config: {},
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
try {
|
|
37
|
+
deprecatedConfig = getJsonFileContent(deprecatedConfigPath);
|
|
38
|
+
}
|
|
39
|
+
catch (ex) {
|
|
40
|
+
return err({
|
|
41
|
+
message: `Failed to read local config at path: '${deprecatedConfigPath}':`,
|
|
42
|
+
cause: ex,
|
|
43
|
+
exists: false,
|
|
44
|
+
config: {},
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
// Handle cleanup of deprecated config, we just ignore the deprecated config if both exist
|
|
48
|
+
if (config && deprecatedConfig && warnAboutOldConfig) {
|
|
49
|
+
await handleBothConfigVersionsFound(deprecatedConfigPath);
|
|
50
|
+
}
|
|
51
|
+
if (!config && !deprecatedConfig) {
|
|
52
|
+
cwdCache.set(cwd, { exists: false, migrated: false, config: {} });
|
|
53
|
+
return ok({ exists: false, migrated: false, config: {} });
|
|
54
|
+
}
|
|
55
|
+
let migrated = false;
|
|
56
|
+
if (!config && deprecatedConfig && migrateConfig) {
|
|
57
|
+
const migratedConfig = await handleMigrationFlow(deprecatedConfig, deprecatedConfigPath, newConfigPath);
|
|
58
|
+
if (migratedConfig.isErr()) {
|
|
59
|
+
return err(migratedConfig.unwrapErr());
|
|
60
|
+
}
|
|
61
|
+
config = migratedConfig.unwrap();
|
|
62
|
+
migrated = true;
|
|
63
|
+
}
|
|
64
|
+
cwdCache.set(cwd, { exists: true, migrated, config: config || deprecatedConfig || {} });
|
|
65
|
+
return ok({ exists: true, migrated, config: config || deprecatedConfig || {} });
|
|
66
|
+
}
|
|
67
|
+
async function handleBothConfigVersionsFound(deprecatedConfigPath) {
|
|
68
|
+
const confirmed = await confirmAction({
|
|
69
|
+
type: 'actor config',
|
|
70
|
+
message: `The new version of Apify CLI uses the ".actor/actor.json" instead of the "apify.json" file. Since we have found both files in your Actor directory, "apify.json" will be renamed to "apify.json.deprecated". Going forward, all commands will use ".actor/actor.json". You can read about the differences between the old and the new config at https://github.com/apify/apify-cli/blob/master/MIGRATIONS.md. Do you want to continue?`,
|
|
71
|
+
});
|
|
72
|
+
// If users refuse to migrate, 🤷
|
|
73
|
+
if (!confirmed) {
|
|
74
|
+
warning({
|
|
75
|
+
message: 'The "apify.json" file present in your Actor directory will be ignored, and the new ".actor/actor.json" file will be used instead. Please, either rename or remove the old file.',
|
|
76
|
+
});
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
try {
|
|
80
|
+
await rename(deprecatedConfigPath, `${deprecatedConfigPath}.deprecated`);
|
|
81
|
+
info({
|
|
82
|
+
message: `The "apify.json" file has been renamed to "apify.json.deprecated". The deprecated file is no longer used by the CLI or Apify Console. If you do not need it for some specific purpose, it can be safely deleted.`,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
catch (ex) {
|
|
86
|
+
if (ex instanceof Error) {
|
|
87
|
+
error({
|
|
88
|
+
message: `Failed to rename the deprecated "apify.json" file to "apify.json.deprecated".\n ${ex.message || ex}`,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
error({
|
|
93
|
+
message: `Failed to rename the deprecated "apify.json" file to "apify.json.deprecated".\n ${inspect(ex, { showHidden: false })}`,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
// Properties from apify.json file that will me migrated to Actor specs in .actor/actor.json
|
|
99
|
+
const MIGRATED_APIFY_JSON_PROPERTIES = ['name', 'version', 'buildTag'];
|
|
100
|
+
async function handleMigrationFlow(deprecatedConfig, deprecatedConfigPath, configPath) {
|
|
101
|
+
let migratedConfig = { ...deprecatedConfig };
|
|
102
|
+
if (typeof migratedConfig.version === 'object') {
|
|
103
|
+
migratedConfig = updateLocalConfigStructure(migratedConfig);
|
|
104
|
+
}
|
|
105
|
+
migratedConfig = {
|
|
106
|
+
actorSpecification: ACTOR_SPECIFICATION_VERSION,
|
|
107
|
+
environmentVariables: deprecatedConfig?.env || undefined,
|
|
108
|
+
...MIGRATED_APIFY_JSON_PROPERTIES.reduce((acc, prop) => {
|
|
109
|
+
acc[prop] = deprecatedConfig[prop];
|
|
110
|
+
return acc;
|
|
111
|
+
}, {}),
|
|
112
|
+
};
|
|
113
|
+
const confirmed = await confirmAction({
|
|
114
|
+
type: 'actor config',
|
|
115
|
+
message: `The new version of Apify CLI uses the ".actor/actor.json" instead of the "apify.json" file. Your "apify.json" file will be automatically updated to the new format under ".actor/actor.json". The original file will be renamed by adding the ".deprecated" suffix. Do you want to continue?`,
|
|
116
|
+
});
|
|
117
|
+
if (!confirmed) {
|
|
118
|
+
return err({
|
|
119
|
+
message: 'Command can not run with old "apify.json" structure. Either let the CLI auto-update it or follow the guide on https://github.com/apify/apify-cli/blob/master/MIGRATIONS.md and update it manually.',
|
|
120
|
+
exists: true,
|
|
121
|
+
config: migratedConfig,
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
// If we fail to write the new config, its an error
|
|
125
|
+
try {
|
|
126
|
+
await mkdir(dirname(configPath), { recursive: true });
|
|
127
|
+
await writeFile(configPath, JSON.stringify(migratedConfig, null, '\t'));
|
|
128
|
+
}
|
|
129
|
+
catch (ex) {
|
|
130
|
+
const casted = ex;
|
|
131
|
+
return err({
|
|
132
|
+
message: `Failed to write the new "actor.json" file to path: '${configPath}'.\n ${casted.message || casted}`,
|
|
133
|
+
exists: true,
|
|
134
|
+
config: migratedConfig,
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
// but if we fail to rename the deprecated config, its a warning, cause future runs will ignore it
|
|
138
|
+
try {
|
|
139
|
+
await rename(deprecatedConfigPath, `${deprecatedConfigPath}.deprecated`);
|
|
140
|
+
}
|
|
141
|
+
catch (ex) {
|
|
142
|
+
const casted = ex;
|
|
143
|
+
warning({
|
|
144
|
+
message: `Failed to rename the deprecated "apify.json" file to "apify.json.deprecated".\n ${casted.message || casted}`,
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
info({
|
|
148
|
+
message: `The "apify.json" file has been migrated to ".actor/actor.json" and the original file renamed to "apify.json.deprecated". The deprecated file is no longer used by the CLI or Apify Console. If you do not need it for some specific purpose, it can be safely deleted. Do not forget to commit the new file to your Git repository.`,
|
|
149
|
+
});
|
|
150
|
+
return ok(migratedConfig);
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Migration for deprecated structure of apify.json to latest.
|
|
154
|
+
*/
|
|
155
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
156
|
+
function updateLocalConfigStructure(localConfig) {
|
|
157
|
+
const updatedLocalConfig = {
|
|
158
|
+
name: localConfig.name,
|
|
159
|
+
template: localConfig.template,
|
|
160
|
+
version: localConfig.version.versionNumber,
|
|
161
|
+
buildTag: localConfig.version.buildTag,
|
|
162
|
+
env: null,
|
|
163
|
+
};
|
|
164
|
+
if (localConfig.version.envVars?.length) {
|
|
165
|
+
const env = {};
|
|
166
|
+
localConfig.version.envVars.forEach((envVar) => {
|
|
167
|
+
if (envVar.name && envVar.value) {
|
|
168
|
+
env[envVar.name] = envVar.value;
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
updatedLocalConfig.env = env;
|
|
172
|
+
}
|
|
173
|
+
return updatedLocalConfig;
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=useActorConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useActorConfig.js","sourceRoot":"","sources":["../../../src/lib/hooks/useActorConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type Result } from '@sapphire/result';
|
|
2
|
+
export declare enum ProjectLanguage {
|
|
3
|
+
JavaScript = 0,
|
|
4
|
+
Python = 1,
|
|
5
|
+
Scrapy = 2,
|
|
6
|
+
Unknown = 3,
|
|
7
|
+
StaticEntrypoint = 4
|
|
8
|
+
}
|
|
9
|
+
export interface Runtime {
|
|
10
|
+
executablePath: string;
|
|
11
|
+
version: string;
|
|
12
|
+
pmName?: string;
|
|
13
|
+
pmPath?: string | null;
|
|
14
|
+
pmVersion?: string | null;
|
|
15
|
+
runtimeShorthand?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface Entrypoint {
|
|
18
|
+
path?: string;
|
|
19
|
+
script?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface CwdProject {
|
|
22
|
+
type: ProjectLanguage;
|
|
23
|
+
entrypoint?: Entrypoint;
|
|
24
|
+
runtime?: Runtime;
|
|
25
|
+
}
|
|
26
|
+
export interface CwdProjectError {
|
|
27
|
+
message: string;
|
|
28
|
+
}
|
|
29
|
+
export declare const cwdCache: Map<string, CwdProject>;
|
|
30
|
+
export declare function useCwdProject({ cwd, }?: {
|
|
31
|
+
cwd?: string;
|
|
32
|
+
}): Promise<Result<CwdProject, CwdProjectError>>;
|
|
33
|
+
//# sourceMappingURL=useCwdProject.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCwdProject.d.ts","sourceRoot":"","sources":["../../../src/lib/hooks/useCwdProject.ts"],"names":[],"mappings":"AAIA,OAAO,EAAM,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAMnD,oBAAY,eAAe;IAC1B,UAAU,IAAI;IACd,MAAM,IAAI;IAEV,MAAM,IAAI;IACV,OAAO,IAAI;IAGX,gBAAgB,IAAI;CACpB;AAED,MAAM,WAAW,OAAO;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IAC1B,IAAI,EAAE,eAAe,CAAC;IACtB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC/B,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,QAAQ,yBAAgC,CAAC;AAEtD,wBAAsB,aAAa,CAAC,EACnC,GAAmB,GACnB,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAmFtE"}
|