movehat 0.2.3 → 0.2.5
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/README.md +1 -1
- package/dist/cli.d.ts +0 -1
- package/dist/cli.js +0 -1
- package/dist/commands/compile.d.ts +0 -1
- package/dist/commands/compile.js +0 -1
- package/dist/commands/fork/create.d.ts +1 -1
- package/dist/commands/fork/create.js +18 -3
- package/dist/commands/fork/fund.d.ts +0 -1
- package/dist/commands/fork/fund.js +0 -1
- package/dist/commands/fork/list.d.ts +0 -1
- package/dist/commands/fork/list.js +0 -1
- package/dist/commands/fork/serve.d.ts +0 -1
- package/dist/commands/fork/serve.js +0 -1
- package/dist/commands/fork/view-resource.d.ts +0 -1
- package/dist/commands/fork/view-resource.js +0 -1
- package/dist/commands/init.d.ts +0 -1
- package/dist/commands/init.js +0 -1
- package/dist/commands/run.d.ts +0 -1
- package/dist/commands/run.js +0 -1
- package/dist/commands/test-move.d.ts +0 -1
- package/dist/commands/test-move.js +0 -1
- package/dist/commands/test.d.ts +0 -1
- package/dist/commands/test.js +8 -1
- package/dist/commands/update.d.ts +0 -1
- package/dist/commands/update.js +0 -1
- package/dist/core/AccountManager.d.ts +15 -2
- package/dist/core/AccountManager.js +32 -20
- package/dist/core/Publisher.d.ts +0 -1
- package/dist/core/Publisher.js +0 -1
- package/dist/core/config.d.ts +0 -1
- package/dist/core/config.js +0 -1
- package/dist/core/contract.d.ts +0 -1
- package/dist/core/contract.js +0 -1
- package/dist/core/deployments.d.ts +0 -1
- package/dist/core/deployments.js +0 -1
- package/dist/core/movementProfile.d.ts +0 -1
- package/dist/core/movementProfile.js +0 -1
- package/dist/core/shell.d.ts +0 -1
- package/dist/core/shell.js +0 -1
- package/dist/errors.d.ts +0 -1
- package/dist/errors.js +0 -1
- package/dist/fork/api.d.ts +24 -1
- package/dist/fork/api.js +95 -1
- package/dist/fork/manager.d.ts +15 -2
- package/dist/fork/manager.js +20 -2
- package/dist/fork/server.d.ts +19 -1
- package/dist/fork/server.js +188 -8
- package/dist/fork/storage.d.ts +0 -1
- package/dist/fork/storage.js +50 -32
- package/dist/fork/test.d.ts +0 -1
- package/dist/fork/test.js +0 -1
- package/dist/harness/Harness.d.ts +0 -1
- package/dist/harness/Harness.js +6 -2
- package/dist/harness/codeObject.d.ts +0 -1
- package/dist/harness/codeObject.js +0 -1
- package/dist/harness/errors.d.ts +0 -1
- package/dist/harness/errors.js +0 -1
- package/dist/harness/index.d.ts +0 -1
- package/dist/harness/index.js +0 -1
- package/dist/harness/proxy.d.ts +12 -1
- package/dist/harness/proxy.js +23 -1
- package/dist/harness/script.d.ts +0 -1
- package/dist/harness/script.js +0 -1
- package/dist/harness/view.d.ts +0 -1
- package/dist/harness/view.js +0 -1
- package/dist/helpers/assertions.d.ts +0 -1
- package/dist/helpers/assertions.js +0 -1
- package/dist/helpers/banner.d.ts +0 -1
- package/dist/helpers/banner.js +0 -1
- package/dist/helpers/index.d.ts +0 -1
- package/dist/helpers/index.js +0 -1
- package/dist/helpers/move-tests.d.ts +0 -1
- package/dist/helpers/move-tests.js +0 -1
- package/dist/helpers/npm-registry.d.ts +0 -1
- package/dist/helpers/npm-registry.js +0 -1
- package/dist/helpers/semver-utils.d.ts +0 -1
- package/dist/helpers/semver-utils.js +0 -1
- package/dist/helpers/setup.d.ts +0 -1
- package/dist/helpers/setup.js +0 -1
- package/dist/helpers/setupLocalTesting.d.ts +2 -5
- package/dist/helpers/setupLocalTesting.js +2 -3
- package/dist/helpers/testFixtures.d.ts +0 -1
- package/dist/helpers/testFixtures.js +0 -1
- package/dist/helpers/version-check.d.ts +0 -1
- package/dist/helpers/version-check.js +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/node/LocalNodeManager.d.ts +1 -2
- package/dist/node/LocalNodeManager.js +6 -4
- package/dist/runtime.d.ts +0 -1
- package/dist/runtime.js +0 -1
- package/dist/types/config.d.ts +0 -1
- package/dist/types/config.js +0 -1
- package/dist/types/fork.d.ts +0 -1
- package/dist/types/fork.js +0 -1
- package/dist/types/harness.d.ts +0 -1
- package/dist/types/harness.js +0 -1
- package/dist/types/runtime.d.ts +0 -1
- package/dist/types/runtime.js +0 -1
- package/dist/ui/colors.d.ts +0 -1
- package/dist/ui/colors.js +0 -1
- package/dist/ui/formatters.d.ts +0 -1
- package/dist/ui/formatters.js +0 -1
- package/dist/ui/index.d.ts +0 -1
- package/dist/ui/index.js +0 -1
- package/dist/ui/logger.d.ts +0 -1
- package/dist/ui/logger.js +0 -1
- package/dist/ui/spinner.d.ts +0 -1
- package/dist/ui/spinner.js +0 -1
- package/dist/ui/symbols.d.ts +0 -1
- package/dist/ui/symbols.js +0 -1
- package/dist/ui/table.d.ts +0 -1
- package/dist/ui/table.js +0 -1
- package/dist/utils/address.d.ts +0 -1
- package/dist/utils/address.js +0 -1
- package/dist/utils/childProcessAdapter.d.ts +0 -1
- package/dist/utils/childProcessAdapter.js +46 -20
- package/dist/utils/movementCli.d.ts +5 -0
- package/dist/utils/movementCli.js +91 -0
- package/dist/utils/parseCliOutput.d.ts +0 -1
- package/dist/utils/parseCliOutput.js +0 -1
- package/dist/utils/redact.d.ts +3 -3
- package/dist/utils/redact.js +6 -5
- package/dist/utils/runCli.d.ts +0 -1
- package/dist/utils/runCli.js +10 -2
- package/package.json +4 -4
- package/dist/__tests__/deployContract.test.d.ts +0 -2
- package/dist/__tests__/deployContract.test.d.ts.map +0 -1
- package/dist/__tests__/deployContract.test.js +0 -377
- package/dist/__tests__/deployContract.test.js.map +0 -1
- package/dist/__tests__/errors.test.d.ts +0 -2
- package/dist/__tests__/errors.test.d.ts.map +0 -1
- package/dist/__tests__/errors.test.js +0 -46
- package/dist/__tests__/errors.test.js.map +0 -1
- package/dist/__tests__/exports.test.d.ts +0 -2
- package/dist/__tests__/exports.test.d.ts.map +0 -1
- package/dist/__tests__/exports.test.js +0 -30
- package/dist/__tests__/exports.test.js.map +0 -1
- package/dist/__tests__/fixtures/sigint-deploy-harness.d.ts +0 -25
- package/dist/__tests__/fixtures/sigint-deploy-harness.d.ts.map +0 -1
- package/dist/__tests__/fixtures/sigint-deploy-harness.js +0 -83
- package/dist/__tests__/fixtures/sigint-deploy-harness.js.map +0 -1
- package/dist/__tests__/fork/api.test.d.ts +0 -2
- package/dist/__tests__/fork/api.test.d.ts.map +0 -1
- package/dist/__tests__/fork/api.test.js +0 -115
- package/dist/__tests__/fork/api.test.js.map +0 -1
- package/dist/__tests__/fork/api.timeout.test.d.ts +0 -2
- package/dist/__tests__/fork/api.timeout.test.d.ts.map +0 -1
- package/dist/__tests__/fork/api.timeout.test.js +0 -98
- package/dist/__tests__/fork/api.timeout.test.js.map +0 -1
- package/dist/__tests__/harness/Harness.createLive.test.d.ts +0 -2
- package/dist/__tests__/harness/Harness.createLive.test.d.ts.map +0 -1
- package/dist/__tests__/harness/Harness.createLive.test.js +0 -53
- package/dist/__tests__/harness/Harness.createLive.test.js.map +0 -1
- package/dist/__tests__/harness/Harness.proxy.test.d.ts +0 -2
- package/dist/__tests__/harness/Harness.proxy.test.d.ts.map +0 -1
- package/dist/__tests__/harness/Harness.proxy.test.js +0 -89
- package/dist/__tests__/harness/Harness.proxy.test.js.map +0 -1
- package/dist/__tests__/harness/_fixture.d.ts +0 -54
- package/dist/__tests__/harness/_fixture.d.ts.map +0 -1
- package/dist/__tests__/harness/_fixture.js +0 -69
- package/dist/__tests__/harness/_fixture.js.map +0 -1
- package/dist/__tests__/harness/codeObject.deploy.test.d.ts +0 -2
- package/dist/__tests__/harness/codeObject.deploy.test.d.ts.map +0 -1
- package/dist/__tests__/harness/codeObject.deploy.test.js +0 -288
- package/dist/__tests__/harness/codeObject.deploy.test.js.map +0 -1
- package/dist/__tests__/harness/codeObject.upgrade.test.d.ts +0 -2
- package/dist/__tests__/harness/codeObject.upgrade.test.d.ts.map +0 -1
- package/dist/__tests__/harness/codeObject.upgrade.test.js +0 -138
- package/dist/__tests__/harness/codeObject.upgrade.test.js.map +0 -1
- package/dist/__tests__/harness/script.test.d.ts +0 -2
- package/dist/__tests__/harness/script.test.d.ts.map +0 -1
- package/dist/__tests__/harness/script.test.js +0 -219
- package/dist/__tests__/harness/script.test.js.map +0 -1
- package/dist/__tests__/harness/view.test.d.ts +0 -2
- package/dist/__tests__/harness/view.test.d.ts.map +0 -1
- package/dist/__tests__/harness/view.test.js +0 -92
- package/dist/__tests__/harness/view.test.js.map +0 -1
- package/dist/__tests__/runtime.test.d.ts +0 -2
- package/dist/__tests__/runtime.test.d.ts.map +0 -1
- package/dist/__tests__/runtime.test.js +0 -141
- package/dist/__tests__/runtime.test.js.map +0 -1
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/commands/__tests__/compile.test.d.ts +0 -2
- package/dist/commands/__tests__/compile.test.d.ts.map +0 -1
- package/dist/commands/__tests__/compile.test.js +0 -351
- package/dist/commands/__tests__/compile.test.js.map +0 -1
- package/dist/commands/__tests__/compile.toml-mutation.test.d.ts +0 -2
- package/dist/commands/__tests__/compile.toml-mutation.test.d.ts.map +0 -1
- package/dist/commands/__tests__/compile.toml-mutation.test.js +0 -69
- package/dist/commands/__tests__/compile.toml-mutation.test.js.map +0 -1
- package/dist/commands/__tests__/init.test.d.ts +0 -2
- package/dist/commands/__tests__/init.test.d.ts.map +0 -1
- package/dist/commands/__tests__/init.test.js +0 -163
- package/dist/commands/__tests__/init.test.js.map +0 -1
- package/dist/commands/__tests__/run.test.d.ts +0 -2
- package/dist/commands/__tests__/run.test.d.ts.map +0 -1
- package/dist/commands/__tests__/run.test.js +0 -166
- package/dist/commands/__tests__/run.test.js.map +0 -1
- package/dist/commands/__tests__/test-move.test.d.ts +0 -2
- package/dist/commands/__tests__/test-move.test.d.ts.map +0 -1
- package/dist/commands/__tests__/test-move.test.js +0 -59
- package/dist/commands/__tests__/test-move.test.js.map +0 -1
- package/dist/commands/__tests__/test.test.d.ts +0 -2
- package/dist/commands/__tests__/test.test.d.ts.map +0 -1
- package/dist/commands/__tests__/test.test.js +0 -168
- package/dist/commands/__tests__/test.test.js.map +0 -1
- package/dist/commands/__tests__/update.test.d.ts +0 -2
- package/dist/commands/__tests__/update.test.d.ts.map +0 -1
- package/dist/commands/__tests__/update.test.js +0 -176
- package/dist/commands/__tests__/update.test.js.map +0 -1
- package/dist/commands/compile.d.ts.map +0 -1
- package/dist/commands/compile.js.map +0 -1
- package/dist/commands/fork/__tests__/create.test.d.ts +0 -2
- package/dist/commands/fork/__tests__/create.test.d.ts.map +0 -1
- package/dist/commands/fork/__tests__/create.test.js +0 -108
- package/dist/commands/fork/__tests__/create.test.js.map +0 -1
- package/dist/commands/fork/__tests__/fund.test.d.ts +0 -2
- package/dist/commands/fork/__tests__/fund.test.d.ts.map +0 -1
- package/dist/commands/fork/__tests__/fund.test.js +0 -72
- package/dist/commands/fork/__tests__/fund.test.js.map +0 -1
- package/dist/commands/fork/__tests__/list.test.d.ts +0 -2
- package/dist/commands/fork/__tests__/list.test.d.ts.map +0 -1
- package/dist/commands/fork/__tests__/list.test.js +0 -119
- package/dist/commands/fork/__tests__/list.test.js.map +0 -1
- package/dist/commands/fork/__tests__/serve.test.d.ts +0 -2
- package/dist/commands/fork/__tests__/serve.test.d.ts.map +0 -1
- package/dist/commands/fork/__tests__/serve.test.js +0 -97
- package/dist/commands/fork/__tests__/serve.test.js.map +0 -1
- package/dist/commands/fork/__tests__/view-resource.test.d.ts +0 -2
- package/dist/commands/fork/__tests__/view-resource.test.d.ts.map +0 -1
- package/dist/commands/fork/__tests__/view-resource.test.js +0 -77
- package/dist/commands/fork/__tests__/view-resource.test.js.map +0 -1
- package/dist/commands/fork/create.d.ts.map +0 -1
- package/dist/commands/fork/create.js.map +0 -1
- package/dist/commands/fork/fund.d.ts.map +0 -1
- package/dist/commands/fork/fund.js.map +0 -1
- package/dist/commands/fork/list.d.ts.map +0 -1
- package/dist/commands/fork/list.js.map +0 -1
- package/dist/commands/fork/serve.d.ts.map +0 -1
- package/dist/commands/fork/serve.js.map +0 -1
- package/dist/commands/fork/view-resource.d.ts.map +0 -1
- package/dist/commands/fork/view-resource.js.map +0 -1
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/run.d.ts.map +0 -1
- package/dist/commands/run.js.map +0 -1
- package/dist/commands/test-move.d.ts.map +0 -1
- package/dist/commands/test-move.js.map +0 -1
- package/dist/commands/test.d.ts.map +0 -1
- package/dist/commands/test.js.map +0 -1
- package/dist/commands/update.d.ts.map +0 -1
- package/dist/commands/update.js.map +0 -1
- package/dist/core/AccountManager.d.ts.map +0 -1
- package/dist/core/AccountManager.js.map +0 -1
- package/dist/core/Publisher.d.ts.map +0 -1
- package/dist/core/Publisher.js.map +0 -1
- package/dist/core/__tests__/AccountManager.global-state.test.d.ts +0 -2
- package/dist/core/__tests__/AccountManager.global-state.test.d.ts.map +0 -1
- package/dist/core/__tests__/AccountManager.global-state.test.js +0 -69
- package/dist/core/__tests__/AccountManager.global-state.test.js.map +0 -1
- package/dist/core/__tests__/AccountManager.test.d.ts +0 -2
- package/dist/core/__tests__/AccountManager.test.d.ts.map +0 -1
- package/dist/core/__tests__/AccountManager.test.js +0 -239
- package/dist/core/__tests__/AccountManager.test.js.map +0 -1
- package/dist/core/__tests__/config.test.d.ts +0 -2
- package/dist/core/__tests__/config.test.d.ts.map +0 -1
- package/dist/core/__tests__/config.test.js +0 -311
- package/dist/core/__tests__/config.test.js.map +0 -1
- package/dist/core/__tests__/deployments.test.d.ts +0 -2
- package/dist/core/__tests__/deployments.test.d.ts.map +0 -1
- package/dist/core/__tests__/deployments.test.js +0 -201
- package/dist/core/__tests__/deployments.test.js.map +0 -1
- package/dist/core/__tests__/movementProfile.test.d.ts +0 -2
- package/dist/core/__tests__/movementProfile.test.d.ts.map +0 -1
- package/dist/core/__tests__/movementProfile.test.js +0 -112
- package/dist/core/__tests__/movementProfile.test.js.map +0 -1
- package/dist/core/__tests__/shell.test.d.ts +0 -2
- package/dist/core/__tests__/shell.test.d.ts.map +0 -1
- package/dist/core/__tests__/shell.test.js +0 -107
- package/dist/core/__tests__/shell.test.js.map +0 -1
- package/dist/core/config.d.ts.map +0 -1
- package/dist/core/config.js.map +0 -1
- package/dist/core/contract.d.ts.map +0 -1
- package/dist/core/contract.js.map +0 -1
- package/dist/core/deployments.d.ts.map +0 -1
- package/dist/core/deployments.js.map +0 -1
- package/dist/core/movementProfile.d.ts.map +0 -1
- package/dist/core/movementProfile.js.map +0 -1
- package/dist/core/shell.d.ts.map +0 -1
- package/dist/core/shell.js.map +0 -1
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js.map +0 -1
- package/dist/fork/__tests__/manager.test.d.ts +0 -2
- package/dist/fork/__tests__/manager.test.d.ts.map +0 -1
- package/dist/fork/__tests__/manager.test.js +0 -309
- package/dist/fork/__tests__/manager.test.js.map +0 -1
- package/dist/fork/__tests__/server.cors.test.d.ts +0 -2
- package/dist/fork/__tests__/server.cors.test.d.ts.map +0 -1
- package/dist/fork/__tests__/server.cors.test.js +0 -79
- package/dist/fork/__tests__/server.cors.test.js.map +0 -1
- package/dist/fork/__tests__/server.test.d.ts +0 -2
- package/dist/fork/__tests__/server.test.d.ts.map +0 -1
- package/dist/fork/__tests__/server.test.js +0 -54
- package/dist/fork/__tests__/server.test.js.map +0 -1
- package/dist/fork/__tests__/storage.test.d.ts +0 -2
- package/dist/fork/__tests__/storage.test.d.ts.map +0 -1
- package/dist/fork/__tests__/storage.test.js +0 -222
- package/dist/fork/__tests__/storage.test.js.map +0 -1
- package/dist/fork/__tests__/test.test.d.ts +0 -2
- package/dist/fork/__tests__/test.test.d.ts.map +0 -1
- package/dist/fork/__tests__/test.test.js +0 -81
- package/dist/fork/__tests__/test.test.js.map +0 -1
- package/dist/fork/api.d.ts.map +0 -1
- package/dist/fork/api.js.map +0 -1
- package/dist/fork/manager.d.ts.map +0 -1
- package/dist/fork/manager.js.map +0 -1
- package/dist/fork/server.d.ts.map +0 -1
- package/dist/fork/server.js.map +0 -1
- package/dist/fork/storage.d.ts.map +0 -1
- package/dist/fork/storage.js.map +0 -1
- package/dist/fork/test.d.ts.map +0 -1
- package/dist/fork/test.js.map +0 -1
- package/dist/harness/Harness.d.ts.map +0 -1
- package/dist/harness/Harness.js.map +0 -1
- package/dist/harness/codeObject.d.ts.map +0 -1
- package/dist/harness/codeObject.js.map +0 -1
- package/dist/harness/errors.d.ts.map +0 -1
- package/dist/harness/errors.js.map +0 -1
- package/dist/harness/index.d.ts.map +0 -1
- package/dist/harness/index.js.map +0 -1
- package/dist/harness/proxy.d.ts.map +0 -1
- package/dist/harness/proxy.js.map +0 -1
- package/dist/harness/script.d.ts.map +0 -1
- package/dist/harness/script.js.map +0 -1
- package/dist/harness/view.d.ts.map +0 -1
- package/dist/harness/view.js.map +0 -1
- package/dist/helpers/__tests__/semver-utils.test.d.ts +0 -2
- package/dist/helpers/__tests__/semver-utils.test.d.ts.map +0 -1
- package/dist/helpers/__tests__/semver-utils.test.js +0 -103
- package/dist/helpers/__tests__/semver-utils.test.js.map +0 -1
- package/dist/helpers/__tests__/setupLocalTesting.fork-network.test.d.ts +0 -2
- package/dist/helpers/__tests__/setupLocalTesting.fork-network.test.d.ts.map +0 -1
- package/dist/helpers/__tests__/setupLocalTesting.fork-network.test.js +0 -172
- package/dist/helpers/__tests__/setupLocalTesting.fork-network.test.js.map +0 -1
- package/dist/helpers/assertions.d.ts.map +0 -1
- package/dist/helpers/assertions.js.map +0 -1
- package/dist/helpers/banner.d.ts.map +0 -1
- package/dist/helpers/banner.js.map +0 -1
- package/dist/helpers/index.d.ts.map +0 -1
- package/dist/helpers/index.js.map +0 -1
- package/dist/helpers/move-tests.d.ts.map +0 -1
- package/dist/helpers/move-tests.js.map +0 -1
- package/dist/helpers/npm-registry.d.ts.map +0 -1
- package/dist/helpers/npm-registry.js.map +0 -1
- package/dist/helpers/semver-utils.d.ts.map +0 -1
- package/dist/helpers/semver-utils.js.map +0 -1
- package/dist/helpers/setup.d.ts.map +0 -1
- package/dist/helpers/setup.js.map +0 -1
- package/dist/helpers/setupLocalTesting.d.ts.map +0 -1
- package/dist/helpers/setupLocalTesting.js.map +0 -1
- package/dist/helpers/testFixtures.d.ts.map +0 -1
- package/dist/helpers/testFixtures.js.map +0 -1
- package/dist/helpers/version-check.d.ts.map +0 -1
- package/dist/helpers/version-check.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/node/LocalNodeManager.d.ts.map +0 -1
- package/dist/node/LocalNodeManager.js.map +0 -1
- package/dist/node/__tests__/LocalNodeManager.api-port.test.d.ts +0 -2
- package/dist/node/__tests__/LocalNodeManager.api-port.test.d.ts.map +0 -1
- package/dist/node/__tests__/LocalNodeManager.api-port.test.js +0 -55
- package/dist/node/__tests__/LocalNodeManager.api-port.test.js.map +0 -1
- package/dist/node/__tests__/LocalNodeManager.test.d.ts +0 -2
- package/dist/node/__tests__/LocalNodeManager.test.d.ts.map +0 -1
- package/dist/node/__tests__/LocalNodeManager.test.js +0 -449
- package/dist/node/__tests__/LocalNodeManager.test.js.map +0 -1
- package/dist/runtime.d.ts.map +0 -1
- package/dist/runtime.js.map +0 -1
- package/dist/types/config.d.ts.map +0 -1
- package/dist/types/config.js.map +0 -1
- package/dist/types/fork.d.ts.map +0 -1
- package/dist/types/fork.js.map +0 -1
- package/dist/types/harness.d.ts.map +0 -1
- package/dist/types/harness.js.map +0 -1
- package/dist/types/runtime.d.ts.map +0 -1
- package/dist/types/runtime.js.map +0 -1
- package/dist/ui/__tests__/colors.test.d.ts +0 -2
- package/dist/ui/__tests__/colors.test.d.ts.map +0 -1
- package/dist/ui/__tests__/colors.test.js +0 -127
- package/dist/ui/__tests__/colors.test.js.map +0 -1
- package/dist/ui/__tests__/logger.test.d.ts +0 -2
- package/dist/ui/__tests__/logger.test.d.ts.map +0 -1
- package/dist/ui/__tests__/logger.test.js +0 -75
- package/dist/ui/__tests__/logger.test.js.map +0 -1
- package/dist/ui/colors.d.ts.map +0 -1
- package/dist/ui/colors.js.map +0 -1
- package/dist/ui/formatters.d.ts.map +0 -1
- package/dist/ui/formatters.js.map +0 -1
- package/dist/ui/index.d.ts.map +0 -1
- package/dist/ui/index.js.map +0 -1
- package/dist/ui/logger.d.ts.map +0 -1
- package/dist/ui/logger.js.map +0 -1
- package/dist/ui/spinner.d.ts.map +0 -1
- package/dist/ui/spinner.js.map +0 -1
- package/dist/ui/symbols.d.ts.map +0 -1
- package/dist/ui/symbols.js.map +0 -1
- package/dist/ui/table.d.ts.map +0 -1
- package/dist/ui/table.js.map +0 -1
- package/dist/utils/__tests__/address.test.d.ts +0 -2
- package/dist/utils/__tests__/address.test.d.ts.map +0 -1
- package/dist/utils/__tests__/address.test.js +0 -70
- package/dist/utils/__tests__/address.test.js.map +0 -1
- package/dist/utils/__tests__/childProcessAdapter.maxBuffer.test.d.ts +0 -2
- package/dist/utils/__tests__/childProcessAdapter.maxBuffer.test.d.ts.map +0 -1
- package/dist/utils/__tests__/childProcessAdapter.maxBuffer.test.js +0 -43
- package/dist/utils/__tests__/childProcessAdapter.maxBuffer.test.js.map +0 -1
- package/dist/utils/__tests__/childProcessAdapter.test.d.ts +0 -2
- package/dist/utils/__tests__/childProcessAdapter.test.d.ts.map +0 -1
- package/dist/utils/__tests__/childProcessAdapter.test.js +0 -217
- package/dist/utils/__tests__/childProcessAdapter.test.js.map +0 -1
- package/dist/utils/__tests__/runCli.test.d.ts +0 -2
- package/dist/utils/__tests__/runCli.test.d.ts.map +0 -1
- package/dist/utils/__tests__/runCli.test.js +0 -187
- package/dist/utils/__tests__/runCli.test.js.map +0 -1
- package/dist/utils/address.d.ts.map +0 -1
- package/dist/utils/address.js.map +0 -1
- package/dist/utils/childProcessAdapter.d.ts.map +0 -1
- package/dist/utils/childProcessAdapter.js.map +0 -1
- package/dist/utils/parseCliOutput.d.ts.map +0 -1
- package/dist/utils/parseCliOutput.js.map +0 -1
- package/dist/utils/redact.d.ts.map +0 -1
- package/dist/utils/redact.js.map +0 -1
- package/dist/utils/runCli.d.ts.map +0 -1
- package/dist/utils/runCli.js.map +0 -1
- package/src/__tests__/deployContract.test.ts +0 -438
- package/src/__tests__/errors.test.ts +0 -84
- package/src/__tests__/exports.test.ts +0 -32
- package/src/__tests__/fixtures/sigint-deploy-harness.ts +0 -96
- package/src/__tests__/fork/api.test.ts +0 -148
- package/src/__tests__/fork/api.timeout.test.ts +0 -150
- package/src/__tests__/harness/Harness.createLive.test.ts +0 -57
- package/src/__tests__/harness/Harness.proxy.test.ts +0 -111
- package/src/__tests__/harness/_fixture.ts +0 -131
- package/src/__tests__/harness/codeObject.deploy.test.ts +0 -319
- package/src/__tests__/harness/codeObject.upgrade.test.ts +0 -156
- package/src/__tests__/harness/script.test.ts +0 -245
- package/src/__tests__/harness/view.test.ts +0 -104
- package/src/__tests__/runtime.test.ts +0 -182
- package/src/cli.ts +0 -164
- package/src/commands/__tests__/compile.test.ts +0 -407
- package/src/commands/__tests__/compile.toml-mutation.test.ts +0 -77
- package/src/commands/__tests__/init.test.ts +0 -210
- package/src/commands/__tests__/run.test.ts +0 -192
- package/src/commands/__tests__/test-move.test.ts +0 -81
- package/src/commands/__tests__/test.test.ts +0 -204
- package/src/commands/__tests__/update.test.ts +0 -223
- package/src/commands/compile.ts +0 -339
- package/src/commands/fork/__tests__/create.test.ts +0 -132
- package/src/commands/fork/__tests__/fund.test.ts +0 -104
- package/src/commands/fork/__tests__/list.test.ts +0 -139
- package/src/commands/fork/__tests__/serve.test.ts +0 -121
- package/src/commands/fork/__tests__/view-resource.test.ts +0 -101
- package/src/commands/fork/create.ts +0 -110
- package/src/commands/fork/fund.ts +0 -64
- package/src/commands/fork/list.ts +0 -98
- package/src/commands/fork/serve.ts +0 -80
- package/src/commands/fork/view-resource.ts +0 -51
- package/src/commands/init.ts +0 -264
- package/src/commands/run.ts +0 -125
- package/src/commands/test-move.ts +0 -27
- package/src/commands/test.ts +0 -255
- package/src/commands/update.ts +0 -201
- package/src/core/AccountManager.ts +0 -457
- package/src/core/Publisher.ts +0 -310
- package/src/core/__tests__/AccountManager.global-state.test.ts +0 -83
- package/src/core/__tests__/AccountManager.test.ts +0 -290
- package/src/core/__tests__/config.test.ts +0 -377
- package/src/core/__tests__/deployments.test.ts +0 -247
- package/src/core/__tests__/movementProfile.test.ts +0 -131
- package/src/core/__tests__/shell.test.ts +0 -138
- package/src/core/config.ts +0 -286
- package/src/core/contract.ts +0 -103
- package/src/core/deployments.ts +0 -155
- package/src/core/movementProfile.ts +0 -127
- package/src/core/shell.ts +0 -86
- package/src/errors.ts +0 -81
- package/src/fork/__tests__/manager.test.ts +0 -385
- package/src/fork/__tests__/server.cors.test.ts +0 -101
- package/src/fork/__tests__/server.test.ts +0 -65
- package/src/fork/__tests__/storage.test.ts +0 -281
- package/src/fork/__tests__/test.test.ts +0 -97
- package/src/fork/api.ts +0 -190
- package/src/fork/manager.ts +0 -343
- package/src/fork/server.ts +0 -380
- package/src/fork/storage.ts +0 -253
- package/src/fork/test.ts +0 -221
- package/src/harness/Harness.ts +0 -231
- package/src/harness/codeObject.ts +0 -381
- package/src/harness/errors.ts +0 -22
- package/src/harness/index.ts +0 -3
- package/src/harness/proxy.ts +0 -40
- package/src/harness/script.ts +0 -200
- package/src/harness/view.ts +0 -34
- package/src/helpers/__tests__/semver-utils.test.ts +0 -121
- package/src/helpers/__tests__/setupLocalTesting.fork-network.test.ts +0 -212
- package/src/helpers/assertions.ts +0 -29
- package/src/helpers/banner.ts +0 -63
- package/src/helpers/index.ts +0 -37
- package/src/helpers/move-tests.ts +0 -72
- package/src/helpers/npm-registry.ts +0 -72
- package/src/helpers/semver-utils.ts +0 -54
- package/src/helpers/setup.ts +0 -54
- package/src/helpers/setupLocalTesting.ts +0 -387
- package/src/helpers/testFixtures.ts +0 -210
- package/src/helpers/version-check.ts +0 -114
- package/src/index.ts +0 -30
- package/src/node/LocalNodeManager.ts +0 -383
- package/src/node/__tests__/LocalNodeManager.api-port.test.ts +0 -62
- package/src/node/__tests__/LocalNodeManager.test.ts +0 -579
- package/src/runtime.ts +0 -157
- package/src/templates/.env.example +0 -9
- package/src/templates/.mocharc.json +0 -8
- package/src/templates/.vscode/settings.json +0 -11
- package/src/templates/README.md +0 -146
- package/src/templates/gitignore +0 -22
- package/src/templates/move/Move.toml +0 -19
- package/src/templates/move/sources/Counter.move +0 -96
- package/src/templates/movehat.config.ts +0 -57
- package/src/templates/package.json +0 -27
- package/src/templates/scripts/deploy-counter.ts +0 -66
- package/src/templates/tests/Counter.test.ts +0 -113
- package/src/templates/tsconfig.json +0 -15
- package/src/templates/types/movehat.d.ts +0 -101
- package/src/types/config.ts +0 -83
- package/src/types/fork.ts +0 -47
- package/src/types/harness.ts +0 -182
- package/src/types/runtime.ts +0 -57
- package/src/ui/__tests__/colors.test.ts +0 -156
- package/src/ui/__tests__/logger.test.ts +0 -89
- package/src/ui/colors.ts +0 -144
- package/src/ui/formatters.ts +0 -246
- package/src/ui/index.ts +0 -62
- package/src/ui/logger.ts +0 -310
- package/src/ui/spinner.ts +0 -218
- package/src/ui/symbols.ts +0 -80
- package/src/ui/table.ts +0 -191
- package/src/utils/__tests__/address.test.ts +0 -93
- package/src/utils/__tests__/childProcessAdapter.maxBuffer.test.ts +0 -51
- package/src/utils/__tests__/childProcessAdapter.test.ts +0 -266
- package/src/utils/__tests__/runCli.test.ts +0 -240
- package/src/utils/address.ts +0 -52
- package/src/utils/childProcessAdapter.ts +0 -244
- package/src/utils/parseCliOutput.ts +0 -27
- package/src/utils/redact.ts +0 -24
- package/src/utils/runCli.ts +0 -64
package/dist/harness/view.d.ts
CHANGED
|
@@ -19,4 +19,3 @@ import type { RunViewFunctionOptions } from "../types/harness.js";
|
|
|
19
19
|
* @internal — called from `Harness.runViewFunction`.
|
|
20
20
|
*/
|
|
21
21
|
export declare function runViewFunction(runtime: MovehatRuntime, options: RunViewFunctionOptions): Promise<unknown[]>;
|
|
22
|
-
//# sourceMappingURL=view.d.ts.map
|
package/dist/harness/view.js
CHANGED
|
@@ -4,4 +4,3 @@ import { type TransactionResult } from "../core/contract.js";
|
|
|
4
4
|
*/
|
|
5
5
|
export declare function assertTransactionSuccess(result: TransactionResult): void;
|
|
6
6
|
export declare function assertTransactionFailed(result: TransactionResult, expectedError?: string): void;
|
|
7
|
-
//# sourceMappingURL=assertions.d.ts.map
|
|
@@ -14,4 +14,3 @@ export function assertTransactionFailed(result, expectedError) {
|
|
|
14
14
|
throw new Error(`Transaction failed with unexpected error.\nExpected to include: ${expectedError}\nActual status: ${result.vm_status}\nHash: ${result.hash}`);
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
-
//# sourceMappingURL=assertions.js.map
|
package/dist/helpers/banner.d.ts
CHANGED
package/dist/helpers/banner.js
CHANGED
package/dist/helpers/index.d.ts
CHANGED
|
@@ -16,4 +16,3 @@ export type { LocalTestingContext } from "./setupLocalTesting.js";
|
|
|
16
16
|
export { setupTestFixture, setupMinimalFixture, } from "./testFixtures.js";
|
|
17
17
|
export type { TestFixture } from "./testFixtures.js";
|
|
18
18
|
export type { MovehatConfig, LocalTestOptions } from "../types/config.js";
|
|
19
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/helpers/index.js
CHANGED
|
@@ -8,4 +8,3 @@ export { AccountManager } from "../core/AccountManager.js";
|
|
|
8
8
|
export { LocalNodeManager } from "../node/LocalNodeManager.js";
|
|
9
9
|
export { setupLocalTesting } from "./setupLocalTesting.js";
|
|
10
10
|
export { setupTestFixture, setupMinimalFixture, } from "./testFixtures.js";
|
|
11
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -16,4 +16,3 @@ export interface FetchOptions {
|
|
|
16
16
|
* @returns Latest version string, or null if failed and throwOnError is false
|
|
17
17
|
*/
|
|
18
18
|
export declare function fetchLatestVersion(packageName: string, options?: FetchOptions): Promise<string | null>;
|
|
19
|
-
//# sourceMappingURL=npm-registry.d.ts.map
|
package/dist/helpers/setup.d.ts
CHANGED
package/dist/helpers/setup.js
CHANGED
|
@@ -6,10 +6,8 @@ import type { LocalTestOptions } from "../types/config.js";
|
|
|
6
6
|
/**
|
|
7
7
|
* Context returned by {@link setupLocalTesting}.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* owns its own handles, so two parallel `setupLocalTesting` calls in the
|
|
12
|
-
* same process do not trample each other.
|
|
9
|
+
* Each invocation owns its own handles, so two parallel `setupLocalTesting`
|
|
10
|
+
* calls in the same process do not trample each other.
|
|
13
11
|
*
|
|
14
12
|
* @public The `runtime` and `teardown` fields are the supported surface.
|
|
15
13
|
* `localNode`, `forkServer`, and `forkManager` are exposed for
|
|
@@ -61,4 +59,3 @@ export interface LocalTestingContext {
|
|
|
61
59
|
* ```
|
|
62
60
|
*/
|
|
63
61
|
export declare function setupLocalTesting(options?: LocalTestOptions): Promise<LocalTestingContext>;
|
|
64
|
-
//# sourceMappingURL=setupLocalTesting.d.ts.map
|
|
@@ -181,7 +181,7 @@ async function setupWithLocalNode(options, accountLabels, autoFund, defaultBalan
|
|
|
181
181
|
logger.plain(` RPC: ${nodeInfo.rpcUrl}/v1`);
|
|
182
182
|
logger.plain(` Faucet: ${nodeInfo.faucetUrl}`);
|
|
183
183
|
logger.plain(` Accounts: ${Array.from(accountLabels).join(", ")}`);
|
|
184
|
-
logger.plain(` Balance per account: ${defaultBalance / 100_000_000}
|
|
184
|
+
logger.plain(` Balance per account: ${defaultBalance / 100_000_000} MOVE`);
|
|
185
185
|
logger.newline();
|
|
186
186
|
return { runtime, localNode };
|
|
187
187
|
}
|
|
@@ -290,7 +290,7 @@ async function setupWithFork(options, accountLabels, autoFund, defaultBalance) {
|
|
|
290
290
|
logger.plain(` Mode: fork (read-only)`);
|
|
291
291
|
logger.plain(` RPC: http://localhost:${forkPort}/v1`);
|
|
292
292
|
logger.plain(` Accounts: ${Array.from(accountLabels).join(", ")}`);
|
|
293
|
-
logger.plain(` Balance per account: ${defaultBalance / 100_000_000}
|
|
293
|
+
logger.plain(` Balance per account: ${defaultBalance / 100_000_000} MOVE`);
|
|
294
294
|
logger.newline();
|
|
295
295
|
return { runtime, forkServer, forkManager };
|
|
296
296
|
}
|
|
@@ -299,4 +299,3 @@ async function setupWithFork(options, accountLabels, autoFund, defaultBalance) {
|
|
|
299
299
|
throw error;
|
|
300
300
|
}
|
|
301
301
|
}
|
|
302
|
-
//# sourceMappingURL=setupLocalTesting.js.map
|
|
@@ -78,4 +78,3 @@ export declare function setupTestFixture<TModules extends readonly string[]>(mod
|
|
|
78
78
|
* @returns Partial TestFixture (without contracts) plus a teardown closure
|
|
79
79
|
*/
|
|
80
80
|
export declare function setupMinimalFixture(accountLabels?: string[], options?: Partial<LocalTestOptions>): Promise<Omit<TestFixture, "contracts">>;
|
|
81
|
-
//# sourceMappingURL=testFixtures.d.ts.map
|
package/dist/index.d.ts
CHANGED
|
@@ -11,4 +11,3 @@ export { ModuleAlreadyDeployedError, PostPublishError } from "./errors.js";
|
|
|
11
11
|
export { Harness, HarnessDisposedError } from "./harness/index.js";
|
|
12
12
|
export type { HarnessMode } from "./harness/index.js";
|
|
13
13
|
export type { DeployCodeObjectOptions, UpgradeCodeObjectOptions, CodeObjectInfo, RunViewFunctionOptions, RunMoveScriptOptions, MoveScriptResult, } from "./types/harness.js";
|
|
14
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -69,7 +69,7 @@ export declare class LocalNodeManager {
|
|
|
69
69
|
* Fund an account using the local faucet
|
|
70
70
|
*
|
|
71
71
|
* @param account Account instance or address to fund
|
|
72
|
-
* @param amount Amount in octas (default: 100_000_000 =
|
|
72
|
+
* @param amount Amount in octas (default: 100_000_000 = 1 MOVE)
|
|
73
73
|
*/
|
|
74
74
|
fundAccount(account: Account | string, amount?: number): Promise<void>;
|
|
75
75
|
/**
|
|
@@ -81,4 +81,3 @@ export declare class LocalNodeManager {
|
|
|
81
81
|
*/
|
|
82
82
|
clean(): Promise<void>;
|
|
83
83
|
}
|
|
84
|
-
//# sourceMappingURL=LocalNodeManager.d.ts.map
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { existsSync, rmSync } from "fs";
|
|
2
2
|
import { join } from "path";
|
|
3
3
|
import { defaultChildProcessAdapter, } from "../utils/childProcessAdapter.js";
|
|
4
|
+
import { resolveMovementBinary, sanitizeMovementEnv } from "../utils/movementCli.js";
|
|
4
5
|
import { logger, isVerbose, colors, symbols } from "../ui/index.js";
|
|
5
6
|
import { withTimedSpinner, withSpinner } from "../ui/spinner.js";
|
|
6
7
|
/**
|
|
@@ -86,9 +87,11 @@ export class LocalNodeManager {
|
|
|
86
87
|
}
|
|
87
88
|
// Start the node process via the injectable adapter.
|
|
88
89
|
this.killed = false;
|
|
90
|
+
const usesDefaultAdapter = this.adapter === defaultChildProcessAdapter;
|
|
89
91
|
this.spawned = this.adapter.spawn({
|
|
90
|
-
command: "movement",
|
|
92
|
+
command: usesDefaultAdapter ? resolveMovementBinary() : "movement",
|
|
91
93
|
args,
|
|
94
|
+
...(usesDefaultAdapter ? { env: sanitizeMovementEnv() } : {}),
|
|
92
95
|
stdio: this.options.silent ? "ignore" : "pipe",
|
|
93
96
|
});
|
|
94
97
|
// Subprocess output handling (see §9 Console UX in CLAUDE.md):
|
|
@@ -241,7 +244,7 @@ export class LocalNodeManager {
|
|
|
241
244
|
* Fund an account using the local faucet
|
|
242
245
|
*
|
|
243
246
|
* @param account Account instance or address to fund
|
|
244
|
-
* @param amount Amount in octas (default: 100_000_000 =
|
|
247
|
+
* @param amount Amount in octas (default: 100_000_000 = 1 MOVE)
|
|
245
248
|
*/
|
|
246
249
|
async fundAccount(account, amount = 100_000_000) {
|
|
247
250
|
if (!this.isRunning()) {
|
|
@@ -281,7 +284,7 @@ export class LocalNodeManager {
|
|
|
281
284
|
for (const account of accounts) {
|
|
282
285
|
await this.fundAccount(account, amount);
|
|
283
286
|
}
|
|
284
|
-
}, `Funded ${accounts.length} accounts (${(amount / 1e8).toFixed(0)}
|
|
287
|
+
}, `Funded ${accounts.length} accounts (${(amount / 1e8).toFixed(0)} MOVE each)`);
|
|
285
288
|
logger.newline();
|
|
286
289
|
}
|
|
287
290
|
/**
|
|
@@ -298,4 +301,3 @@ export class LocalNodeManager {
|
|
|
298
301
|
}
|
|
299
302
|
}
|
|
300
303
|
}
|
|
301
|
-
//# sourceMappingURL=LocalNodeManager.js.map
|
package/dist/runtime.d.ts
CHANGED
package/dist/runtime.js
CHANGED
package/dist/types/config.d.ts
CHANGED
package/dist/types/config.js
CHANGED
package/dist/types/fork.d.ts
CHANGED
package/dist/types/fork.js
CHANGED
package/dist/types/harness.d.ts
CHANGED
package/dist/types/harness.js
CHANGED
package/dist/types/runtime.d.ts
CHANGED
package/dist/types/runtime.js
CHANGED
package/dist/ui/colors.d.ts
CHANGED
package/dist/ui/colors.js
CHANGED
package/dist/ui/formatters.d.ts
CHANGED
package/dist/ui/formatters.js
CHANGED
package/dist/ui/index.d.ts
CHANGED
package/dist/ui/index.js
CHANGED
package/dist/ui/logger.d.ts
CHANGED
package/dist/ui/logger.js
CHANGED
package/dist/ui/spinner.d.ts
CHANGED
package/dist/ui/spinner.js
CHANGED
package/dist/ui/symbols.d.ts
CHANGED
package/dist/ui/symbols.js
CHANGED
package/dist/ui/table.d.ts
CHANGED
package/dist/ui/table.js
CHANGED
package/dist/utils/address.d.ts
CHANGED
package/dist/utils/address.js
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { spawn } from 'node:child_process';
|
|
2
2
|
const DEFAULT_MAX_BUFFER = 64 * 1024 * 1024;
|
|
3
|
+
const TERMINATION_GRACE_MS = 5_000;
|
|
3
4
|
const DEFAULT_TIMEOUT_MS = 5 * 60 * 1000;
|
|
5
|
+
const DEFAULT_INHERIT_STDIO_TIMEOUT_MS = 30 * 60 * 1000;
|
|
4
6
|
class DefaultChildProcessAdapter {
|
|
5
7
|
run(input) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const timeoutMs = input.timeoutMs ?? (input.inheritStdio ? undefined : DEFAULT_TIMEOUT_MS);
|
|
8
|
+
const timeoutMs = input.timeoutMs ??
|
|
9
|
+
(input.inheritStdio ? DEFAULT_INHERIT_STDIO_TIMEOUT_MS : DEFAULT_TIMEOUT_MS);
|
|
10
|
+
if (input.signal?.aborted) {
|
|
11
|
+
return Promise.reject(new Error('Command aborted before start'));
|
|
12
|
+
}
|
|
12
13
|
return new Promise((resolve, reject) => {
|
|
13
14
|
const child = spawn(input.command, [...input.args], {
|
|
14
15
|
cwd: input.cwd,
|
|
@@ -20,6 +21,32 @@ class DefaultChildProcessAdapter {
|
|
|
20
21
|
let totalBytes = 0;
|
|
21
22
|
let overflowed = false;
|
|
22
23
|
const maxBuffer = input.maxBuffer ?? DEFAULT_MAX_BUFFER;
|
|
24
|
+
let settled = false;
|
|
25
|
+
let pendingFailure;
|
|
26
|
+
let forceKillHandle;
|
|
27
|
+
const settleResolve = (result) => {
|
|
28
|
+
if (settled)
|
|
29
|
+
return;
|
|
30
|
+
settled = true;
|
|
31
|
+
resolve(result);
|
|
32
|
+
};
|
|
33
|
+
const settleReject = (error) => {
|
|
34
|
+
if (settled)
|
|
35
|
+
return;
|
|
36
|
+
settled = true;
|
|
37
|
+
reject(error);
|
|
38
|
+
};
|
|
39
|
+
const requestTermination = (reason) => {
|
|
40
|
+
if (reason && !pendingFailure) {
|
|
41
|
+
pendingFailure = reason;
|
|
42
|
+
}
|
|
43
|
+
child.kill('SIGTERM');
|
|
44
|
+
if (!forceKillHandle) {
|
|
45
|
+
forceKillHandle = setTimeout(() => {
|
|
46
|
+
child.kill('SIGKILL');
|
|
47
|
+
}, TERMINATION_GRACE_MS);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
23
50
|
const onChunk = (chunks) => (chunk) => {
|
|
24
51
|
if (overflowed)
|
|
25
52
|
return;
|
|
@@ -28,8 +55,7 @@ class DefaultChildProcessAdapter {
|
|
|
28
55
|
overflowed = true;
|
|
29
56
|
clearTimer();
|
|
30
57
|
input.signal?.removeEventListener('abort', onAbort);
|
|
31
|
-
|
|
32
|
-
reject(new Error(`Command output exceeded maxBuffer (${maxBuffer} bytes): ${input.command}`));
|
|
58
|
+
requestTermination(new Error(`Command output exceeded maxBuffer (${maxBuffer} bytes): ${input.command}`));
|
|
33
59
|
return;
|
|
34
60
|
}
|
|
35
61
|
chunks.push(chunk);
|
|
@@ -44,30 +70,31 @@ class DefaultChildProcessAdapter {
|
|
|
44
70
|
};
|
|
45
71
|
if (timeoutMs !== undefined) {
|
|
46
72
|
timeoutHandle = setTimeout(() => {
|
|
47
|
-
|
|
48
|
-
reject(new Error(`Command timed out after ${timeoutMs}ms: ${input.command}`));
|
|
73
|
+
requestTermination(new Error(`Command timed out after ${timeoutMs}ms: ${input.command}`));
|
|
49
74
|
}, timeoutMs);
|
|
50
75
|
}
|
|
51
76
|
const onAbort = () => {
|
|
52
|
-
|
|
77
|
+
requestTermination();
|
|
53
78
|
};
|
|
54
79
|
if (input.signal) {
|
|
55
|
-
if (input.signal.aborted) {
|
|
56
|
-
clearTimer();
|
|
57
|
-
child.kill('SIGTERM');
|
|
58
|
-
reject(new Error('Command aborted before start'));
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
80
|
input.signal.addEventListener('abort', onAbort, { once: true });
|
|
62
81
|
}
|
|
63
82
|
child.on('error', (err) => {
|
|
64
83
|
clearTimer();
|
|
84
|
+
if (forceKillHandle)
|
|
85
|
+
clearTimeout(forceKillHandle);
|
|
65
86
|
input.signal?.removeEventListener('abort', onAbort);
|
|
66
|
-
|
|
87
|
+
settleReject(err);
|
|
67
88
|
});
|
|
68
89
|
child.on('close', (code, signal) => {
|
|
69
90
|
clearTimer();
|
|
91
|
+
if (forceKillHandle)
|
|
92
|
+
clearTimeout(forceKillHandle);
|
|
70
93
|
input.signal?.removeEventListener('abort', onAbort);
|
|
94
|
+
if (pendingFailure) {
|
|
95
|
+
settleReject(pendingFailure);
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
71
98
|
const result = {
|
|
72
99
|
exitCode: code !== null ? code : -1,
|
|
73
100
|
stdout: Buffer.concat(stdoutChunks).toString('utf8'),
|
|
@@ -76,7 +103,7 @@ class DefaultChildProcessAdapter {
|
|
|
76
103
|
if (signal) {
|
|
77
104
|
result.signal = signal;
|
|
78
105
|
}
|
|
79
|
-
|
|
106
|
+
settleResolve(result);
|
|
80
107
|
});
|
|
81
108
|
// Under inheritStdio, child.stdin is null and the parent's stdin
|
|
82
109
|
// is wired through; we just skip the close call. Otherwise, end()
|
|
@@ -123,4 +150,3 @@ class DefaultChildProcessAdapter {
|
|
|
123
150
|
}
|
|
124
151
|
}
|
|
125
152
|
export const defaultChildProcessAdapter = new DefaultChildProcessAdapter();
|
|
126
|
-
//# sourceMappingURL=childProcessAdapter.js.map
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { accessSync, constants, realpathSync, statSync } from "node:fs";
|
|
2
|
+
import { delimiter, isAbsolute, resolve, sep } from "node:path";
|
|
3
|
+
const MOVEMENT_ENV_OVERRIDE = "MOVEHAT_MOVEMENT_BIN";
|
|
4
|
+
const SAFE_ENV_NAMES = new Set([
|
|
5
|
+
"PATH",
|
|
6
|
+
"HOME",
|
|
7
|
+
"TMPDIR",
|
|
8
|
+
"TMP",
|
|
9
|
+
"TEMP",
|
|
10
|
+
"CI",
|
|
11
|
+
"TERM",
|
|
12
|
+
"COLORTERM",
|
|
13
|
+
"NO_COLOR",
|
|
14
|
+
"FORCE_COLOR",
|
|
15
|
+
"MOVEHAT_VERBOSE",
|
|
16
|
+
"MOVEMENT_RPC_URL",
|
|
17
|
+
"HTTP_PROXY",
|
|
18
|
+
"HTTPS_PROXY",
|
|
19
|
+
"NO_PROXY",
|
|
20
|
+
"http_proxy",
|
|
21
|
+
"https_proxy",
|
|
22
|
+
"no_proxy",
|
|
23
|
+
]);
|
|
24
|
+
const SENSITIVE_ENV_NAME = /(?:^|_)(?:PRIVATE_?KEY|SECRET|TOKEN|PASSWORD|PASS|AUTH|CREDENTIAL|SESSION|COOKIE)(?:_|$)/i;
|
|
25
|
+
function normalizePathForCheck(pathname) {
|
|
26
|
+
return pathname.endsWith(sep) ? pathname : `${pathname}${sep}`;
|
|
27
|
+
}
|
|
28
|
+
function assertTrustedMovementPath(pathname, projectRoot) {
|
|
29
|
+
const absolute = realpathSync(pathname);
|
|
30
|
+
const project = normalizePathForCheck(realpathSync(projectRoot));
|
|
31
|
+
const normalizedAbsolute = normalizePathForCheck(absolute);
|
|
32
|
+
if (normalizedAbsolute.startsWith(project)) {
|
|
33
|
+
throw new Error(`Refusing to run Movement CLI from project-controlled path: ${absolute}. ` +
|
|
34
|
+
`Install Movement CLI outside this project or set ${MOVEMENT_ENV_OVERRIDE} to a trusted absolute path.`);
|
|
35
|
+
}
|
|
36
|
+
if (absolute.split(sep).includes("node_modules")) {
|
|
37
|
+
throw new Error(`Refusing to run Movement CLI from node_modules: ${absolute}. ` +
|
|
38
|
+
`Install Movement CLI globally or set ${MOVEMENT_ENV_OVERRIDE} to a trusted absolute path.`);
|
|
39
|
+
}
|
|
40
|
+
return absolute;
|
|
41
|
+
}
|
|
42
|
+
function findOnPath(command, env) {
|
|
43
|
+
const pathValue = env.PATH ?? process.env.PATH ?? "";
|
|
44
|
+
for (const dir of pathValue.split(delimiter)) {
|
|
45
|
+
if (!dir)
|
|
46
|
+
continue;
|
|
47
|
+
const candidate = resolve(dir, command);
|
|
48
|
+
try {
|
|
49
|
+
const stat = statSync(candidate);
|
|
50
|
+
if (!stat.isFile())
|
|
51
|
+
continue;
|
|
52
|
+
accessSync(candidate, constants.X_OK);
|
|
53
|
+
return candidate;
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
// Keep scanning PATH.
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
export function resolveMovementBinary(options = {}) {
|
|
62
|
+
const env = options.env ?? process.env;
|
|
63
|
+
const projectRoot = options.projectRoot ?? process.cwd();
|
|
64
|
+
const override = env[MOVEMENT_ENV_OVERRIDE];
|
|
65
|
+
if (override) {
|
|
66
|
+
if (!isAbsolute(override)) {
|
|
67
|
+
throw new Error(`${MOVEMENT_ENV_OVERRIDE} must be an absolute path, got: ${override}`);
|
|
68
|
+
}
|
|
69
|
+
accessSync(override, constants.X_OK);
|
|
70
|
+
return assertTrustedMovementPath(override, projectRoot);
|
|
71
|
+
}
|
|
72
|
+
const resolved = findOnPath("movement", env);
|
|
73
|
+
if (!resolved) {
|
|
74
|
+
throw new Error("Movement CLI not found on PATH. Install Movement CLI or set " +
|
|
75
|
+
`${MOVEMENT_ENV_OVERRIDE} to a trusted absolute path.`);
|
|
76
|
+
}
|
|
77
|
+
return assertTrustedMovementPath(resolved, projectRoot);
|
|
78
|
+
}
|
|
79
|
+
export function sanitizeMovementEnv(baseEnv = process.env) {
|
|
80
|
+
const env = {};
|
|
81
|
+
for (const [key, value] of Object.entries(baseEnv)) {
|
|
82
|
+
if (value === undefined)
|
|
83
|
+
continue;
|
|
84
|
+
if (SENSITIVE_ENV_NAME.test(key))
|
|
85
|
+
continue;
|
|
86
|
+
if (SAFE_ENV_NAMES.has(key)) {
|
|
87
|
+
env[key] = value;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return env;
|
|
91
|
+
}
|