@credibledata/cred-cli 0.0.103 → 0.0.105
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 +106 -1
- package/dist/agent-contract.spec.js +548 -0
- package/dist/agent-contract.spec.js.map +1 -0
- package/dist/browser.js +72 -0
- package/dist/browser.js.map +1 -0
- package/dist/browser.spec.js +125 -0
- package/dist/browser.spec.js.map +1 -0
- package/dist/client/api.js +4137 -1159
- package/dist/client/api.js.map +1 -1
- package/dist/client-codeassist/api.js +476 -0
- package/dist/client-codeassist/api.js.map +1 -0
- package/dist/client-codeassist/base.js +69 -0
- package/dist/client-codeassist/base.js.map +1 -0
- package/dist/client-codeassist/common.js +162 -0
- package/dist/client-codeassist/common.js.map +1 -0
- package/dist/client-codeassist/configuration.js +44 -0
- package/dist/client-codeassist/configuration.js.map +1 -0
- package/dist/client-codeassist/index.js +32 -0
- package/dist/client-codeassist/index.js.map +1 -0
- package/dist/clientconfiguration.js +17 -289
- package/dist/clientconfiguration.js.map +1 -1
- package/dist/clientconfiguration.spec.js +35 -96
- package/dist/clientconfiguration.spec.js.map +1 -1
- package/dist/commands/add.js +103 -3
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/add.spec.js +113 -0
- package/dist/commands/add.spec.js.map +1 -0
- package/dist/commands/connection/createconnections.js +104 -7
- package/dist/commands/connection/createconnections.js.map +1 -1
- package/dist/commands/connection/createconnections.spec.js +35 -1
- package/dist/commands/connection/createconnections.spec.js.map +1 -1
- package/dist/commands/connection/deleteconnection.js +4 -2
- package/dist/commands/connection/deleteconnection.js.map +1 -1
- package/dist/commands/connection/deleteconnection.spec.js +6 -1
- package/dist/commands/connection/deleteconnection.spec.js.map +1 -1
- package/dist/commands/connection/listconnections.js +2 -0
- package/dist/commands/connection/listconnections.js.map +1 -1
- package/dist/commands/connection/updateconnection.js +365 -0
- package/dist/commands/connection/updateconnection.js.map +1 -0
- package/dist/commands/connection/updateconnection.spec.js +625 -0
- package/dist/commands/connection/updateconnection.spec.js.map +1 -0
- package/dist/commands/database/createdatabase.js +52 -0
- package/dist/commands/database/createdatabase.js.map +1 -0
- package/dist/commands/database/database.spec.js +267 -0
- package/dist/commands/database/database.spec.js.map +1 -0
- package/dist/commands/database/deletedatabase.js +91 -0
- package/dist/commands/database/deletedatabase.js.map +1 -0
- package/dist/commands/database/getdatabase.js +97 -0
- package/dist/commands/database/getdatabase.js.map +1 -0
- package/dist/commands/database/listdatabases.js +36 -0
- package/dist/commands/database/listdatabases.js.map +1 -0
- package/dist/commands/database/shared.js +125 -0
- package/dist/commands/database/shared.js.map +1 -0
- package/dist/commands/database/shared.spec.js +109 -0
- package/dist/commands/database/shared.spec.js.map +1 -0
- package/dist/commands/database/updatedatabase.js +39 -0
- package/dist/commands/database/updatedatabase.js.map +1 -0
- package/dist/commands/environment/createenvironment.js +59 -28
- package/dist/commands/environment/createenvironment.js.map +1 -1
- package/dist/commands/environment/createenvironment.spec.js +29 -0
- package/dist/commands/environment/createenvironment.spec.js.map +1 -1
- package/dist/commands/environment/deleteenvironment.js +3 -2
- package/dist/commands/environment/deleteenvironment.js.map +1 -1
- package/dist/commands/environment/deleteenvironment.spec.js +5 -1
- package/dist/commands/environment/deleteenvironment.spec.js.map +1 -1
- package/dist/commands/environment/getenvironment.js +1 -0
- package/dist/commands/environment/getenvironment.js.map +1 -1
- package/dist/commands/environment/listenvironments.js +40 -8
- package/dist/commands/environment/listenvironments.js.map +1 -1
- package/dist/commands/environment/listenvironments.spec.js +41 -2
- package/dist/commands/environment/listenvironments.spec.js.map +1 -1
- package/dist/commands/environment/setenvironment.js +145 -6
- package/dist/commands/environment/setenvironment.js.map +1 -1
- package/dist/commands/environment/setenvironment.spec.js +256 -8
- package/dist/commands/environment/setenvironment.spec.js.map +1 -1
- package/dist/commands/environment/updateenvironment.js +12 -8
- package/dist/commands/environment/updateenvironment.js.map +1 -1
- package/dist/commands/environment/updateenvironment.spec.js +36 -2
- package/dist/commands/environment/updateenvironment.spec.js.map +1 -1
- package/dist/commands/get.js +64 -1
- package/dist/commands/get.js.map +1 -1
- package/dist/commands/group/addmember.js +3 -1
- package/dist/commands/group/addmember.js.map +1 -1
- package/dist/commands/group/addmember.spec.js +7 -2
- package/dist/commands/group/addmember.spec.js.map +1 -1
- package/dist/commands/group/creategroup.js +2 -0
- package/dist/commands/group/creategroup.js.map +1 -1
- package/dist/commands/group/deletegroup.js +3 -1
- package/dist/commands/group/deletegroup.js.map +1 -1
- package/dist/commands/group/deletegroup.spec.js +7 -1
- package/dist/commands/group/deletegroup.spec.js.map +1 -1
- package/dist/commands/group/getgroup.js +2 -0
- package/dist/commands/group/getgroup.js.map +1 -1
- package/dist/commands/group/listgroups.js +2 -0
- package/dist/commands/group/listgroups.js.map +1 -1
- package/dist/commands/group/removemember.js +3 -1
- package/dist/commands/group/removemember.js.map +1 -1
- package/dist/commands/group/removemember.spec.js +7 -2
- package/dist/commands/group/removemember.spec.js.map +1 -1
- package/dist/commands/groupaccesstoken/deleteToken.js +2 -1
- package/dist/commands/groupaccesstoken/deleteToken.js.map +1 -1
- package/dist/commands/groupaccesstoken/groupContainer.js +2 -0
- package/dist/commands/groupaccesstoken/groupContainer.js.map +1 -1
- package/dist/commands/list.js +24 -4
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/materialization/cancelrun.js +3 -1
- package/dist/commands/materialization/cancelrun.js.map +1 -1
- package/dist/commands/materialization/getindex.js +2 -0
- package/dist/commands/materialization/getindex.js.map +1 -1
- package/dist/commands/materialization/getmaterialization.js +2 -0
- package/dist/commands/materialization/getmaterialization.js.map +1 -1
- package/dist/commands/materialization/getpreaggregate.js +2 -0
- package/dist/commands/materialization/getpreaggregate.js.map +1 -1
- package/dist/commands/materialization/getrun.js +2 -0
- package/dist/commands/materialization/getrun.js.map +1 -1
- package/dist/commands/materialization/listindexes.js +2 -0
- package/dist/commands/materialization/listindexes.js.map +1 -1
- package/dist/commands/materialization/listmaterializations.js +2 -0
- package/dist/commands/materialization/listmaterializations.js.map +1 -1
- package/dist/commands/materialization/listpreaggregates.js +2 -0
- package/dist/commands/materialization/listpreaggregates.js.map +1 -1
- package/dist/commands/materialization/listruns.js +3 -1
- package/dist/commands/materialization/listruns.js.map +1 -1
- package/dist/commands/materialization/rerun.js +3 -1
- package/dist/commands/materialization/rerun.js.map +1 -1
- package/dist/commands/misc/inquirerHost.js +87 -0
- package/dist/commands/misc/inquirerHost.js.map +1 -0
- package/dist/commands/misc/inquirerHost.spec.js +91 -0
- package/dist/commands/misc/inquirerHost.spec.js.map +1 -0
- package/dist/commands/misc/login.js +348 -58
- package/dist/commands/misc/login.js.map +1 -1
- package/dist/commands/misc/login.spec.js +525 -7
- package/dist/commands/misc/login.spec.js.map +1 -1
- package/dist/commands/misc/logout.js +26 -3
- package/dist/commands/misc/logout.js.map +1 -1
- package/dist/commands/misc/logout.spec.js +52 -12
- package/dist/commands/misc/logout.spec.js.map +1 -1
- package/dist/commands/misc/resolveLoginTarget.spec.js +90 -0
- package/dist/commands/misc/resolveLoginTarget.spec.js.map +1 -0
- package/dist/commands/misc/scope.spec.js +108 -0
- package/dist/commands/misc/scope.spec.js.map +1 -0
- package/dist/commands/misc/set-access-token.js +1 -1
- package/dist/commands/misc/set-access-token.js.map +1 -1
- package/dist/commands/misc/set-access-token.spec.js +13 -2
- package/dist/commands/misc/set-access-token.spec.js.map +1 -1
- package/dist/commands/misc/setup.js +819 -0
- package/dist/commands/misc/setup.js.map +1 -0
- package/dist/commands/misc/setup.spec.js +783 -0
- package/dist/commands/misc/setup.spec.js.map +1 -0
- package/dist/commands/misc/status.js +168 -0
- package/dist/commands/misc/status.js.map +1 -0
- package/dist/commands/misc/status.spec.js +301 -0
- package/dist/commands/misc/status.spec.js.map +1 -0
- package/dist/commands/misc/token.js +57 -0
- package/dist/commands/misc/token.js.map +1 -0
- package/dist/commands/misc/token.spec.js +92 -0
- package/dist/commands/misc/token.spec.js.map +1 -0
- package/dist/commands/package/deletepackage.js +4 -2
- package/dist/commands/package/deletepackage.js.map +1 -1
- package/dist/commands/package/deletepackage.spec.js +7 -1
- package/dist/commands/package/deletepackage.spec.js.map +1 -1
- package/dist/commands/package/getpackage.js +142 -0
- package/dist/commands/package/getpackage.js.map +1 -0
- package/dist/commands/package/getpackage.spec.js +246 -0
- package/dist/commands/package/getpackage.spec.js.map +1 -0
- package/dist/commands/package/listpackages.js +2 -0
- package/dist/commands/package/listpackages.js.map +1 -1
- package/dist/commands/package/publish.archive.spec.js +570 -0
- package/dist/commands/package/publish.archive.spec.js.map +1 -0
- package/dist/commands/package/publish.js +780 -49
- package/dist/commands/package/publish.js.map +1 -1
- package/dist/commands/package/publish.spec.js +451 -8
- package/dist/commands/package/publish.spec.js.map +1 -1
- package/dist/commands/package/updatepackage.js +22 -19
- package/dist/commands/package/updatepackage.js.map +1 -1
- package/dist/commands/package/updatepackage.spec.js +36 -1
- package/dist/commands/package/updatepackage.spec.js.map +1 -1
- package/dist/commands/permission/createpermission.js +3 -1
- package/dist/commands/permission/createpermission.js.map +1 -1
- package/dist/commands/permission/deletepermission.js +6 -3
- package/dist/commands/permission/deletepermission.js.map +1 -1
- package/dist/commands/permission/getpermission.js +2 -0
- package/dist/commands/permission/getpermission.js.map +1 -1
- package/dist/commands/permission/listpermissions.js +2 -0
- package/dist/commands/permission/listpermissions.js.map +1 -1
- package/dist/commands/rm.js +21 -0
- package/dist/commands/rm.js.map +1 -1
- package/dist/commands/set.js +40 -6
- package/dist/commands/set.js.map +1 -1
- package/dist/commands/set.spec.js +123 -0
- package/dist/commands/set.spec.js.map +1 -0
- package/dist/commands/table/addtable.js +155 -0
- package/dist/commands/table/addtable.js.map +1 -0
- package/dist/commands/table/deletetable.js +45 -0
- package/dist/commands/table/deletetable.js.map +1 -0
- package/dist/commands/table/gettable.js +32 -0
- package/dist/commands/table/gettable.js.map +1 -0
- package/dist/commands/table/listtables.js +36 -0
- package/dist/commands/table/listtables.js.map +1 -0
- package/dist/commands/table/table.spec.js +304 -0
- package/dist/commands/table/table.spec.js.map +1 -0
- package/dist/commands/table/tablefile.js +195 -0
- package/dist/commands/table/tablefile.js.map +1 -0
- package/dist/commands/table/tablefile.spec.js +158 -0
- package/dist/commands/table/tablefile.spec.js.map +1 -0
- package/dist/commands/update.js +21 -0
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/version/archive-unarchive-version.js +4 -2
- package/dist/commands/version/archive-unarchive-version.js.map +1 -1
- package/dist/commands/version/archive-unarchive-version.spec.js +6 -1
- package/dist/commands/version/archive-unarchive-version.spec.js.map +1 -1
- package/dist/commands/version/listversions.js +2 -0
- package/dist/commands/version/listversions.js.map +1 -1
- package/dist/common/UserGroupId.js +9 -4
- package/dist/common/UserGroupId.js.map +1 -1
- package/dist/common/UserGroupId.spec.js +5 -0
- package/dist/common/UserGroupId.spec.js.map +1 -1
- package/dist/constants.js +37 -143
- package/dist/constants.js.map +1 -1
- package/dist/index.js +487 -90
- package/dist/index.js.map +1 -1
- package/dist/logger.js +42 -9
- package/dist/logger.js.map +1 -1
- package/dist/session.js +56 -0
- package/dist/session.js.map +1 -0
- package/dist/session.spec.js +103 -0
- package/dist/session.spec.js.map +1 -0
- package/dist/setup-core/briefing.js +176 -0
- package/dist/setup-core/briefing.js.map +1 -0
- package/dist/setup-core/credstore.js +415 -0
- package/dist/setup-core/credstore.js.map +1 -0
- package/dist/setup-core/credstore.spec.js +238 -0
- package/dist/setup-core/credstore.spec.js.map +1 -0
- package/dist/setup-core/environments.js +267 -0
- package/dist/setup-core/environments.js.map +1 -0
- package/dist/setup-core/flow.e2e.js +165 -0
- package/dist/setup-core/flow.e2e.js.map +1 -0
- package/dist/setup-core/flow.js +765 -0
- package/dist/setup-core/flow.js.map +1 -0
- package/dist/setup-core/flow.spec.js +1348 -0
- package/dist/setup-core/flow.spec.js.map +1 -0
- package/dist/setup-core/folderconfig.js +283 -0
- package/dist/setup-core/folderconfig.js.map +1 -0
- package/dist/setup-core/git.js +97 -0
- package/dist/setup-core/git.js.map +1 -0
- package/dist/setup-core/host.js +77 -0
- package/dist/setup-core/host.js.map +1 -0
- package/dist/setup-core/importconnections.js +470 -0
- package/dist/setup-core/importconnections.js.map +1 -0
- package/dist/setup-core/importconnections.spec.js +594 -0
- package/dist/setup-core/importconnections.spec.js.map +1 -0
- package/dist/setup-core/liveness.js +94 -0
- package/dist/setup-core/liveness.js.map +1 -0
- package/dist/setup-core/liveness.spec.js +59 -0
- package/dist/setup-core/liveness.spec.js.map +1 -0
- package/dist/setup-core/localpublisherconfig.js +26 -0
- package/dist/setup-core/localpublisherconfig.js.map +1 -0
- package/dist/setup-core/localpublisherconfig.spec.js +29 -0
- package/dist/setup-core/localpublisherconfig.spec.js.map +1 -0
- package/dist/setup-core/mcpconfig.js +198 -0
- package/dist/setup-core/mcpconfig.js.map +1 -0
- package/dist/setup-core/mcpconfig.spec.js +205 -0
- package/dist/setup-core/mcpconfig.spec.js.map +1 -0
- package/dist/setup-core/packagemanifest.js +55 -0
- package/dist/setup-core/packagemanifest.js.map +1 -0
- package/dist/setup-core/ports.js +182 -0
- package/dist/setup-core/ports.js.map +1 -0
- package/dist/setup-core/ports.spec.js +173 -0
- package/dist/setup-core/ports.spec.js.map +1 -0
- package/dist/setup-core/publisherconfig.js +268 -0
- package/dist/setup-core/publisherconfig.js.map +1 -0
- package/dist/setup-core/publisherconfig.oracle.js +166 -0
- package/dist/setup-core/publisherconfig.oracle.js.map +1 -0
- package/dist/setup-core/publisherconfig.spec.js +277 -0
- package/dist/setup-core/publisherconfig.spec.js.map +1 -0
- package/dist/setup-core/publisherversion.js +26 -0
- package/dist/setup-core/publisherversion.js.map +1 -0
- package/dist/setup-core/readiness.spec.js +161 -0
- package/dist/setup-core/readiness.spec.js.map +1 -0
- package/dist/setup-core/readylines.js +169 -0
- package/dist/setup-core/readylines.js.map +1 -0
- package/dist/setup-core/readylines.spec.js +70 -0
- package/dist/setup-core/readylines.spec.js.map +1 -0
- package/dist/setup-core/refresh.js +348 -0
- package/dist/setup-core/refresh.js.map +1 -0
- package/dist/setup-core/refresh.spec.js +501 -0
- package/dist/setup-core/refresh.spec.js.map +1 -0
- package/dist/setup-core/skills.js +279 -0
- package/dist/setup-core/skills.js.map +1 -0
- package/dist/setup-core/skills.spec.js +334 -0
- package/dist/setup-core/skills.spec.js.map +1 -0
- package/dist/setup-core/supervisor.js +879 -0
- package/dist/setup-core/supervisor.js.map +1 -0
- package/dist/setup-core/supervisor.spec.js +833 -0
- package/dist/setup-core/supervisor.spec.js.map +1 -0
- package/dist/setup-core/writefile.js +61 -0
- package/dist/setup-core/writefile.js.map +1 -0
- package/dist/setup-core/writefile.spec.js +68 -0
- package/dist/setup-core/writefile.spec.js.map +1 -0
- package/dist/utils.js +409 -3
- package/dist/utils.js.map +1 -1
- package/dist/utils.spec.js +373 -2
- package/dist/utils.spec.js.map +1 -1
- package/dist/versioncheck-refresh.js +18 -0
- package/dist/versioncheck-refresh.js.map +1 -0
- package/dist/versioncheck.js +324 -0
- package/dist/versioncheck.js.map +1 -0
- package/dist/versioncheck.spec.js +587 -0
- package/dist/versioncheck.spec.js.map +1 -0
- package/node_modules/@credibledata/cli-auth/dist/index.d.ts +86 -0
- package/node_modules/@credibledata/cli-auth/dist/index.js +102 -0
- package/node_modules/@credibledata/cli-auth/package.json +19 -0
- package/package.json +18 -6
- package/.github/workflows/build.yml +0 -23
- package/.mocharc.json +0 -10
- package/.prettierignore +0 -2
- package/.prettierrc +0 -4
- package/README-DEV.md +0 -40
- package/coverage/coverage-summary.json +0 -40
- package/coverage/tmp/coverage-2152-1789496974457-0.json +0 -1
- package/coverage/tmp/coverage-2153-1789496954404-0.json +0 -1
- package/docker/Dockerfile.ci +0 -18
- package/docker-compose.yml +0 -18
- package/eslint.config.mjs +0 -45
- package/generate-client.sh +0 -27
- package/mocha.setup.ts +0 -4
- package/openapitools.json +0 -10
- package/src/client/.openapi-generator/FILES +0 -9
- package/src/client/.openapi-generator/VERSION +0 -1
- package/src/client/.openapi-generator-ignore +0 -23
- package/src/client/api.ts +0 -15999
- package/src/client/base.ts +0 -86
- package/src/client/common.ts +0 -150
- package/src/client/configuration.ts +0 -110
- package/src/client/git_push.sh +0 -57
- package/src/client/index.ts +0 -18
- package/src/clientconfiguration.spec.ts +0 -615
- package/src/clientconfiguration.ts +0 -364
- package/src/commands/add.ts +0 -191
- package/src/commands/connection/createconnections.spec.ts +0 -413
- package/src/commands/connection/createconnections.ts +0 -109
- package/src/commands/connection/deleteconnection.spec.ts +0 -189
- package/src/commands/connection/deleteconnection.ts +0 -57
- package/src/commands/connection/listconnections.spec.ts +0 -132
- package/src/commands/connection/listconnections.ts +0 -58
- package/src/commands/environment/createenvironment.spec.ts +0 -249
- package/src/commands/environment/createenvironment.ts +0 -73
- package/src/commands/environment/deleteenvironment.spec.ts +0 -152
- package/src/commands/environment/deleteenvironment.ts +0 -48
- package/src/commands/environment/getenvironment.spec.ts +0 -110
- package/src/commands/environment/getenvironment.ts +0 -43
- package/src/commands/environment/listenvironments.spec.ts +0 -123
- package/src/commands/environment/listenvironments.ts +0 -67
- package/src/commands/environment/setenvironment.spec.ts +0 -63
- package/src/commands/environment/setenvironment.ts +0 -14
- package/src/commands/environment/updateenvironment.spec.ts +0 -386
- package/src/commands/environment/updateenvironment.ts +0 -168
- package/src/commands/get.ts +0 -153
- package/src/commands/group/addmember.spec.ts +0 -257
- package/src/commands/group/addmember.ts +0 -85
- package/src/commands/group/creategroup.spec.ts +0 -146
- package/src/commands/group/creategroup.ts +0 -54
- package/src/commands/group/deletegroup.spec.ts +0 -120
- package/src/commands/group/deletegroup.ts +0 -45
- package/src/commands/group/getgroup.spec.ts +0 -129
- package/src/commands/group/getgroup.ts +0 -47
- package/src/commands/group/listgroups.spec.ts +0 -137
- package/src/commands/group/listgroups.ts +0 -45
- package/src/commands/group/removemember.spec.ts +0 -224
- package/src/commands/group/removemember.ts +0 -75
- package/src/commands/groupaccesstoken/createToken.spec.ts +0 -211
- package/src/commands/groupaccesstoken/createToken.ts +0 -72
- package/src/commands/groupaccesstoken/deleteToken.spec.ts +0 -147
- package/src/commands/groupaccesstoken/deleteToken.ts +0 -29
- package/src/commands/groupaccesstoken/groupContainer.ts +0 -83
- package/src/commands/groupaccesstoken/listTokens.spec.ts +0 -147
- package/src/commands/groupaccesstoken/listTokens.ts +0 -29
- package/src/commands/legacy.ts +0 -5
- package/src/commands/list.ts +0 -326
- package/src/commands/materialization/cancelrun.ts +0 -70
- package/src/commands/materialization/getindex.ts +0 -55
- package/src/commands/materialization/getmaterialization.ts +0 -57
- package/src/commands/materialization/getpreaggregate.ts +0 -58
- package/src/commands/materialization/getrun.ts +0 -55
- package/src/commands/materialization/listindexes.ts +0 -69
- package/src/commands/materialization/listmaterializations.ts +0 -53
- package/src/commands/materialization/listpreaggregates.ts +0 -74
- package/src/commands/materialization/listruns.ts +0 -77
- package/src/commands/materialization/rerun.ts +0 -123
- package/src/commands/misc/login.spec.ts +0 -371
- package/src/commands/misc/login.ts +0 -343
- package/src/commands/misc/logout.spec.ts +0 -32
- package/src/commands/misc/logout.ts +0 -9
- package/src/commands/misc/loopbackOAuth.ts +0 -127
- package/src/commands/misc/set-access-token.spec.ts +0 -95
- package/src/commands/misc/set-access-token.ts +0 -32
- package/src/commands/package/deletepackage.spec.ts +0 -164
- package/src/commands/package/deletepackage.ts +0 -58
- package/src/commands/package/listpackages.spec.ts +0 -163
- package/src/commands/package/listpackages.ts +0 -74
- package/src/commands/package/publish.spec.ts +0 -642
- package/src/commands/package/publish.ts +0 -236
- package/src/commands/package/updatepackage.spec.ts +0 -319
- package/src/commands/package/updatepackage.ts +0 -95
- package/src/commands/permission/createpermission.spec.ts +0 -507
- package/src/commands/permission/createpermission.ts +0 -181
- package/src/commands/permission/deletepermission.ts +0 -117
- package/src/commands/permission/getpermission.ts +0 -115
- package/src/commands/permission/listpermissions.ts +0 -101
- package/src/commands/permission/scope.ts +0 -180
- package/src/commands/rm.ts +0 -146
- package/src/commands/set.ts +0 -25
- package/src/commands/update.ts +0 -107
- package/src/commands/version/archive-unarchive-version.spec.ts +0 -456
- package/src/commands/version/archive-unarchive-version.ts +0 -108
- package/src/commands/version/listversions.spec.ts +0 -138
- package/src/commands/version/listversions.ts +0 -45
- package/src/common/UserGroupId.spec.ts +0 -115
- package/src/common/UserGroupId.ts +0 -137
- package/src/constants.spec.ts +0 -111
- package/src/constants.ts +0 -228
- package/src/index.ts +0 -378
- package/src/logger.spec.ts +0 -158
- package/src/logger.ts +0 -90
- package/src/polyfills/file.polyfill.ts +0 -6
- package/src/utils.spec.ts +0 -135
- package/src/utils.ts +0 -115
- package/src/validator.spec.ts +0 -51
- package/src/validator.ts +0 -44
- package/tsconfig.json +0 -17
package/dist/utils.spec.js
CHANGED
|
@@ -49,19 +49,259 @@ const axios_1 = __importDefault(require("axios"));
|
|
|
49
49
|
const chai_1 = require("chai");
|
|
50
50
|
const inquirer_1 = __importDefault(require("inquirer"));
|
|
51
51
|
const sinon_1 = __importDefault(require("sinon"));
|
|
52
|
+
const stream_1 = require("stream");
|
|
52
53
|
const loggerModule = __importStar(require("./logger"));
|
|
54
|
+
const sessionModule = __importStar(require("./session"));
|
|
53
55
|
const utils_1 = require("./utils");
|
|
56
|
+
/**
|
|
57
|
+
* Pretend a human is at the keyboard, or that nobody is.
|
|
58
|
+
*
|
|
59
|
+
* The prompt helpers read three signals; mocha under CI (and under an agent)
|
|
60
|
+
* has none of them, so the prompting tests below would otherwise fail on the
|
|
61
|
+
* guard before reaching the inquirer stub they exist to exercise.
|
|
62
|
+
*/
|
|
63
|
+
function pretendStdin(interactive) {
|
|
64
|
+
const stdin = process.stdin;
|
|
65
|
+
const saved = {
|
|
66
|
+
isTTY: stdin.isTTY,
|
|
67
|
+
ci: process.env.CI,
|
|
68
|
+
nonInteractive: process.env.CRED_NON_INTERACTIVE,
|
|
69
|
+
};
|
|
70
|
+
stdin.isTTY = interactive;
|
|
71
|
+
delete process.env.CI;
|
|
72
|
+
if (interactive)
|
|
73
|
+
delete process.env.CRED_NON_INTERACTIVE;
|
|
74
|
+
else
|
|
75
|
+
process.env.CRED_NON_INTERACTIVE = "1";
|
|
76
|
+
return () => {
|
|
77
|
+
stdin.isTTY = saved.isTTY;
|
|
78
|
+
if (saved.ci === undefined)
|
|
79
|
+
delete process.env.CI;
|
|
80
|
+
else
|
|
81
|
+
process.env.CI = saved.ci;
|
|
82
|
+
if (saved.nonInteractive === undefined) {
|
|
83
|
+
delete process.env.CRED_NON_INTERACTIVE;
|
|
84
|
+
}
|
|
85
|
+
else
|
|
86
|
+
process.env.CRED_NON_INTERACTIVE = saved.nonInteractive;
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
describe("takeCellFlag", () => {
|
|
90
|
+
const argv = (...args) => ["node", "cred", ...args];
|
|
91
|
+
it("splices `--cell x` and `--cell=x` out, before or after the subcommand", () => {
|
|
92
|
+
const a = argv("--cell", "staging", "publish", "--dry-run");
|
|
93
|
+
(0, chai_1.expect)((0, utils_1.takeCellFlag)(a)).to.equal("staging");
|
|
94
|
+
(0, chai_1.expect)(a).to.eql(argv("publish", "--dry-run"));
|
|
95
|
+
const b = argv("status", "--cell=aws-dev", "--json");
|
|
96
|
+
(0, chai_1.expect)((0, utils_1.takeCellFlag)(b)).to.equal("aws-dev");
|
|
97
|
+
(0, chai_1.expect)(b).to.eql(argv("status", "--json"));
|
|
98
|
+
});
|
|
99
|
+
it("is a no-op when absent, after `--`, or while completing", () => {
|
|
100
|
+
for (const args of [
|
|
101
|
+
argv("status"),
|
|
102
|
+
argv("publish", "--", "--cell", "staging"),
|
|
103
|
+
argv("--compgen", "1", "--cell", "bogus"),
|
|
104
|
+
]) {
|
|
105
|
+
const before = [...args];
|
|
106
|
+
(0, chai_1.expect)((0, utils_1.takeCellFlag)(args)).to.equal(undefined);
|
|
107
|
+
(0, chai_1.expect)(args).to.eql(before);
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
it("rejects a missing or unknown cell, listing the valid ones", () => {
|
|
111
|
+
(0, chai_1.expect)(() => (0, utils_1.takeCellFlag)(argv("status", "--cell"))).to.throw(/needs a value.*production/);
|
|
112
|
+
(0, chai_1.expect)(() => (0, utils_1.takeCellFlag)(argv("--cell", "--json"))).to.throw(/needs a value/);
|
|
113
|
+
(0, chai_1.expect)(() => (0, utils_1.takeCellFlag)(argv("--cell=bogus"))).to.throw(/Unknown cell "bogus".*aws-dev/);
|
|
114
|
+
});
|
|
115
|
+
it("rejects a repeated flag instead of leaving one for Commander", () => {
|
|
116
|
+
(0, chai_1.expect)(() => (0, utils_1.takeCellFlag)(argv("--cell", "staging", "status", "--cell=aws-dev"))).to.throw(/more than once/);
|
|
117
|
+
});
|
|
118
|
+
});
|
|
54
119
|
describe("utils", () => {
|
|
55
120
|
let sandbox;
|
|
56
121
|
let loggerStub;
|
|
57
122
|
let logAxiosErrorStub;
|
|
123
|
+
let restoreStdin;
|
|
124
|
+
let refreshStub;
|
|
125
|
+
// Never read: the session refresh a "yes" triggers is stubbed below.
|
|
126
|
+
const session = {};
|
|
58
127
|
beforeEach(() => {
|
|
59
128
|
sandbox = sinon_1.default.createSandbox();
|
|
60
129
|
loggerStub = sandbox.stub(loggerModule.logger);
|
|
61
130
|
logAxiosErrorStub = sandbox.stub(loggerModule, "logAxiosError");
|
|
131
|
+
refreshStub = sandbox
|
|
132
|
+
.stub(sessionModule, "refreshSessionOrExit")
|
|
133
|
+
.resolves();
|
|
134
|
+
restoreStdin = pretendStdin(true);
|
|
62
135
|
});
|
|
63
136
|
afterEach(() => {
|
|
64
137
|
sandbox.restore();
|
|
138
|
+
restoreStdin();
|
|
139
|
+
});
|
|
140
|
+
describe("isInteractive at a terminal", () => {
|
|
141
|
+
// `restoreStdin` from the outer beforeEach puts both variables back.
|
|
142
|
+
for (const value of ["false", "0", ""]) {
|
|
143
|
+
it(`still prompts with CI=${JSON.stringify(value)}`, () => {
|
|
144
|
+
process.env.CI = value;
|
|
145
|
+
process.env.CRED_NON_INTERACTIVE = value;
|
|
146
|
+
(0, chai_1.expect)((0, utils_1.isInteractive)()).to.equal(true);
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
for (const value of ["true", "1"]) {
|
|
150
|
+
it(`stops prompting with CI=${value}`, () => {
|
|
151
|
+
process.env.CI = value;
|
|
152
|
+
(0, chai_1.expect)((0, utils_1.isInteractive)()).to.equal(false);
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
describe("without a terminal", () => {
|
|
157
|
+
beforeEach(() => {
|
|
158
|
+
restoreStdin();
|
|
159
|
+
restoreStdin = pretendStdin(false);
|
|
160
|
+
});
|
|
161
|
+
it("reports non-interactive", () => {
|
|
162
|
+
(0, chai_1.expect)((0, utils_1.isInteractive)()).to.equal(false);
|
|
163
|
+
});
|
|
164
|
+
it("is also non-interactive under --non-interactive with a TTY", () => {
|
|
165
|
+
restoreStdin();
|
|
166
|
+
restoreStdin = pretendStdin(true);
|
|
167
|
+
const argv = process.argv;
|
|
168
|
+
process.argv = [...argv, "--non-interactive"];
|
|
169
|
+
try {
|
|
170
|
+
(0, chai_1.expect)((0, utils_1.isInteractive)()).to.equal(false);
|
|
171
|
+
}
|
|
172
|
+
finally {
|
|
173
|
+
process.argv = argv;
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
it("getConfirmation refuses with exit code 2 and names --yes", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
177
|
+
const promptStub = sandbox.stub(inquirer_1.default, "prompt");
|
|
178
|
+
const error = yield (0, utils_1.getConfirmation)("Send it?", session).catch((e) => e);
|
|
179
|
+
(0, chai_1.expect)(error).to.be.instanceOf(utils_1.NeedsInputError);
|
|
180
|
+
(0, chai_1.expect)(error.exitCode).to.equal(2);
|
|
181
|
+
(0, chai_1.expect)(error.message).to.equal('Cannot ask "Send it?" without a terminal. Pass --yes.');
|
|
182
|
+
(0, chai_1.expect)(promptStub.called).to.equal(false);
|
|
183
|
+
}));
|
|
184
|
+
// On dev every confirmation went through inquirer, which read a piped
|
|
185
|
+
// line, so `yes | cred publish` and `echo y | cred update package ...`
|
|
186
|
+
// were working scripts.
|
|
187
|
+
describe("with an answer piped to stdin", () => {
|
|
188
|
+
let savedStdin;
|
|
189
|
+
let piped;
|
|
190
|
+
beforeEach(() => {
|
|
191
|
+
restoreStdin();
|
|
192
|
+
savedStdin = process.stdin;
|
|
193
|
+
piped = new stream_1.PassThrough();
|
|
194
|
+
Object.defineProperty(process, "stdin", {
|
|
195
|
+
value: piped,
|
|
196
|
+
configurable: true,
|
|
197
|
+
});
|
|
198
|
+
restoreStdin = pretendStdin(false);
|
|
199
|
+
delete process.env.CRED_NON_INTERACTIVE;
|
|
200
|
+
});
|
|
201
|
+
afterEach(() => {
|
|
202
|
+
Object.defineProperty(process, "stdin", {
|
|
203
|
+
value: savedStdin,
|
|
204
|
+
configurable: true,
|
|
205
|
+
});
|
|
206
|
+
});
|
|
207
|
+
for (const [input, expected] of [
|
|
208
|
+
["y\n", true],
|
|
209
|
+
["YES\n", true],
|
|
210
|
+
["n\n", false],
|
|
211
|
+
["no thanks\n", false],
|
|
212
|
+
// An empty answer is "no", piped or at the terminal: every caller
|
|
213
|
+
// is about to change something, and a bare Enter deleted.
|
|
214
|
+
["\n", false],
|
|
215
|
+
]) {
|
|
216
|
+
it(`reads ${JSON.stringify(input)} as ${expected}`, () => __awaiter(void 0, void 0, void 0, function* () {
|
|
217
|
+
const promptStub = sandbox.stub(inquirer_1.default, "prompt");
|
|
218
|
+
piped.write(input);
|
|
219
|
+
(0, chai_1.expect)(yield (0, utils_1.getConfirmation)("Send it?", session)).to.equal(expected);
|
|
220
|
+
(0, chai_1.expect)(promptStub.called).to.equal(false);
|
|
221
|
+
}));
|
|
222
|
+
}
|
|
223
|
+
// A CI log has to show what was asked and what was read, not only
|
|
224
|
+
// "Operation cancelled.".
|
|
225
|
+
it("echoes the question and the answer it read", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
226
|
+
sandbox.stub(inquirer_1.default, "prompt");
|
|
227
|
+
piped.write("n\n");
|
|
228
|
+
yield (0, utils_1.getConfirmation)("Send it?", session);
|
|
229
|
+
(0, chai_1.expect)(loggerModule.logger.info.calledWith("Send it? → no (read from stdin)")).to.equal(true);
|
|
230
|
+
}));
|
|
231
|
+
it("answers a second confirmation from the same `yes` chunk", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
232
|
+
piped.write("y\ny\ny\n");
|
|
233
|
+
(0, chai_1.expect)(yield (0, utils_1.getConfirmation)("First?", session)).to.equal(true);
|
|
234
|
+
(0, chai_1.expect)(yield (0, utils_1.getConfirmation)("Second?", session)).to.equal(true);
|
|
235
|
+
}));
|
|
236
|
+
it("still answers under CI, as it did on dev", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
237
|
+
process.env.CI = "true";
|
|
238
|
+
piped.write("y\n");
|
|
239
|
+
(0, chai_1.expect)(yield (0, utils_1.getConfirmation)("Send it?", session)).to.equal(true);
|
|
240
|
+
}));
|
|
241
|
+
it("refuses when the pipe closes without a line", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
242
|
+
piped.end();
|
|
243
|
+
const error = yield (0, utils_1.getConfirmation)("Send it?", session).catch((e) => e);
|
|
244
|
+
(0, chai_1.expect)(error).to.be.instanceOf(utils_1.NeedsInputError);
|
|
245
|
+
(0, chai_1.expect)(error.message).to.contain("Pass --yes.");
|
|
246
|
+
}));
|
|
247
|
+
it("refuses, rather than hanging, when the pipe stays open and silent", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
248
|
+
const error = yield (0, utils_1.getConfirmation)("Send it?", session).catch((e) => e);
|
|
249
|
+
(0, chai_1.expect)(error).to.be.instanceOf(utils_1.NeedsInputError);
|
|
250
|
+
}));
|
|
251
|
+
it("ignores the piped line under CRED_NON_INTERACTIVE", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
252
|
+
process.env.CRED_NON_INTERACTIVE = "1";
|
|
253
|
+
piped.write("y\n");
|
|
254
|
+
const error = yield (0, utils_1.getConfirmation)("Send it?", session).catch((e) => e);
|
|
255
|
+
(0, chai_1.expect)(error).to.be.instanceOf(utils_1.NeedsInputError);
|
|
256
|
+
}));
|
|
257
|
+
});
|
|
258
|
+
it("getConfirmation names the caller's flag when given one", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
259
|
+
const error = yield (0, utils_1.getConfirmation)("Send it?", session, {
|
|
260
|
+
flag: "--connections <names>",
|
|
261
|
+
}).catch((e) => e);
|
|
262
|
+
(0, chai_1.expect)(error.message).to.contain("Pass --connections <names>.");
|
|
263
|
+
}));
|
|
264
|
+
it("selectFromList still short-circuits a lone choice", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
265
|
+
const promptStub = sandbox.stub(inquirer_1.default, "prompt");
|
|
266
|
+
const result = yield (0, utils_1.selectFromList)("Which organization?", [
|
|
267
|
+
{ name: "acme", value: "acme" },
|
|
268
|
+
]);
|
|
269
|
+
(0, chai_1.expect)(result).to.equal("acme");
|
|
270
|
+
(0, chai_1.expect)(promptStub.called).to.equal(false);
|
|
271
|
+
}));
|
|
272
|
+
it("selectFromList refuses and lists the enabled options", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
273
|
+
const error = yield (0, utils_1.selectFromList)("Which environment?", [
|
|
274
|
+
{ name: "prod-bars", value: "prod-bars" },
|
|
275
|
+
{ name: "staging", value: "staging" },
|
|
276
|
+
{ name: "gone", value: "gone", disabled: "archived" },
|
|
277
|
+
], { flag: "--environment <name>" }).catch((e) => e);
|
|
278
|
+
(0, chai_1.expect)(error).to.be.instanceOf(utils_1.NeedsInputError);
|
|
279
|
+
(0, chai_1.expect)(error.message).to.equal('Cannot ask "Which environment?" without a terminal. Pass --environment <name>. Options: prod-bars, staging.');
|
|
280
|
+
}));
|
|
281
|
+
it("selectMany refuses even for a lone choice, and lists it", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
282
|
+
const error = yield (0, utils_1.selectMany)("Which connections?", [{ name: "pg (postgres)", value: "pg" }], { flag: "--connections <names|all|none>" }).catch((e) => e);
|
|
283
|
+
(0, chai_1.expect)(error).to.be.instanceOf(utils_1.NeedsInputError);
|
|
284
|
+
(0, chai_1.expect)(error.message).to.contain("Options: pg.");
|
|
285
|
+
}));
|
|
286
|
+
it("selectMany returns [] without asking when nothing is selectable", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
287
|
+
const result = yield (0, utils_1.selectMany)("Which connections?", [
|
|
288
|
+
{ name: "duckdb", value: "duckdb", disabled: "local file" },
|
|
289
|
+
]);
|
|
290
|
+
(0, chai_1.expect)(result).to.deep.equal([]);
|
|
291
|
+
}));
|
|
292
|
+
});
|
|
293
|
+
describe("selectMany", () => {
|
|
294
|
+
it("returns every ticked value", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
295
|
+
sandbox
|
|
296
|
+
.stub(inquirer_1.default, "prompt")
|
|
297
|
+
.resolves({ choices: ["a", "c"] });
|
|
298
|
+
const result = yield (0, utils_1.selectMany)("Which?", [
|
|
299
|
+
{ name: "a", value: "a" },
|
|
300
|
+
{ name: "b", value: "b" },
|
|
301
|
+
{ name: "c", value: "c" },
|
|
302
|
+
]);
|
|
303
|
+
(0, chai_1.expect)(result).to.deep.equal(["a", "c"]);
|
|
304
|
+
}));
|
|
65
305
|
});
|
|
66
306
|
describe("sleep", () => {
|
|
67
307
|
it("should wait for the specified time", function () {
|
|
@@ -135,12 +375,31 @@ describe("utils", () => {
|
|
|
135
375
|
(0, chai_1.expect)(loggerStub.debug.called).to.be.false;
|
|
136
376
|
});
|
|
137
377
|
});
|
|
378
|
+
// Under --yes there is no question to carry the target, so the success
|
|
379
|
+
// line has to say where the delete happened.
|
|
380
|
+
describe("withTarget", () => {
|
|
381
|
+
afterEach(() => (0, utils_1.setCommandTarget)(undefined));
|
|
382
|
+
it("ends a line with the command's target, and leaves it alone without one", () => {
|
|
383
|
+
(0, chai_1.expect)((0, utils_1.withTarget)("Connection deleted successfully")).to.equal("Connection deleted successfully");
|
|
384
|
+
(0, utils_1.setCommandTarget)("aug18/analytics on staging");
|
|
385
|
+
(0, chai_1.expect)((0, utils_1.withTarget)("Connection deleted successfully")).to.equal("Connection deleted successfully (aug18/analytics on staging)");
|
|
386
|
+
});
|
|
387
|
+
});
|
|
138
388
|
describe("getConfirmation", () => {
|
|
389
|
+
it("asks with no as the default, so a bare Enter changes nothing", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
390
|
+
const prompt = sandbox
|
|
391
|
+
.stub(inquirer_1.default, "prompt")
|
|
392
|
+
.resolves({ confirm: false });
|
|
393
|
+
yield (0, utils_1.getConfirmation)("Delete it?", session);
|
|
394
|
+
(0, chai_1.expect)(prompt.firstCall.args[0][0]).to.deep.include({
|
|
395
|
+
default: false,
|
|
396
|
+
});
|
|
397
|
+
}));
|
|
139
398
|
it("should return true when user confirms", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
140
399
|
const promptStub = sandbox
|
|
141
400
|
.stub(inquirer_1.default, "prompt")
|
|
142
401
|
.resolves({ confirm: true });
|
|
143
|
-
const result = yield (0, utils_1.getConfirmation)("Are you sure?");
|
|
402
|
+
const result = yield (0, utils_1.getConfirmation)("Are you sure?", session);
|
|
144
403
|
(0, chai_1.expect)(result).to.be.true;
|
|
145
404
|
(0, chai_1.expect)(promptStub.calledOnce).to.be.true;
|
|
146
405
|
(0, chai_1.expect)(promptStub.firstCall.args[0][0].message).to.equal("Are you sure?");
|
|
@@ -149,10 +408,122 @@ describe("utils", () => {
|
|
|
149
408
|
const promptStub = sandbox
|
|
150
409
|
.stub(inquirer_1.default, "prompt")
|
|
151
410
|
.resolves({ confirm: false });
|
|
152
|
-
const result = yield (0, utils_1.getConfirmation)("Are you sure?");
|
|
411
|
+
const result = yield (0, utils_1.getConfirmation)("Are you sure?", session);
|
|
153
412
|
(0, chai_1.expect)(result).to.be.false;
|
|
154
413
|
(0, chai_1.expect)(promptStub.calledOnce).to.be.true;
|
|
155
414
|
}));
|
|
415
|
+
// A prompt can wait for hours, and the token the preAction hook renewed
|
|
416
|
+
// does not. Every confirm-then-send command relies on this.
|
|
417
|
+
it("renews the session after a yes, before the caller sends anything", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
418
|
+
sandbox.stub(inquirer_1.default, "prompt").resolves({ confirm: true });
|
|
419
|
+
yield (0, utils_1.getConfirmation)("Are you sure?", session);
|
|
420
|
+
(0, chai_1.expect)(refreshStub.calledOnceWithExactly(session)).to.be.true;
|
|
421
|
+
}));
|
|
422
|
+
it("does not renew the session after a no, when nothing is sent", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
423
|
+
sandbox.stub(inquirer_1.default, "prompt").resolves({ confirm: false });
|
|
424
|
+
yield (0, utils_1.getConfirmation)("Are you sure?", session);
|
|
425
|
+
(0, chai_1.expect)(refreshStub.called).to.be.false;
|
|
426
|
+
}));
|
|
427
|
+
});
|
|
428
|
+
describe("selectFromList", () => {
|
|
429
|
+
it("returns the only choice without prompting", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
430
|
+
// Asking someone to pick from a list of one is noise, and it is the
|
|
431
|
+
// common case for organizations.
|
|
432
|
+
const promptStub = sandbox.stub(inquirer_1.default, "prompt");
|
|
433
|
+
const result = yield (0, utils_1.selectFromList)("Which organization?", [
|
|
434
|
+
{ name: "only-org", value: "only-org" },
|
|
435
|
+
]);
|
|
436
|
+
(0, chai_1.expect)(result).to.equal("only-org");
|
|
437
|
+
(0, chai_1.expect)(promptStub.called).to.be.false;
|
|
438
|
+
}));
|
|
439
|
+
it("prompts when there is more than one choice", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
440
|
+
const promptStub = sandbox
|
|
441
|
+
.stub(inquirer_1.default, "prompt")
|
|
442
|
+
.resolves({ choice: "beta" });
|
|
443
|
+
const result = yield (0, utils_1.selectFromList)("Which organization?", [
|
|
444
|
+
{ name: "alpha", value: "alpha" },
|
|
445
|
+
{ name: "beta", value: "beta" },
|
|
446
|
+
]);
|
|
447
|
+
(0, chai_1.expect)(result).to.equal("beta");
|
|
448
|
+
const question = promptStub.firstCall.args[0][0];
|
|
449
|
+
(0, chai_1.expect)(question.type).to.equal("list");
|
|
450
|
+
(0, chai_1.expect)(question.message).to.equal("Which organization?");
|
|
451
|
+
}));
|
|
452
|
+
it("prompts when a single choice sits alongside a disabled one, so the disabled reason is seen", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
453
|
+
// A prompt that lists an unavailable option does so to tell the user it
|
|
454
|
+
// exists and why it is off. Auto-selecting the one live choice would
|
|
455
|
+
// skip the only screen carrying that reason.
|
|
456
|
+
const promptStub = sandbox
|
|
457
|
+
.stub(inquirer_1.default, "prompt")
|
|
458
|
+
.resolves({ choice: "this-directory" });
|
|
459
|
+
const result = yield (0, utils_1.selectFromList)("Where from?", [
|
|
460
|
+
{ name: "This directory", value: "this-directory" },
|
|
461
|
+
{
|
|
462
|
+
name: "Managed repo",
|
|
463
|
+
value: "managed",
|
|
464
|
+
disabled: "not available yet",
|
|
465
|
+
},
|
|
466
|
+
]);
|
|
467
|
+
(0, chai_1.expect)(result).to.equal("this-directory");
|
|
468
|
+
(0, chai_1.expect)(promptStub.calledOnce).to.be.true;
|
|
469
|
+
(0, chai_1.expect)(promptStub.firstCall.args[0][0].choices[1].disabled).to.equal("not available yet");
|
|
470
|
+
}));
|
|
471
|
+
it("throws rather than prompting when every choice is disabled", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
472
|
+
const promptStub = sandbox.stub(inquirer_1.default, "prompt");
|
|
473
|
+
let thrown;
|
|
474
|
+
try {
|
|
475
|
+
yield (0, utils_1.selectFromList)("Where from?", [
|
|
476
|
+
{ name: "Managed repo", value: "managed", disabled: "gated" },
|
|
477
|
+
]);
|
|
478
|
+
}
|
|
479
|
+
catch (error) {
|
|
480
|
+
thrown = error;
|
|
481
|
+
}
|
|
482
|
+
(0, chai_1.expect)(thrown === null || thrown === void 0 ? void 0 : thrown.message).to.contain("Nothing to choose from");
|
|
483
|
+
(0, chai_1.expect)(promptStub.called).to.be.false;
|
|
484
|
+
}));
|
|
485
|
+
});
|
|
486
|
+
});
|
|
487
|
+
describe("redactHeaders", () => {
|
|
488
|
+
it("keeps the auth scheme and drops the token, so a debug log cannot leak it", () => {
|
|
489
|
+
const token = "eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ4In0.c2lnbmF0dXJl";
|
|
490
|
+
const out = (0, utils_1.redactHeaders)({
|
|
491
|
+
Authorization: `Bearer ${token}`,
|
|
492
|
+
"Content-Type": "application/json",
|
|
493
|
+
});
|
|
494
|
+
(0, chai_1.expect)(out).to.deep.equal({
|
|
495
|
+
Authorization: "Bearer <redacted>",
|
|
496
|
+
"Content-Type": "application/json",
|
|
497
|
+
});
|
|
498
|
+
(0, chai_1.expect)(JSON.stringify(out)).to.not.include(token);
|
|
499
|
+
});
|
|
500
|
+
it("redacts a credential header that has no scheme, whatever its case", () => {
|
|
501
|
+
(0, chai_1.expect)((0, utils_1.redactHeaders)({ "x-api-key": "abc123" })).to.deep.equal({
|
|
502
|
+
"x-api-key": "<redacted>",
|
|
503
|
+
});
|
|
504
|
+
(0, chai_1.expect)((0, utils_1.redactHeaders)({ cookie: "session=s3cret" })).to.deep.equal({
|
|
505
|
+
cookie: "<redacted>",
|
|
506
|
+
});
|
|
507
|
+
});
|
|
508
|
+
it("fails closed for a credential header that is not a plain string", () => {
|
|
509
|
+
// Raw header maps carry repeated headers as arrays; anything else is redacted whole rather
|
|
510
|
+
// than passed through, so a new header source cannot leak by having an unexpected shape.
|
|
511
|
+
const out = (0, utils_1.redactHeaders)({
|
|
512
|
+
Authorization: ["Bearer abc.def.ghi", "Basic dXNlcjpwYXNz"],
|
|
513
|
+
Cookie: { session: "s3cret" },
|
|
514
|
+
"X-Api-Key": 12345,
|
|
515
|
+
"Proxy-Authorization": undefined,
|
|
516
|
+
});
|
|
517
|
+
(0, chai_1.expect)(out).to.deep.equal({
|
|
518
|
+
Authorization: ["Bearer <redacted>", "Basic <redacted>"],
|
|
519
|
+
Cookie: "<redacted>",
|
|
520
|
+
"X-Api-Key": "<redacted>",
|
|
521
|
+
// Absent is not a secret: there is nothing to hide, and "<redacted>" would claim one was sent.
|
|
522
|
+
"Proxy-Authorization": undefined,
|
|
523
|
+
});
|
|
524
|
+
for (const secret of ["abc.def.ghi", "dXNlcjpwYXNz", "s3cret", "12345"]) {
|
|
525
|
+
(0, chai_1.expect)(JSON.stringify(out)).to.not.include(secret);
|
|
526
|
+
}
|
|
156
527
|
});
|
|
157
528
|
});
|
|
158
529
|
//# sourceMappingURL=utils.spec.js.map
|
package/dist/utils.spec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.spec.js","sourceRoot":"","sources":["../src/utils.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.spec.js","sourceRoot":"","sources":["../src/utils.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const versioncheck_1 = require("./versioncheck");
|
|
4
|
+
/**
|
|
5
|
+
* The detached child `checkForUpdate` starts: ask npm for the latest `cred`
|
|
6
|
+
* and record it in the cache file named by argv. Prints nothing; its stdio is
|
|
7
|
+
* ignored, and the command that started it has usually exited already.
|
|
8
|
+
*/
|
|
9
|
+
const cachePath = process.argv[2];
|
|
10
|
+
if (cachePath) {
|
|
11
|
+
// A backstop past the request's own deadline: this process is detached and
|
|
12
|
+
// nobody would notice it running for hours.
|
|
13
|
+
setTimeout(() => process.exit(0), 15000).unref();
|
|
14
|
+
(0, versioncheck_1.refreshCache)({ cachePath, now: Date.now() })
|
|
15
|
+
.catch(() => undefined)
|
|
16
|
+
.finally(() => process.exit(0));
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=versioncheck-refresh.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"versioncheck-refresh.js","sourceRoot":"","sources":["../src/versioncheck-refresh.ts"],"names":[],"mappings":";;AAAA,iDAA8C;AAE9C;;;;GAIG;AACH,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClC,IAAI,SAAS,EAAE,CAAC;IACb,2EAA2E;IAC3E,4CAA4C;IAC5C,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAM,CAAC,CAAC,KAAK,EAAE,CAAC;IAClD,IAAA,2BAAY,EAAC,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;SACxC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;SACtB,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC"}
|