movehat 0.2.4 → 0.2.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/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 +17 -1
- package/dist/commands/run.js +46 -33
- 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 +109 -28
- 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 +14 -1
- package/dist/fork/manager.js +19 -1
- 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 +0 -1
- 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 +0 -1
- package/dist/node/LocalNodeManager.js +4 -2
- 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 +6 -4
- package/dist/utils/parseCliOutput.js +10 -6
- 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/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
|
|
@@ -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
|
@@ -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):
|
|
@@ -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
|
+
}
|
|
@@ -6,9 +6,12 @@
|
|
|
6
6
|
/**
|
|
7
7
|
* Extract the transaction hash from a `movement` CLI subcommand's stdout.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
* `txn hash: 0x…`, `hash: 0x…`)
|
|
11
|
-
*
|
|
9
|
+
* Only the context-bearing pattern is accepted (`transaction hash: 0x…`,
|
|
10
|
+
* `txn hash: 0x…`, `hash: 0x…`). When the context is absent we log a
|
|
11
|
+
* warning and return `undefined` so callers decide whether to throw —
|
|
12
|
+
* the previous behavior of falling back to "any 64-hex literal" was
|
|
13
|
+
* fragile: a padded module address or state root printed before the
|
|
14
|
+
* actual txhash would silently corrupt the cached deployment record.
|
|
12
15
|
*
|
|
13
16
|
* Shared by `core/Publisher.ts` (publish), `harness/codeObject.ts`
|
|
14
17
|
* (deploy-object / upgrade-object), and `harness/script.ts`
|
|
@@ -17,4 +20,3 @@
|
|
|
17
20
|
* CLI-format change is a one-line fix.
|
|
18
21
|
*/
|
|
19
22
|
export declare function parseTxHash(stdout: string): string | undefined;
|
|
20
|
-
//# sourceMappingURL=parseCliOutput.d.ts.map
|
|
@@ -3,12 +3,16 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @internal — not exported from `src/index.ts`.
|
|
5
5
|
*/
|
|
6
|
+
import { logger } from '../ui/index.js';
|
|
6
7
|
/**
|
|
7
8
|
* Extract the transaction hash from a `movement` CLI subcommand's stdout.
|
|
8
9
|
*
|
|
9
|
-
*
|
|
10
|
-
* `txn hash: 0x…`, `hash: 0x…`)
|
|
11
|
-
*
|
|
10
|
+
* Only the context-bearing pattern is accepted (`transaction hash: 0x…`,
|
|
11
|
+
* `txn hash: 0x…`, `hash: 0x…`). When the context is absent we log a
|
|
12
|
+
* warning and return `undefined` so callers decide whether to throw —
|
|
13
|
+
* the previous behavior of falling back to "any 64-hex literal" was
|
|
14
|
+
* fragile: a padded module address or state root printed before the
|
|
15
|
+
* actual txhash would silently corrupt the cached deployment record.
|
|
12
16
|
*
|
|
13
17
|
* Shared by `core/Publisher.ts` (publish), `harness/codeObject.ts`
|
|
14
18
|
* (deploy-object / upgrade-object), and `harness/script.ts`
|
|
@@ -20,7 +24,7 @@ export function parseTxHash(stdout) {
|
|
|
20
24
|
const withContext = stdout.match(/(?:transaction\s*(?:hash)?|txn\s*(?:hash)?|hash):\s*(0x[a-fA-F0-9]{64})\b/i);
|
|
21
25
|
if (withContext?.[1])
|
|
22
26
|
return withContext[1];
|
|
23
|
-
|
|
24
|
-
|
|
27
|
+
logger.warning(`parseTxHash: no contextual 'transaction|txn|hash: 0x…' match in ${stdout.length}-byte CLI output. ` +
|
|
28
|
+
`Returning undefined; the caller decides whether to error.`);
|
|
29
|
+
return undefined;
|
|
25
30
|
}
|
|
26
|
-
//# sourceMappingURL=parseCliOutput.js.map
|
package/dist/utils/redact.d.ts
CHANGED
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
* stderr / stdout / CLI arguments. Each match is replaced with
|
|
4
4
|
* `***REDACTED***` by `redactSecrets`.
|
|
5
5
|
*
|
|
6
|
-
* The labelled
|
|
7
|
-
* `key` prefixes
|
|
6
|
+
* The labelled/contextual patterns intentionally accept bare `priv` and
|
|
7
|
+
* `key` prefixes only when they are adjacent to a full 32-byte hex value.
|
|
8
|
+
* Full-length addresses without key context are left untouched.
|
|
8
9
|
*/
|
|
9
10
|
export declare const SECRET_PATTERNS: readonly RegExp[];
|
|
10
11
|
/**
|
|
@@ -12,4 +13,3 @@ export declare const SECRET_PATTERNS: readonly RegExp[];
|
|
|
12
13
|
* Idempotent: running it on already-redacted text is a no-op.
|
|
13
14
|
*/
|
|
14
15
|
export declare function redactSecrets(text: string): string;
|
|
15
|
-
//# sourceMappingURL=redact.d.ts.map
|
package/dist/utils/redact.js
CHANGED
|
@@ -3,12 +3,14 @@
|
|
|
3
3
|
* stderr / stdout / CLI arguments. Each match is replaced with
|
|
4
4
|
* `***REDACTED***` by `redactSecrets`.
|
|
5
5
|
*
|
|
6
|
-
* The labelled
|
|
7
|
-
* `key` prefixes
|
|
6
|
+
* The labelled/contextual patterns intentionally accept bare `priv` and
|
|
7
|
+
* `key` prefixes only when they are adjacent to a full 32-byte hex value.
|
|
8
|
+
* Full-length addresses without key context are left untouched.
|
|
8
9
|
*/
|
|
9
10
|
export const SECRET_PATTERNS = [
|
|
10
|
-
|
|
11
|
-
/(private[_-]?key|priv[_-]?key|priv|key)\s*[:=]\s*0x[0-9a-fA-F]{
|
|
11
|
+
/\b[a-z0-9]+(?:-[a-z0-9]+)*-priv-0x[0-9a-fA-F]{64,}\b/gi,
|
|
12
|
+
/(?:--)?(?:private[_-]?key|private\s+key|priv[_-]?key|priv|key)\s*(?:[:=]|\s)\s*0x[0-9a-fA-F]{64}\b/gi,
|
|
13
|
+
/\b0x[0-9a-fA-F]{64}\b(?=\s*(?:private[_-]?key|private\s+key|priv[_-]?key|priv|key)\b)/gi,
|
|
12
14
|
];
|
|
13
15
|
/**
|
|
14
16
|
* Replaces every match of every known secret pattern with `***REDACTED***`.
|
|
@@ -21,4 +23,3 @@ export function redactSecrets(text) {
|
|
|
21
23
|
}
|
|
22
24
|
return out;
|
|
23
25
|
}
|
|
24
|
-
//# sourceMappingURL=redact.js.map
|
package/dist/utils/runCli.d.ts
CHANGED
package/dist/utils/runCli.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CliExecutionError } from '../errors.js';
|
|
2
2
|
import { defaultChildProcessAdapter, } from './childProcessAdapter.js';
|
|
3
|
+
import { resolveMovementBinary, sanitizeMovementEnv } from './movementCli.js';
|
|
3
4
|
import { redactSecrets } from './redact.js';
|
|
4
5
|
export { redactSecrets } from './redact.js';
|
|
5
6
|
const STDOUT_PREVIEW_CHARS = 2000;
|
|
@@ -20,7 +21,15 @@ const STDOUT_PREVIEW_CHARS = 2000;
|
|
|
20
21
|
export async function runCli(input, options = {}) {
|
|
21
22
|
const adapter = options.adapter ?? defaultChildProcessAdapter;
|
|
22
23
|
const throwOnNonZeroExit = options.throwOnNonZeroExit ?? true;
|
|
23
|
-
const
|
|
24
|
+
const movementResolveOptions = input.env ? { env: input.env } : {};
|
|
25
|
+
const runInput = input.command === 'movement' && options.adapter === undefined
|
|
26
|
+
? {
|
|
27
|
+
...input,
|
|
28
|
+
command: resolveMovementBinary(movementResolveOptions),
|
|
29
|
+
env: sanitizeMovementEnv(input.env ?? process.env),
|
|
30
|
+
}
|
|
31
|
+
: input;
|
|
32
|
+
const raw = await adapter.run(runInput);
|
|
24
33
|
const result = {
|
|
25
34
|
exitCode: raw.exitCode,
|
|
26
35
|
stdout: redactSecrets(raw.stdout),
|
|
@@ -34,4 +43,3 @@ export async function runCli(input, options = {}) {
|
|
|
34
43
|
}
|
|
35
44
|
return result;
|
|
36
45
|
}
|
|
37
|
-
//# sourceMappingURL=runCli.js.map
|