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/src/ui/table.ts
DELETED
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
import Table from 'cli-table3';
|
|
2
|
-
import { shouldUseColor, colors } from './colors.js';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Table preset types for different use cases
|
|
6
|
-
*/
|
|
7
|
-
export type TablePreset = 'default' | 'compact' | 'markdown' | 'borderless';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Column alignment options
|
|
11
|
-
*/
|
|
12
|
-
export type Alignment = 'left' | 'center' | 'right';
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Table configuration options
|
|
16
|
-
*/
|
|
17
|
-
export interface TableConfig {
|
|
18
|
-
/** Column headers */
|
|
19
|
-
head?: string[];
|
|
20
|
-
/** Preset style (default: 'default') */
|
|
21
|
-
preset?: TablePreset;
|
|
22
|
-
/** Column widths (optional) */
|
|
23
|
-
colWidths?: number[];
|
|
24
|
-
/** Column alignments (optional) */
|
|
25
|
-
colAligns?: Alignment[];
|
|
26
|
-
/** Custom style overrides */
|
|
27
|
-
style?: {
|
|
28
|
-
head?: string[];
|
|
29
|
-
border?: string[];
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Get preset configuration for table styling
|
|
35
|
-
* Automatically respects color settings (NO_COLOR, TTY)
|
|
36
|
-
*
|
|
37
|
-
* @param preset - Preset name
|
|
38
|
-
* @returns Partial cli-table3 configuration
|
|
39
|
-
*/
|
|
40
|
-
const getPresetConfig = (preset: TablePreset): Partial<Table.TableConstructorOptions> => {
|
|
41
|
-
const hasColor = shouldUseColor();
|
|
42
|
-
|
|
43
|
-
const presets: Record<TablePreset, Partial<Table.TableConstructorOptions>> = {
|
|
44
|
-
/**
|
|
45
|
-
* Default preset - Full borders with colors
|
|
46
|
-
* Best for: Complex tables with multiple columns
|
|
47
|
-
*/
|
|
48
|
-
default: {
|
|
49
|
-
chars: {
|
|
50
|
-
'top': '─', 'top-mid': '┬', 'top-left': '┌', 'top-right': '┐',
|
|
51
|
-
'bottom': '─', 'bottom-mid': '┴', 'bottom-left': '└', 'bottom-right': '┘',
|
|
52
|
-
'left': '│', 'left-mid': '├', 'mid': '─', 'mid-mid': '┼',
|
|
53
|
-
'right': '│', 'right-mid': '┤', 'middle': '│',
|
|
54
|
-
},
|
|
55
|
-
style: {
|
|
56
|
-
head: hasColor ? ['cyan'] : [],
|
|
57
|
-
border: hasColor ? ['gray'] : [],
|
|
58
|
-
},
|
|
59
|
-
},
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Compact preset - Minimal borders, max readability
|
|
63
|
-
* Best for: Fork list and similar data displays
|
|
64
|
-
*/
|
|
65
|
-
compact: {
|
|
66
|
-
chars: {
|
|
67
|
-
'top': '', 'top-mid': '', 'top-left': '', 'top-right': '',
|
|
68
|
-
'bottom': '', 'bottom-mid': '', 'bottom-left': '', 'bottom-right': '',
|
|
69
|
-
'left': '', 'left-mid': '', 'mid': '', 'mid-mid': '',
|
|
70
|
-
'right': '', 'right-mid': '', 'middle': ' │ ',
|
|
71
|
-
},
|
|
72
|
-
style: {
|
|
73
|
-
head: hasColor ? ['cyan', 'bold'] : [],
|
|
74
|
-
border: [],
|
|
75
|
-
},
|
|
76
|
-
},
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Markdown preset - Markdown-compatible table format
|
|
80
|
-
* Best for: Copy-paste to documentation
|
|
81
|
-
*/
|
|
82
|
-
markdown: {
|
|
83
|
-
chars: {
|
|
84
|
-
'top': '', 'top-mid': '', 'top-left': '', 'top-right': '',
|
|
85
|
-
'bottom': '', 'bottom-mid': '', 'bottom-left': '', 'bottom-right': '',
|
|
86
|
-
'left': '|', 'left-mid': '', 'mid': '', 'mid-mid': '',
|
|
87
|
-
'right': '|', 'right-mid': '', 'middle': '|',
|
|
88
|
-
},
|
|
89
|
-
style: {
|
|
90
|
-
head: hasColor ? ['cyan'] : [],
|
|
91
|
-
border: [],
|
|
92
|
-
},
|
|
93
|
-
},
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Borderless preset - Clean, minimal appearance
|
|
97
|
-
* Best for: Key-value displays and metadata
|
|
98
|
-
*/
|
|
99
|
-
borderless: {
|
|
100
|
-
chars: {
|
|
101
|
-
'top': '', 'top-mid': '', 'top-left': '', 'top-right': '',
|
|
102
|
-
'bottom': '', 'bottom-mid': '', 'bottom-left': '', 'bottom-right': '',
|
|
103
|
-
'left': '', 'left-mid': '', 'mid': '', 'mid-mid': '',
|
|
104
|
-
'right': '', 'right-mid': '', 'middle': ' ',
|
|
105
|
-
},
|
|
106
|
-
style: {
|
|
107
|
-
head: hasColor ? ['cyan', 'bold'] : [],
|
|
108
|
-
border: [],
|
|
109
|
-
},
|
|
110
|
-
},
|
|
111
|
-
};
|
|
112
|
-
|
|
113
|
-
return presets[preset];
|
|
114
|
-
};
|
|
115
|
-
|
|
116
|
-
/**
|
|
117
|
-
* Create a table with preset configuration
|
|
118
|
-
* Wrapper around cli-table3 with Movehat-specific styling
|
|
119
|
-
*
|
|
120
|
-
* @param config - Table configuration
|
|
121
|
-
* @returns cli-table3 Table instance
|
|
122
|
-
*
|
|
123
|
-
* @example
|
|
124
|
-
* const table = createTable({
|
|
125
|
-
* head: ['Name', 'Network', 'Chain ID', 'Accounts'],
|
|
126
|
-
* preset: 'compact'
|
|
127
|
-
* });
|
|
128
|
-
*
|
|
129
|
-
* table.push(['testnet-fork', 'testnet', '126', '5']);
|
|
130
|
-
* table.push(['mainnet-fork', 'mainnet', '1', '3']);
|
|
131
|
-
*
|
|
132
|
-
* console.log(table.toString());
|
|
133
|
-
*/
|
|
134
|
-
export const createTable = (config: TableConfig = {}): Table.Table => {
|
|
135
|
-
const {
|
|
136
|
-
head,
|
|
137
|
-
preset = 'default',
|
|
138
|
-
colWidths,
|
|
139
|
-
colAligns,
|
|
140
|
-
style = {},
|
|
141
|
-
} = config;
|
|
142
|
-
|
|
143
|
-
const presetConfig = getPresetConfig(preset);
|
|
144
|
-
|
|
145
|
-
const tableConfig: Table.TableConstructorOptions = {
|
|
146
|
-
...presetConfig,
|
|
147
|
-
style: {
|
|
148
|
-
...presetConfig.style,
|
|
149
|
-
...style,
|
|
150
|
-
},
|
|
151
|
-
};
|
|
152
|
-
|
|
153
|
-
// Only add optional properties if they are defined
|
|
154
|
-
if (head) tableConfig.head = head;
|
|
155
|
-
if (colWidths) tableConfig.colWidths = colWidths;
|
|
156
|
-
if (colAligns) tableConfig.colAligns = colAligns;
|
|
157
|
-
|
|
158
|
-
return new Table(tableConfig);
|
|
159
|
-
};
|
|
160
|
-
|
|
161
|
-
/**
|
|
162
|
-
* Create a simple key-value table
|
|
163
|
-
* Perfect for displaying metadata and configuration
|
|
164
|
-
*
|
|
165
|
-
* @param data - Object with key-value pairs
|
|
166
|
-
* @param preset - Table preset to use (default: 'borderless')
|
|
167
|
-
* @returns cli-table3 Table instance ready for display
|
|
168
|
-
*
|
|
169
|
-
* @example
|
|
170
|
-
* const metadata = {
|
|
171
|
-
* 'Chain ID': '126',
|
|
172
|
-
* 'Network': 'testnet',
|
|
173
|
-
* 'Ledger Version': '12345',
|
|
174
|
-
* 'Created At': new Date().toLocaleString()
|
|
175
|
-
* };
|
|
176
|
-
*
|
|
177
|
-
* const table = createKVTable(metadata);
|
|
178
|
-
* console.log(table.toString());
|
|
179
|
-
*/
|
|
180
|
-
export const createKVTable = (
|
|
181
|
-
data: Record<string, string | number>,
|
|
182
|
-
preset: TablePreset = 'borderless'
|
|
183
|
-
): Table.Table => {
|
|
184
|
-
const table = createTable({ preset });
|
|
185
|
-
|
|
186
|
-
for (const [key, value] of Object.entries(data)) {
|
|
187
|
-
table.push([colors.dim(key), String(value)]);
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
return table;
|
|
191
|
-
};
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import {
|
|
3
|
-
isHexAddress,
|
|
4
|
-
normalizeAddress,
|
|
5
|
-
normalizeAddressShort,
|
|
6
|
-
} from '../address.js';
|
|
7
|
-
|
|
8
|
-
const PADDED_ONE = '0x' + '0'.repeat(63) + '1';
|
|
9
|
-
const PADDED_DEAD = '0x' + '0'.repeat(60) + 'dead';
|
|
10
|
-
|
|
11
|
-
describe('normalizeAddress', () => {
|
|
12
|
-
it('pads a short hex to 64 chars and adds 0x', () => {
|
|
13
|
-
expect(normalizeAddress('1')).toBe(PADDED_ONE);
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
it('preserves a fully padded address', () => {
|
|
17
|
-
const full = '0x' + 'a'.repeat(64);
|
|
18
|
-
expect(normalizeAddress(full)).toBe(full);
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
it('lowercases mixed-case input', () => {
|
|
22
|
-
expect(normalizeAddress('0xDEAD')).toBe(PADDED_DEAD);
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
it('adds the 0x prefix when missing', () => {
|
|
26
|
-
expect(normalizeAddress('dead')).toBe(PADDED_DEAD);
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
it('returns 0x followed by 64 zeros for empty input', () => {
|
|
30
|
-
expect(normalizeAddress('')).toBe('0x' + '0'.repeat(64));
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
it('matches fork/manager.ts legacy semantics for the canonical case', () => {
|
|
34
|
-
// Mirrors the inline `private normalizeAddress` from fork/manager.ts:243.
|
|
35
|
-
expect(normalizeAddress('0X1')).toBe(PADDED_ONE);
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
describe('normalizeAddressShort', () => {
|
|
40
|
-
it('adds 0x and lowercases without padding', () => {
|
|
41
|
-
expect(normalizeAddressShort('DEAD')).toBe('0xdead');
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
it('preserves the 0x prefix when already present', () => {
|
|
45
|
-
expect(normalizeAddressShort('0xBeef')).toBe('0xbeef');
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
it('does not pad a short address', () => {
|
|
49
|
-
expect(normalizeAddressShort('1')).toBe('0x1');
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
it('returns just 0x for empty input', () => {
|
|
53
|
-
expect(normalizeAddressShort('')).toBe('0x');
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
describe('isHexAddress', () => {
|
|
58
|
-
it('accepts short hex with 0x prefix', () => {
|
|
59
|
-
expect(isHexAddress('0x1')).toBe(true);
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
it('accepts hex without 0x prefix', () => {
|
|
63
|
-
expect(isHexAddress('dead')).toBe(true);
|
|
64
|
-
});
|
|
65
|
-
|
|
66
|
-
it('accepts uppercase 0X prefix', () => {
|
|
67
|
-
expect(isHexAddress('0Xabc')).toBe(true);
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
it('accepts a full 64-char address', () => {
|
|
71
|
-
expect(isHexAddress('0x' + 'f'.repeat(64))).toBe(true);
|
|
72
|
-
});
|
|
73
|
-
|
|
74
|
-
it('rejects empty string', () => {
|
|
75
|
-
expect(isHexAddress('')).toBe(false);
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
it('rejects lone 0x with no hex', () => {
|
|
79
|
-
expect(isHexAddress('0x')).toBe(false);
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
it('rejects non-hex characters', () => {
|
|
83
|
-
expect(isHexAddress('0xghij')).toBe(false);
|
|
84
|
-
});
|
|
85
|
-
|
|
86
|
-
it('rejects input longer than 64 hex chars', () => {
|
|
87
|
-
expect(isHexAddress('0x' + '0'.repeat(65))).toBe(false);
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
it('accepts mixed case hex', () => {
|
|
91
|
-
expect(isHexAddress('0xAbCdEf')).toBe(true);
|
|
92
|
-
});
|
|
93
|
-
});
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from "vitest";
|
|
2
|
-
import { defaultChildProcessAdapter } from "../childProcessAdapter.js";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* F4 — `run()` must reject when child output exceeds `maxBuffer`.
|
|
6
|
-
*
|
|
7
|
-
* Without this cap, the stdout/stderr Buffer arrays in
|
|
8
|
-
* DefaultChildProcessAdapter grow without limit. A buggy or hostile
|
|
9
|
-
* subprocess can OOM the parent process. F4 adds an opt-in byte cap
|
|
10
|
-
* with kill-on-overflow semantics.
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
const NODE = process.execPath;
|
|
14
|
-
|
|
15
|
-
describe("F4 — ChildProcessAdapter.run maxBuffer", () => {
|
|
16
|
-
it("rejects with a maxBuffer error when stdout exceeds the cap", async () => {
|
|
17
|
-
// 8KiB of output, cap at 1KiB → must abort.
|
|
18
|
-
const script = `process.stdout.write('x'.repeat(8 * 1024)); setTimeout(() => {}, 30000);`;
|
|
19
|
-
await expect(
|
|
20
|
-
defaultChildProcessAdapter.run({
|
|
21
|
-
command: NODE,
|
|
22
|
-
args: ["-e", script],
|
|
23
|
-
maxBuffer: 1024,
|
|
24
|
-
timeoutMs: 10_000,
|
|
25
|
-
})
|
|
26
|
-
).rejects.toThrow(/maxBuffer|exceeded/i);
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
it("rejects with a maxBuffer error when stderr exceeds the cap", async () => {
|
|
30
|
-
const script = `process.stderr.write('y'.repeat(8 * 1024)); setTimeout(() => {}, 30000);`;
|
|
31
|
-
await expect(
|
|
32
|
-
defaultChildProcessAdapter.run({
|
|
33
|
-
command: NODE,
|
|
34
|
-
args: ["-e", script],
|
|
35
|
-
maxBuffer: 1024,
|
|
36
|
-
timeoutMs: 10_000,
|
|
37
|
-
})
|
|
38
|
-
).rejects.toThrow(/maxBuffer|exceeded/i);
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
it("does NOT throw when output stays under the cap", async () => {
|
|
42
|
-
const script = `process.stdout.write('ok'); process.exit(0);`;
|
|
43
|
-
const result = await defaultChildProcessAdapter.run({
|
|
44
|
-
command: NODE,
|
|
45
|
-
args: ["-e", script],
|
|
46
|
-
maxBuffer: 1024,
|
|
47
|
-
});
|
|
48
|
-
expect(result.exitCode).toBe(0);
|
|
49
|
-
expect(result.stdout).toBe("ok");
|
|
50
|
-
});
|
|
51
|
-
});
|
|
@@ -1,266 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, vi } from 'vitest';
|
|
2
|
-
import { defaultChildProcessAdapter } from '../childProcessAdapter.js';
|
|
3
|
-
|
|
4
|
-
const NODE = process.execPath;
|
|
5
|
-
|
|
6
|
-
describe('defaultChildProcessAdapter', () => {
|
|
7
|
-
it('captures stdout and zero exit code on success', async () => {
|
|
8
|
-
const result = await defaultChildProcessAdapter.run({
|
|
9
|
-
command: NODE,
|
|
10
|
-
args: ['-e', "process.stdout.write('hello-stdout')"],
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
expect(result.exitCode).toBe(0);
|
|
14
|
-
expect(result.stdout).toBe('hello-stdout');
|
|
15
|
-
expect(result.stderr).toBe('');
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
it('captures stderr separately from stdout', async () => {
|
|
19
|
-
const result = await defaultChildProcessAdapter.run({
|
|
20
|
-
command: NODE,
|
|
21
|
-
args: ['-e', "process.stderr.write('boom'); process.exit(2)"],
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
expect(result.exitCode).toBe(2);
|
|
25
|
-
expect(result.stdout).toBe('');
|
|
26
|
-
expect(result.stderr).toBe('boom');
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
it('pipes stdin to the child process', async () => {
|
|
30
|
-
const result = await defaultChildProcessAdapter.run({
|
|
31
|
-
command: NODE,
|
|
32
|
-
args: [
|
|
33
|
-
'-e',
|
|
34
|
-
"let d=''; process.stdin.on('data', c => d += c); process.stdin.on('end', () => process.stdout.write(d.toUpperCase()))",
|
|
35
|
-
],
|
|
36
|
-
stdin: 'piped-input',
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
expect(result.exitCode).toBe(0);
|
|
40
|
-
expect(result.stdout).toBe('PIPED-INPUT');
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
it('passes env to the child process', async () => {
|
|
44
|
-
const result = await defaultChildProcessAdapter.run({
|
|
45
|
-
command: NODE,
|
|
46
|
-
args: ['-e', 'process.stdout.write(process.env.MH_TEST_VAR ?? "missing")'],
|
|
47
|
-
env: { ...process.env, MH_TEST_VAR: 'present' },
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
expect(result.exitCode).toBe(0);
|
|
51
|
-
expect(result.stdout).toBe('present');
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
it('rejects when the command times out', async () => {
|
|
55
|
-
await expect(
|
|
56
|
-
defaultChildProcessAdapter.run({
|
|
57
|
-
command: NODE,
|
|
58
|
-
args: ['-e', 'setTimeout(() => {}, 5000)'],
|
|
59
|
-
timeoutMs: 50,
|
|
60
|
-
})
|
|
61
|
-
).rejects.toThrow(/timed out/);
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
it('aborts a running command with exitCode -1 and signal SIGTERM', async () => {
|
|
65
|
-
const controller = new AbortController();
|
|
66
|
-
const start = Date.now();
|
|
67
|
-
const promise = defaultChildProcessAdapter.run({
|
|
68
|
-
command: NODE,
|
|
69
|
-
args: ['-e', 'setTimeout(() => {}, 5000)'],
|
|
70
|
-
signal: controller.signal,
|
|
71
|
-
});
|
|
72
|
-
|
|
73
|
-
setTimeout(() => controller.abort(), 20);
|
|
74
|
-
|
|
75
|
-
const result = await promise;
|
|
76
|
-
const elapsed = Date.now() - start;
|
|
77
|
-
|
|
78
|
-
expect(result.exitCode).toBe(-1);
|
|
79
|
-
expect(result.signal).toBe('SIGTERM');
|
|
80
|
-
expect(elapsed).toBeLessThan(500);
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
it('rejects synchronously when signal is already aborted', async () => {
|
|
84
|
-
const controller = new AbortController();
|
|
85
|
-
controller.abort();
|
|
86
|
-
|
|
87
|
-
await expect(
|
|
88
|
-
defaultChildProcessAdapter.run({
|
|
89
|
-
command: NODE,
|
|
90
|
-
args: ['-e', "process.stdout.write('never')"],
|
|
91
|
-
signal: controller.signal,
|
|
92
|
-
})
|
|
93
|
-
).rejects.toThrow(/aborted/);
|
|
94
|
-
});
|
|
95
|
-
|
|
96
|
-
it('rejects when the command does not exist', async () => {
|
|
97
|
-
await expect(
|
|
98
|
-
defaultChildProcessAdapter.run({
|
|
99
|
-
command: '/nonexistent/path/to/binary-xyz',
|
|
100
|
-
args: [],
|
|
101
|
-
})
|
|
102
|
-
).rejects.toThrow();
|
|
103
|
-
});
|
|
104
|
-
});
|
|
105
|
-
|
|
106
|
-
describe('defaultChildProcessAdapter.spawn', () => {
|
|
107
|
-
it('returns a handle with pid and streams, and exits cleanly when the child finishes on its own', async () => {
|
|
108
|
-
const child = defaultChildProcessAdapter.spawn({
|
|
109
|
-
command: NODE,
|
|
110
|
-
args: ['-e', "process.stdout.write('hi'); process.exit(0)"],
|
|
111
|
-
});
|
|
112
|
-
|
|
113
|
-
expect(typeof child.pid).toBe('number');
|
|
114
|
-
expect(child.stdout).not.toBeNull();
|
|
115
|
-
expect(child.stderr).not.toBeNull();
|
|
116
|
-
expect(child.stdin).not.toBeNull();
|
|
117
|
-
|
|
118
|
-
let captured = '';
|
|
119
|
-
child.stdout?.on('data', (chunk: Buffer) => {
|
|
120
|
-
captured += chunk.toString('utf8');
|
|
121
|
-
});
|
|
122
|
-
|
|
123
|
-
const result = await child.exited;
|
|
124
|
-
expect(result.code).toBe(0);
|
|
125
|
-
expect(result.signal).toBeNull();
|
|
126
|
-
expect(captured).toBe('hi');
|
|
127
|
-
});
|
|
128
|
-
|
|
129
|
-
it('kill(SIGTERM) terminates a long-running child and surfaces the signal in exited', async () => {
|
|
130
|
-
const child = defaultChildProcessAdapter.spawn({
|
|
131
|
-
command: NODE,
|
|
132
|
-
args: ['-e', 'setInterval(() => {}, 1000)'],
|
|
133
|
-
});
|
|
134
|
-
|
|
135
|
-
const start = Date.now();
|
|
136
|
-
const killed = child.kill('SIGTERM');
|
|
137
|
-
expect(killed).toBe(true);
|
|
138
|
-
|
|
139
|
-
const result = await child.exited;
|
|
140
|
-
const elapsed = Date.now() - start;
|
|
141
|
-
|
|
142
|
-
expect(result.signal).toBe('SIGTERM');
|
|
143
|
-
expect(result.code).toBeNull();
|
|
144
|
-
expect(elapsed).toBeLessThan(500);
|
|
145
|
-
});
|
|
146
|
-
|
|
147
|
-
it('with stdio: ignore, exposes null streams but still resolves exited', async () => {
|
|
148
|
-
const child = defaultChildProcessAdapter.spawn({
|
|
149
|
-
command: NODE,
|
|
150
|
-
args: ['-e', "process.stdout.write('hidden'); process.exit(0)"],
|
|
151
|
-
stdio: 'ignore',
|
|
152
|
-
});
|
|
153
|
-
|
|
154
|
-
expect(child.stdout).toBeNull();
|
|
155
|
-
expect(child.stderr).toBeNull();
|
|
156
|
-
expect(child.stdin).toBeNull();
|
|
157
|
-
|
|
158
|
-
const result = await child.exited;
|
|
159
|
-
expect(result.code).toBe(0);
|
|
160
|
-
});
|
|
161
|
-
|
|
162
|
-
it('exited can be awaited more than once', async () => {
|
|
163
|
-
const child = defaultChildProcessAdapter.spawn({
|
|
164
|
-
command: NODE,
|
|
165
|
-
args: ['-e', 'process.exit(7)'],
|
|
166
|
-
});
|
|
167
|
-
|
|
168
|
-
const first = await child.exited;
|
|
169
|
-
const second = await child.exited;
|
|
170
|
-
|
|
171
|
-
expect(first.code).toBe(7);
|
|
172
|
-
expect(second.code).toBe(7);
|
|
173
|
-
});
|
|
174
|
-
|
|
175
|
-
it('exited resolves when the command does not exist (error event)', async () => {
|
|
176
|
-
// Spawning a nonexistent binary fires `error` (ENOENT), not `exit`.
|
|
177
|
-
// exited must still settle so the caller doesn't hang.
|
|
178
|
-
const child = defaultChildProcessAdapter.spawn({
|
|
179
|
-
command: '/nonexistent/path/to/binary-xyz',
|
|
180
|
-
args: [],
|
|
181
|
-
});
|
|
182
|
-
|
|
183
|
-
const result = await child.exited;
|
|
184
|
-
|
|
185
|
-
// When the OS rejects the spawn, no exit code or signal is meaningful.
|
|
186
|
-
expect(result.code).toBeNull();
|
|
187
|
-
expect(result.signal).toBeNull();
|
|
188
|
-
});
|
|
189
|
-
});
|
|
190
|
-
|
|
191
|
-
describe('defaultChildProcessAdapter.run with inheritStdio', () => {
|
|
192
|
-
it('returns empty stdout and stderr when inheritStdio is true', async () => {
|
|
193
|
-
// The child writes to stdout, but the parent inherits stdio so the bytes
|
|
194
|
-
// never go through the captured pipe — the adapter cannot see them.
|
|
195
|
-
const result = await defaultChildProcessAdapter.run({
|
|
196
|
-
command: NODE,
|
|
197
|
-
args: ['-e', "process.stdout.write('would-be-captured'); process.exit(0)"],
|
|
198
|
-
inheritStdio: true,
|
|
199
|
-
});
|
|
200
|
-
|
|
201
|
-
expect(result.exitCode).toBe(0);
|
|
202
|
-
expect(result.stdout).toBe('');
|
|
203
|
-
expect(result.stderr).toBe('');
|
|
204
|
-
});
|
|
205
|
-
|
|
206
|
-
it('still propagates exit code under inheritStdio', async () => {
|
|
207
|
-
const result = await defaultChildProcessAdapter.run({
|
|
208
|
-
command: NODE,
|
|
209
|
-
args: ['-e', 'process.exit(42)'],
|
|
210
|
-
inheritStdio: true,
|
|
211
|
-
});
|
|
212
|
-
|
|
213
|
-
expect(result.exitCode).toBe(42);
|
|
214
|
-
expect(result.stdout).toBe('');
|
|
215
|
-
expect(result.stderr).toBe('');
|
|
216
|
-
});
|
|
217
|
-
|
|
218
|
-
it('explicit timeoutMs is still honored under inheritStdio', async () => {
|
|
219
|
-
// Positive control: the conditional-skip applies only when timeoutMs
|
|
220
|
-
// is omitted. An explicit value forces the timer back on.
|
|
221
|
-
await expect(
|
|
222
|
-
defaultChildProcessAdapter.run({
|
|
223
|
-
command: NODE,
|
|
224
|
-
args: ['-e', 'setTimeout(() => {}, 5000)'],
|
|
225
|
-
inheritStdio: true,
|
|
226
|
-
timeoutMs: 50,
|
|
227
|
-
})
|
|
228
|
-
).rejects.toThrow(/timed out after 50ms/);
|
|
229
|
-
});
|
|
230
|
-
|
|
231
|
-
it('omits the default timeout when inheritStdio is true (short child completes naturally)', async () => {
|
|
232
|
-
// We can't wait 5 minutes to prove the default timeout isn't set, but
|
|
233
|
-
// we can prove that a child running with inheritStdio:true and no
|
|
234
|
-
// explicit timeoutMs completes via the natural exit path with no
|
|
235
|
-
// timeout-derived rejection. Combined with the test above, the
|
|
236
|
-
// conditional-skip behavior is pinned in both directions.
|
|
237
|
-
const result = await defaultChildProcessAdapter.run({
|
|
238
|
-
command: NODE,
|
|
239
|
-
args: ['-e', "setTimeout(() => process.exit(0), 50)"],
|
|
240
|
-
inheritStdio: true,
|
|
241
|
-
});
|
|
242
|
-
expect(result.exitCode).toBe(0);
|
|
243
|
-
});
|
|
244
|
-
|
|
245
|
-
it('does not schedule a setTimeout when inheritStdio is true and timeoutMs is omitted', async () => {
|
|
246
|
-
// Direct evidence (review follow-up): spy on globalThis.setTimeout and
|
|
247
|
-
// assert no timer scheduled with the DEFAULT_TIMEOUT_MS (300000ms) value.
|
|
248
|
-
// Short-running children may legitimately schedule small timers via
|
|
249
|
-
// their own logic, so we filter the spy calls to the default-timeout
|
|
250
|
-
// duration specifically — that's the value the regression repaired.
|
|
251
|
-
const setTimeoutSpy = vi.spyOn(globalThis, 'setTimeout');
|
|
252
|
-
try {
|
|
253
|
-
await defaultChildProcessAdapter.run({
|
|
254
|
-
command: NODE,
|
|
255
|
-
args: ['-e', 'process.exit(0)'],
|
|
256
|
-
inheritStdio: true,
|
|
257
|
-
});
|
|
258
|
-
const defaultTimeoutCalls = setTimeoutSpy.mock.calls.filter(
|
|
259
|
-
(args) => args[1] === 5 * 60 * 1000
|
|
260
|
-
);
|
|
261
|
-
expect(defaultTimeoutCalls).toHaveLength(0);
|
|
262
|
-
} finally {
|
|
263
|
-
setTimeoutSpy.mockRestore();
|
|
264
|
-
}
|
|
265
|
-
});
|
|
266
|
-
});
|