@contember/cli-common 1.4.0-rc.8 → 2.0.0-alpha.8
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/dist/development/index.cjs +28 -0
- package/dist/development/index.cjs.map +1 -0
- package/dist/development/index.js +28 -0
- package/dist/development/index.js.map +1 -0
- package/dist/development/src/application/Application.cjs +82 -0
- package/dist/development/src/application/Application.cjs.map +1 -0
- package/dist/development/src/application/Application.js +82 -0
- package/dist/development/src/application/Application.js.map +1 -0
- package/dist/development/src/application/Argument.cjs +25 -0
- package/dist/development/src/application/Argument.cjs.map +1 -0
- package/dist/development/src/application/Argument.js +25 -0
- package/dist/development/src/application/Argument.js.map +1 -0
- package/dist/development/src/application/Command.cjs +28 -0
- package/dist/development/src/application/Command.cjs.map +1 -0
- package/dist/development/src/application/Command.js +28 -0
- package/dist/development/src/application/Command.js.map +1 -0
- package/dist/development/src/application/CommandConfiguration.cjs +44 -0
- package/dist/development/src/application/CommandConfiguration.cjs.map +1 -0
- package/dist/development/src/application/CommandConfiguration.js +44 -0
- package/dist/development/src/application/CommandConfiguration.js.map +1 -0
- package/dist/development/src/application/CommandManager.cjs +37 -0
- package/dist/development/src/application/CommandManager.cjs.map +1 -0
- package/dist/development/src/application/CommandManager.js +37 -0
- package/dist/development/src/application/CommandManager.js.map +1 -0
- package/dist/development/src/application/Input.cjs +16 -0
- package/dist/development/src/application/Input.cjs.map +1 -0
- package/dist/development/src/application/Input.js +16 -0
- package/dist/development/src/application/Input.js.map +1 -0
- package/dist/development/src/application/InputParser.cjs +117 -0
- package/dist/development/src/application/InputParser.cjs.map +1 -0
- package/dist/development/src/application/InputParser.js +117 -0
- package/dist/development/src/application/InputParser.js.map +1 -0
- package/dist/development/src/application/Option.cjs +49 -0
- package/dist/development/src/application/Option.cjs.map +1 -0
- package/dist/development/src/application/Option.js +49 -0
- package/dist/development/src/application/Option.js.map +1 -0
- package/dist/development/src/application/UsageFormatter.cjs +61 -0
- package/dist/development/src/application/UsageFormatter.cjs.map +1 -0
- package/dist/development/src/application/UsageFormatter.js +61 -0
- package/dist/development/src/application/UsageFormatter.js.map +1 -0
- package/dist/development/src/application/assertNever.cjs +7 -0
- package/dist/development/src/application/assertNever.cjs.map +1 -0
- package/dist/development/src/application/assertNever.js +7 -0
- package/dist/development/src/application/assertNever.js.map +1 -0
- package/dist/development/src/npm/CommandRunner.cjs +59 -0
- package/dist/development/src/npm/CommandRunner.cjs.map +1 -0
- package/dist/development/src/npm/CommandRunner.js +59 -0
- package/dist/development/src/npm/CommandRunner.js.map +1 -0
- package/dist/development/src/npm/Package.cjs +11 -0
- package/dist/development/src/npm/Package.cjs.map +1 -0
- package/dist/development/src/npm/Package.js +11 -0
- package/dist/development/src/npm/Package.js.map +1 -0
- package/dist/development/src/npm/PackageWorkspace.cjs +79 -0
- package/dist/development/src/npm/PackageWorkspace.cjs.map +1 -0
- package/dist/development/src/npm/PackageWorkspace.js +79 -0
- package/dist/development/src/npm/PackageWorkspace.js.map +1 -0
- package/dist/development/src/npm/PackageWorkspaceResolver.cjs +48 -0
- package/dist/development/src/npm/PackageWorkspaceResolver.cjs.map +1 -0
- package/dist/development/src/npm/PackageWorkspaceResolver.js +48 -0
- package/dist/development/src/npm/PackageWorkspaceResolver.js.map +1 -0
- package/dist/development/src/npm/packageManagers/Npm.cjs +34 -0
- package/dist/development/src/npm/packageManagers/Npm.cjs.map +1 -0
- package/dist/development/src/npm/packageManagers/Npm.js +34 -0
- package/dist/development/src/npm/packageManagers/Npm.js.map +1 -0
- package/dist/development/src/npm/packageManagers/PackageManagerHelpers.cjs +32 -0
- package/dist/development/src/npm/packageManagers/PackageManagerHelpers.cjs.map +1 -0
- package/dist/development/src/npm/packageManagers/PackageManagerHelpers.js +32 -0
- package/dist/development/src/npm/packageManagers/PackageManagerHelpers.js.map +1 -0
- package/dist/development/src/npm/packageManagers/Pnpm.cjs +39 -0
- package/dist/development/src/npm/packageManagers/Pnpm.cjs.map +1 -0
- package/dist/development/src/npm/packageManagers/Pnpm.js +39 -0
- package/dist/development/src/npm/packageManagers/Pnpm.js.map +1 -0
- package/dist/development/src/npm/packageManagers/Yarn.cjs +34 -0
- package/dist/development/src/npm/packageManagers/Yarn.cjs.map +1 -0
- package/dist/development/src/npm/packageManagers/Yarn.js +34 -0
- package/dist/development/src/npm/packageManagers/Yarn.js.map +1 -0
- package/dist/development/src/npm/packageManagers/YarnClassic.cjs +35 -0
- package/dist/development/src/npm/packageManagers/YarnClassic.cjs.map +1 -0
- package/dist/development/src/npm/packageManagers/YarnClassic.js +35 -0
- package/dist/development/src/npm/packageManagers/YarnClassic.js.map +1 -0
- package/dist/production/index.cjs +28 -0
- package/dist/production/index.cjs.map +1 -0
- package/dist/production/index.js +28 -0
- package/dist/production/index.js.map +1 -0
- package/dist/production/src/application/Application.cjs +82 -0
- package/dist/production/src/application/Application.cjs.map +1 -0
- package/dist/production/src/application/Application.js +82 -0
- package/dist/production/src/application/Application.js.map +1 -0
- package/dist/production/src/application/Argument.cjs +25 -0
- package/dist/production/src/application/Argument.cjs.map +1 -0
- package/dist/production/src/application/Argument.js +25 -0
- package/dist/production/src/application/Argument.js.map +1 -0
- package/dist/production/src/application/Command.cjs +28 -0
- package/dist/production/src/application/Command.cjs.map +1 -0
- package/dist/production/src/application/Command.js +28 -0
- package/dist/production/src/application/Command.js.map +1 -0
- package/dist/production/src/application/CommandConfiguration.cjs +44 -0
- package/dist/production/src/application/CommandConfiguration.cjs.map +1 -0
- package/dist/production/src/application/CommandConfiguration.js +44 -0
- package/dist/production/src/application/CommandConfiguration.js.map +1 -0
- package/dist/production/src/application/CommandManager.cjs +37 -0
- package/dist/production/src/application/CommandManager.cjs.map +1 -0
- package/dist/production/src/application/CommandManager.js +37 -0
- package/dist/production/src/application/CommandManager.js.map +1 -0
- package/dist/production/src/application/Input.cjs +16 -0
- package/dist/production/src/application/Input.cjs.map +1 -0
- package/dist/production/src/application/Input.js +16 -0
- package/dist/production/src/application/Input.js.map +1 -0
- package/dist/production/src/application/InputParser.cjs +117 -0
- package/dist/production/src/application/InputParser.cjs.map +1 -0
- package/dist/production/src/application/InputParser.js +117 -0
- package/dist/production/src/application/InputParser.js.map +1 -0
- package/dist/production/src/application/Option.cjs +49 -0
- package/dist/production/src/application/Option.cjs.map +1 -0
- package/dist/production/src/application/Option.js +49 -0
- package/dist/production/src/application/Option.js.map +1 -0
- package/dist/production/src/application/UsageFormatter.cjs +61 -0
- package/dist/production/src/application/UsageFormatter.cjs.map +1 -0
- package/dist/production/src/application/UsageFormatter.js +61 -0
- package/dist/production/src/application/UsageFormatter.js.map +1 -0
- package/dist/production/src/application/assertNever.cjs +7 -0
- package/dist/production/src/application/assertNever.cjs.map +1 -0
- package/dist/production/src/application/assertNever.js +7 -0
- package/dist/production/src/application/assertNever.js.map +1 -0
- package/dist/production/src/npm/CommandRunner.cjs +59 -0
- package/dist/production/src/npm/CommandRunner.cjs.map +1 -0
- package/dist/production/src/npm/CommandRunner.js +59 -0
- package/dist/production/src/npm/CommandRunner.js.map +1 -0
- package/dist/production/src/npm/Package.cjs +11 -0
- package/dist/production/src/npm/Package.cjs.map +1 -0
- package/dist/production/src/npm/Package.js +11 -0
- package/dist/production/src/npm/Package.js.map +1 -0
- package/dist/production/src/npm/PackageWorkspace.cjs +79 -0
- package/dist/production/src/npm/PackageWorkspace.cjs.map +1 -0
- package/dist/production/src/npm/PackageWorkspace.js +79 -0
- package/dist/production/src/npm/PackageWorkspace.js.map +1 -0
- package/dist/production/src/npm/PackageWorkspaceResolver.cjs +48 -0
- package/dist/production/src/npm/PackageWorkspaceResolver.cjs.map +1 -0
- package/dist/production/src/npm/PackageWorkspaceResolver.js +48 -0
- package/dist/production/src/npm/PackageWorkspaceResolver.js.map +1 -0
- package/dist/production/src/npm/packageManagers/Npm.cjs +34 -0
- package/dist/production/src/npm/packageManagers/Npm.cjs.map +1 -0
- package/dist/production/src/npm/packageManagers/Npm.js +34 -0
- package/dist/production/src/npm/packageManagers/Npm.js.map +1 -0
- package/dist/production/src/npm/packageManagers/PackageManagerHelpers.cjs +32 -0
- package/dist/production/src/npm/packageManagers/PackageManagerHelpers.cjs.map +1 -0
- package/dist/production/src/npm/packageManagers/PackageManagerHelpers.js +32 -0
- package/dist/production/src/npm/packageManagers/PackageManagerHelpers.js.map +1 -0
- package/dist/production/src/npm/packageManagers/Pnpm.cjs +39 -0
- package/dist/production/src/npm/packageManagers/Pnpm.cjs.map +1 -0
- package/dist/production/src/npm/packageManagers/Pnpm.js +39 -0
- package/dist/production/src/npm/packageManagers/Pnpm.js.map +1 -0
- package/dist/production/src/npm/packageManagers/Yarn.cjs +34 -0
- package/dist/production/src/npm/packageManagers/Yarn.cjs.map +1 -0
- package/dist/production/src/npm/packageManagers/Yarn.js +34 -0
- package/dist/production/src/npm/packageManagers/Yarn.js.map +1 -0
- package/dist/production/src/npm/packageManagers/YarnClassic.cjs +35 -0
- package/dist/production/src/npm/packageManagers/YarnClassic.cjs.map +1 -0
- package/dist/production/src/npm/packageManagers/YarnClassic.js +35 -0
- package/dist/production/src/npm/packageManagers/YarnClassic.js.map +1 -0
- package/dist/{src → types}/application/index.d.ts +0 -1
- package/dist/{src → types}/application/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/{src/utils/commands.d.ts → types/npm/CommandRunner.d.ts} +11 -10
- package/dist/types/npm/CommandRunner.d.ts.map +1 -0
- package/dist/types/npm/FileSystem.d.ts +7 -0
- package/dist/types/npm/FileSystem.d.ts.map +1 -0
- package/dist/{src → types}/npm/PackageWorkspace.d.ts +3 -10
- package/dist/types/npm/PackageWorkspace.d.ts.map +1 -0
- package/dist/types/npm/PackageWorkspaceResolver.d.ts +13 -0
- package/dist/types/npm/PackageWorkspaceResolver.d.ts.map +1 -0
- package/dist/types/npm/index.d.ts +8 -0
- package/dist/types/npm/index.d.ts.map +1 -0
- package/dist/{src → types}/npm/packageManagers/Npm.d.ts +5 -3
- package/dist/types/npm/packageManagers/Npm.d.ts.map +1 -0
- package/dist/{src → types}/npm/packageManagers/PackageManagerHelpers.d.ts +3 -3
- package/dist/types/npm/packageManagers/PackageManagerHelpers.d.ts.map +1 -0
- package/dist/{src → types}/npm/packageManagers/Pnpm.d.ts +5 -3
- package/dist/types/npm/packageManagers/Pnpm.d.ts.map +1 -0
- package/dist/{src → types}/npm/packageManagers/Yarn.d.ts +5 -3
- package/dist/types/npm/packageManagers/Yarn.d.ts.map +1 -0
- package/dist/{src → types}/npm/packageManagers/YarnClassic.d.ts +5 -3
- package/dist/types/npm/packageManagers/YarnClassic.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -0
- package/package.json +22 -12
- package/src/application/index.ts +0 -1
- package/src/index.ts +2 -2
- package/src/npm/CommandRunner.ts +69 -0
- package/src/npm/FileSystem.ts +7 -0
- package/src/npm/PackageWorkspace.ts +4 -48
- package/src/npm/PackageWorkspaceResolver.ts +60 -0
- package/src/npm/index.ts +6 -0
- package/src/npm/packageManagers/Npm.ts +7 -6
- package/src/npm/packageManagers/PackageManagerHelpers.ts +10 -6
- package/src/npm/packageManagers/Pnpm.ts +11 -7
- package/src/npm/packageManagers/Yarn.ts +7 -6
- package/src/npm/packageManagers/YarnClassic.ts +7 -6
- package/src/tsconfig.json +1 -1
- package/tsconfig.settings.json +1 -1
- package/dist/src/application/Application.js +0 -89
- package/dist/src/application/Application.js.map +0 -1
- package/dist/src/application/Argument.js +0 -26
- package/dist/src/application/Argument.js.map +0 -1
- package/dist/src/application/Command.js +0 -23
- package/dist/src/application/Command.js.map +0 -1
- package/dist/src/application/CommandConfiguration.js +0 -53
- package/dist/src/application/CommandConfiguration.js.map +0 -1
- package/dist/src/application/CommandManager.js +0 -40
- package/dist/src/application/CommandManager.js.map +0 -1
- package/dist/src/application/Input.js +0 -17
- package/dist/src/application/Input.js.map +0 -1
- package/dist/src/application/InputParser.js +0 -127
- package/dist/src/application/InputParser.js.map +0 -1
- package/dist/src/application/Option.js +0 -49
- package/dist/src/application/Option.js.map +0 -1
- package/dist/src/application/UsageFormatter.js +0 -64
- package/dist/src/application/UsageFormatter.js.map +0 -1
- package/dist/src/application/assertNever.js +0 -8
- package/dist/src/application/assertNever.js.map +0 -1
- package/dist/src/application/env.d.ts +0 -8
- package/dist/src/application/env.d.ts.map +0 -1
- package/dist/src/application/env.js +0 -14
- package/dist/src/application/env.js.map +0 -1
- package/dist/src/application/index.js +0 -28
- package/dist/src/application/index.js.map +0 -1
- package/dist/src/index.d.ts +0 -4
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -26
- package/dist/src/index.js.map +0 -1
- package/dist/src/npm/FsManager.d.ts +0 -9
- package/dist/src/npm/FsManager.d.ts.map +0 -1
- package/dist/src/npm/FsManager.js +0 -41
- package/dist/src/npm/FsManager.js.map +0 -1
- package/dist/src/npm/Package.js +0 -12
- package/dist/src/npm/Package.js.map +0 -1
- package/dist/src/npm/PackageJson.js +0 -3
- package/dist/src/npm/PackageJson.js.map +0 -1
- package/dist/src/npm/PackageWorkspace.d.ts.map +0 -1
- package/dist/src/npm/PackageWorkspace.js +0 -124
- package/dist/src/npm/PackageWorkspace.js.map +0 -1
- package/dist/src/npm/index.d.ts +0 -2
- package/dist/src/npm/index.d.ts.map +0 -1
- package/dist/src/npm/index.js +0 -18
- package/dist/src/npm/index.js.map +0 -1
- package/dist/src/npm/packageManagers/Npm.d.ts.map +0 -1
- package/dist/src/npm/packageManagers/Npm.js +0 -35
- package/dist/src/npm/packageManagers/Npm.js.map +0 -1
- package/dist/src/npm/packageManagers/PackageManager.js +0 -3
- package/dist/src/npm/packageManagers/PackageManager.js.map +0 -1
- package/dist/src/npm/packageManagers/PackageManagerHelpers.d.ts.map +0 -1
- package/dist/src/npm/packageManagers/PackageManagerHelpers.js +0 -30
- package/dist/src/npm/packageManagers/PackageManagerHelpers.js.map +0 -1
- package/dist/src/npm/packageManagers/Pnpm.d.ts.map +0 -1
- package/dist/src/npm/packageManagers/Pnpm.js +0 -37
- package/dist/src/npm/packageManagers/Pnpm.js.map +0 -1
- package/dist/src/npm/packageManagers/Yarn.d.ts.map +0 -1
- package/dist/src/npm/packageManagers/Yarn.js +0 -36
- package/dist/src/npm/packageManagers/Yarn.js.map +0 -1
- package/dist/src/npm/packageManagers/YarnClassic.d.ts.map +0 -1
- package/dist/src/npm/packageManagers/YarnClassic.js +0 -36
- package/dist/src/npm/packageManagers/YarnClassic.js.map +0 -1
- package/dist/src/pathUtils.d.ts +0 -3
- package/dist/src/pathUtils.d.ts.map +0 -1
- package/dist/src/pathUtils.js +0 -7
- package/dist/src/pathUtils.js.map +0 -1
- package/dist/src/tsconfig.tsbuildinfo +0 -1
- package/dist/src/utils/PathMapping.d.ts +0 -5
- package/dist/src/utils/PathMapping.d.ts.map +0 -1
- package/dist/src/utils/PathMapping.js +0 -35
- package/dist/src/utils/PathMapping.js.map +0 -1
- package/dist/src/utils/Project.d.ts +0 -12
- package/dist/src/utils/Project.d.ts.map +0 -1
- package/dist/src/utils/Project.js +0 -51
- package/dist/src/utils/Project.js.map +0 -1
- package/dist/src/utils/ProjectManager.d.ts +0 -16
- package/dist/src/utils/ProjectManager.d.ts.map +0 -1
- package/dist/src/utils/ProjectManager.js +0 -71
- package/dist/src/utils/ProjectManager.js.map +0 -1
- package/dist/src/utils/Workspace.d.ts +0 -24
- package/dist/src/utils/Workspace.d.ts.map +0 -1
- package/dist/src/utils/Workspace.js +0 -59
- package/dist/src/utils/Workspace.js.map +0 -1
- package/dist/src/utils/commands.d.ts.map +0 -1
- package/dist/src/utils/commands.js +0 -57
- package/dist/src/utils/commands.js.map +0 -1
- package/dist/src/utils/fs.d.ts +0 -5
- package/dist/src/utils/fs.d.ts.map +0 -1
- package/dist/src/utils/fs.js +0 -73
- package/dist/src/utils/fs.js.map +0 -1
- package/dist/src/utils/index.d.ts +0 -6
- package/dist/src/utils/index.d.ts.map +0 -1
- package/dist/src/utils/index.js +0 -22
- package/dist/src/utils/index.js.map +0 -1
- package/dist/src/utils/json.d.ts +0 -7
- package/dist/src/utils/json.d.ts.map +0 -1
- package/dist/src/utils/json.js +0 -3
- package/dist/src/utils/json.js.map +0 -1
- package/dist/src/utils/tuple.d.ts +0 -2
- package/dist/src/utils/tuple.d.ts.map +0 -1
- package/dist/src/utils/tuple.js +0 -6
- package/dist/src/utils/tuple.js.map +0 -1
- package/dist/src/utils/version.d.ts +0 -2
- package/dist/src/utils/version.d.ts.map +0 -1
- package/dist/src/utils/version.js +0 -11
- package/dist/src/utils/version.js.map +0 -1
- package/dist/src/utils/yaml.d.ts +0 -3
- package/dist/src/utils/yaml.d.ts.map +0 -1
- package/dist/src/utils/yaml.js +0 -14
- package/dist/src/utils/yaml.js.map +0 -1
- package/src/application/.eslintrc.js +0 -5
- package/src/application/env.ts +0 -14
- package/src/npm/FsManager.ts +0 -38
- package/src/pathUtils.ts +0 -4
- package/src/utils/PathMapping.ts +0 -38
- package/src/utils/Project.ts +0 -28
- package/src/utils/ProjectManager.ts +0 -76
- package/src/utils/Workspace.ts +0 -72
- package/src/utils/commands.ts +0 -65
- package/src/utils/fs.ts +0 -43
- package/src/utils/index.ts +0 -5
- package/src/utils/json.ts +0 -4
- package/src/utils/tuple.ts +0 -1
- package/src/utils/version.ts +0 -7
- package/src/utils/yaml.ts +0 -9
- /package/dist/{src → types}/application/Application.d.ts +0 -0
- /package/dist/{src → types}/application/Application.d.ts.map +0 -0
- /package/dist/{src → types}/application/Argument.d.ts +0 -0
- /package/dist/{src → types}/application/Argument.d.ts.map +0 -0
- /package/dist/{src → types}/application/Command.d.ts +0 -0
- /package/dist/{src → types}/application/Command.d.ts.map +0 -0
- /package/dist/{src → types}/application/CommandConfiguration.d.ts +0 -0
- /package/dist/{src → types}/application/CommandConfiguration.d.ts.map +0 -0
- /package/dist/{src → types}/application/CommandManager.d.ts +0 -0
- /package/dist/{src → types}/application/CommandManager.d.ts.map +0 -0
- /package/dist/{src → types}/application/Input.d.ts +0 -0
- /package/dist/{src → types}/application/Input.d.ts.map +0 -0
- /package/dist/{src → types}/application/InputParser.d.ts +0 -0
- /package/dist/{src → types}/application/InputParser.d.ts.map +0 -0
- /package/dist/{src → types}/application/Option.d.ts +0 -0
- /package/dist/{src → types}/application/Option.d.ts.map +0 -0
- /package/dist/{src → types}/application/UsageFormatter.d.ts +0 -0
- /package/dist/{src → types}/application/UsageFormatter.d.ts.map +0 -0
- /package/dist/{src → types}/application/assertNever.d.ts +0 -0
- /package/dist/{src → types}/application/assertNever.d.ts.map +0 -0
- /package/dist/{src → types}/npm/Package.d.ts +0 -0
- /package/dist/{src → types}/npm/Package.d.ts.map +0 -0
- /package/dist/{src → types}/npm/PackageJson.d.ts +0 -0
- /package/dist/{src → types}/npm/PackageJson.d.ts.map +0 -0
- /package/dist/{src → types}/npm/packageManagers/PackageManager.d.ts +0 -0
- /package/dist/{src → types}/npm/packageManagers/PackageManager.d.ts.map +0 -0
- /package/src/{.eslintrc.js → .eslintrc.cjs} +0 -0
package/dist/src/utils/fs.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export declare const listDirectories: (dir: string) => Promise<string[]>;
|
|
2
|
-
export declare const replaceFileContent: (path: string, replacer: (content: string) => string) => Promise<void>;
|
|
3
|
-
export declare const tryUnlink: (path: string) => Promise<void>;
|
|
4
|
-
export declare const pathExists: (path: string) => Promise<boolean>;
|
|
5
|
-
//# sourceMappingURL=fs.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../../src/utils/fs.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,eAAe,QAAe,MAAM,KAAG,QAAQ,MAAM,EAAE,CAWnE,CAAA;AAED,eAAO,MAAM,kBAAkB,SAAgB,MAAM,sBAAsB,MAAM,KAAK,MAAM,KAAG,QAAQ,IAAI,CAI1G,CAAA;AAED,eAAO,MAAM,SAAS,SAAgB,MAAM,KAAG,QAAQ,IAAI,CAS1D,CAAA;AAED,eAAO,MAAM,UAAU,SAAgB,MAAM,qBAO5C,CAAA"}
|
package/dist/src/utils/fs.js
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.pathExists = exports.tryUnlink = exports.replaceFileContent = exports.listDirectories = void 0;
|
|
27
|
-
const tuple_1 = require("./tuple");
|
|
28
|
-
const fs = __importStar(require("node:fs/promises"));
|
|
29
|
-
const node_path_1 = require("node:path");
|
|
30
|
-
const promises_1 = require("node:fs/promises");
|
|
31
|
-
const listDirectories = async (dir) => {
|
|
32
|
-
try {
|
|
33
|
-
const entries = (await fs.readdir(dir)).map(it => (0, node_path_1.join)(dir, it));
|
|
34
|
-
const stats = await Promise.all(entries.map(async (it) => (0, tuple_1.tuple)(it, await fs.lstat(it))));
|
|
35
|
-
return stats.filter(([, it]) => it.isDirectory()).map(([it]) => it);
|
|
36
|
-
}
|
|
37
|
-
catch (e) {
|
|
38
|
-
if (e instanceof Error && 'code' in e && e.code === 'ENOENT') {
|
|
39
|
-
return [];
|
|
40
|
-
}
|
|
41
|
-
throw e;
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
exports.listDirectories = listDirectories;
|
|
45
|
-
const replaceFileContent = async (path, replacer) => {
|
|
46
|
-
const content = await fs.readFile(path, { encoding: 'utf8' });
|
|
47
|
-
const newContent = replacer(content);
|
|
48
|
-
await fs.writeFile(path, newContent, { encoding: 'utf8' });
|
|
49
|
-
};
|
|
50
|
-
exports.replaceFileContent = replaceFileContent;
|
|
51
|
-
const tryUnlink = async (path) => {
|
|
52
|
-
try {
|
|
53
|
-
await fs.unlink(path);
|
|
54
|
-
}
|
|
55
|
-
catch (e) {
|
|
56
|
-
if (e instanceof Error && 'code' in e && e.code === 'ENOENT') {
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
throw e;
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
exports.tryUnlink = tryUnlink;
|
|
63
|
-
const pathExists = async (path) => {
|
|
64
|
-
try {
|
|
65
|
-
await (0, promises_1.access)(path);
|
|
66
|
-
return true;
|
|
67
|
-
}
|
|
68
|
-
catch (_a) {
|
|
69
|
-
return false;
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
exports.pathExists = pathExists;
|
|
73
|
-
//# sourceMappingURL=fs.js.map
|
package/dist/src/utils/fs.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../../src/utils/fs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAA+B;AAC/B,qDAAsC;AACtC,yCAAgC;AAChC,+CAAyC;AAElC,MAAM,eAAe,GAAG,KAAK,EAAE,GAAW,EAAqB,EAAE;IACvE,IAAI;QACH,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAA,gBAAI,EAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAA;QAChE,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE,CAAC,IAAA,aAAK,EAAC,EAAE,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QACvF,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;KACnE;IAAC,OAAO,CAAC,EAAE;QACX,IAAI,CAAC,YAAY,KAAK,IAAI,MAAM,IAAI,CAAC,IAAK,CAAS,CAAC,IAAI,KAAK,QAAQ,EAAE;YACtE,OAAO,EAAE,CAAA;SACT;QACD,MAAM,CAAC,CAAA;KACP;AACF,CAAC,CAAA;AAXY,QAAA,eAAe,mBAW3B;AAEM,MAAM,kBAAkB,GAAG,KAAK,EAAE,IAAY,EAAE,QAAqC,EAAiB,EAAE;IAC9G,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;IAC7D,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;IACpC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;AAC3D,CAAC,CAAA;AAJY,QAAA,kBAAkB,sBAI9B;AAEM,MAAM,SAAS,GAAG,KAAK,EAAE,IAAY,EAAiB,EAAE;IAC9D,IAAI;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;KACrB;IAAC,OAAO,CAAC,EAAE;QACX,IAAI,CAAC,YAAY,KAAK,IAAI,MAAM,IAAI,CAAC,IAAK,CAAS,CAAC,IAAI,KAAK,QAAQ,EAAE;YACtE,OAAM;SACN;QACD,MAAM,CAAC,CAAA;KACP;AACF,CAAC,CAAA;AATY,QAAA,SAAS,aASrB;AAEM,MAAM,UAAU,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;IAChD,IAAI;QACH,MAAM,IAAA,iBAAM,EAAC,IAAI,CAAC,CAAA;QAClB,OAAO,IAAI,CAAA;KACX;IAAC,WAAM;QACP,OAAO,KAAK,CAAA;KACZ;AACF,CAAC,CAAA;AAPY,QAAA,UAAU,cAOtB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,MAAM,CAAA;AACpB,cAAc,QAAQ,CAAA"}
|
package/dist/src/utils/index.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./version"), exports);
|
|
18
|
-
__exportStar(require("./Workspace"), exports);
|
|
19
|
-
__exportStar(require("./Project"), exports);
|
|
20
|
-
__exportStar(require("./fs"), exports);
|
|
21
|
-
__exportStar(require("./json"), exports);
|
|
22
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,8CAA2B;AAC3B,4CAAyB;AACzB,uCAAoB;AACpB,yCAAsB"}
|
package/dist/src/utils/json.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export type JSONPrimitive = string | number | boolean | null | undefined | unknown;
|
|
2
|
-
export type JSONValue = JSONPrimitive | JSONObject | JSONArray;
|
|
3
|
-
export type JSONObject = {
|
|
4
|
-
[member: string]: JSONValue;
|
|
5
|
-
};
|
|
6
|
-
export type JSONArray = JSONValue[];
|
|
7
|
-
//# sourceMappingURL=json.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../src/utils/json.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAA;AAClF,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAA;AAC9D,MAAM,MAAM,UAAU,GAAG;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAA;AACxD,MAAM,MAAM,SAAS,GAAG,SAAS,EAAE,CAAA"}
|
package/dist/src/utils/json.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../../src/utils/json.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tuple.d.ts","sourceRoot":"","sources":["../../../src/utils/tuple.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,sCAA4C,CAAA"}
|
package/dist/src/utils/tuple.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tuple.js","sourceRoot":"","sources":["../../../src/utils/tuple.ts"],"names":[],"mappings":";;;AAAO,MAAM,KAAK,GAAG,CAAkB,GAAG,MAAS,EAAE,EAAE,CAAC,MAAM,CAAA;AAAjD,QAAA,KAAK,SAA4C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/utils/version.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,iBAAiB,QAAO,MAGpC,CAAA"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getPackageVersion = void 0;
|
|
4
|
-
const node_path_1 = require("node:path");
|
|
5
|
-
const pathUtils_1 = require("../pathUtils");
|
|
6
|
-
const getPackageVersion = () => {
|
|
7
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
8
|
-
return require((0, node_path_1.join)(pathUtils_1.packageRoot, 'package.json')).version;
|
|
9
|
-
};
|
|
10
|
-
exports.getPackageVersion = getPackageVersion;
|
|
11
|
-
//# sourceMappingURL=version.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/utils/version.ts"],"names":[],"mappings":";;;AAAA,yCAAgC;AAChC,4CAA0C;AAEnC,MAAM,iBAAiB,GAAG,GAAW,EAAE;IAC7C,8DAA8D;IAC9D,OAAO,OAAO,CAAC,IAAA,gBAAI,EAAC,uBAAW,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAA;AAC1D,CAAC,CAAA;AAHY,QAAA,iBAAiB,qBAG7B"}
|
package/dist/src/utils/yaml.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"yaml.d.ts","sourceRoot":"","sources":["../../../src/utils/yaml.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAInC,eAAO,MAAM,QAAQ,yBAAgC,MAAM,eAG1D,CAAA"}
|
package/dist/src/utils/yaml.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.readYaml = void 0;
|
|
7
|
-
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
8
|
-
const promises_1 = require("node:fs/promises");
|
|
9
|
-
const readYaml = async (path) => {
|
|
10
|
-
const content = await (0, promises_1.readFile)(path, { encoding: 'utf8' });
|
|
11
|
-
return js_yaml_1.default.load(content);
|
|
12
|
-
};
|
|
13
|
-
exports.readYaml = readYaml;
|
|
14
|
-
//# sourceMappingURL=yaml.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"yaml.js","sourceRoot":"","sources":["../../../src/utils/yaml.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA4B;AAE5B,+CAA2C;AAGpC,MAAM,QAAQ,GAAG,KAAK,EAAkB,IAAY,EAAc,EAAE;IAC1E,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;IAC1D,OAAO,iBAAM,CAAC,IAAI,CAAC,OAAO,CAAiB,CAAA;AAC5C,CAAC,CAAA;AAHY,QAAA,QAAQ,YAGpB"}
|
package/src/application/env.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export interface CliEnv {
|
|
2
|
-
apiToken?: string
|
|
3
|
-
loginToken?: string
|
|
4
|
-
apiUrl?: string
|
|
5
|
-
projectName?: string
|
|
6
|
-
}
|
|
7
|
-
export const readCliEnv = (): CliEnv => {
|
|
8
|
-
return {
|
|
9
|
-
apiToken: process.env.CONTEMBER_API_TOKEN,
|
|
10
|
-
loginToken: process.env.CONTEMBER_LOGIN_TOKEN,
|
|
11
|
-
apiUrl: process.env.CONTEMBER_API_URL ?? process.env.CONTEMBER_INSTANCE,
|
|
12
|
-
projectName: process.env.CONTEMBER_PROJECT_NAME,
|
|
13
|
-
}
|
|
14
|
-
}
|
package/src/npm/FsManager.ts
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import jsyaml from 'js-yaml'
|
|
2
|
-
import fs from 'node:fs/promises'
|
|
3
|
-
import glob from 'fast-glob'
|
|
4
|
-
import { pathExists } from '../utils'
|
|
5
|
-
|
|
6
|
-
export class FsManager {
|
|
7
|
-
constructor() {
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
public async exists(filename: string): Promise<boolean> {
|
|
11
|
-
return await pathExists(filename)
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
public async tryReadJson<T = any>(filename: string): Promise<T | null> {
|
|
15
|
-
const content = await this.tryReadFile(filename)
|
|
16
|
-
return content !== null ? JSON.parse(content) : null
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
public async tryReadYaml<T = any>(filename: string): Promise<T | null> {
|
|
20
|
-
const content = await this.tryReadFile(filename)
|
|
21
|
-
return content !== null ? jsyaml.load(content) as T : null
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
public async tryReadFile(filename: string): Promise<string | null> {
|
|
25
|
-
try {
|
|
26
|
-
return await fs.readFile(filename, 'utf8')
|
|
27
|
-
} catch (error: any) {
|
|
28
|
-
if (error.code === 'ENOENT') {
|
|
29
|
-
return null
|
|
30
|
-
}
|
|
31
|
-
throw error
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
public async listDirectories(dir: string, patterns: string[]): Promise<string[]> {
|
|
36
|
-
return await glob(patterns, { onlyDirectories: true, cwd: dir })
|
|
37
|
-
}
|
|
38
|
-
}
|
package/src/pathUtils.ts
DELETED
package/src/utils/PathMapping.ts
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { basename, join, resolve } from 'node:path'
|
|
2
|
-
import { listDirectories } from './fs'
|
|
3
|
-
|
|
4
|
-
export type PathMapping = Record<string, string>
|
|
5
|
-
export const resolvePathMappingConfig = async (
|
|
6
|
-
baseDir: string,
|
|
7
|
-
defaultProjectName: string,
|
|
8
|
-
config?: PathMapping,
|
|
9
|
-
): Promise<PathMapping> => {
|
|
10
|
-
if (config) {
|
|
11
|
-
return Object.fromEntries(Object.entries(config).map(([name, path]) => [name, resolve(baseDir, path)]))
|
|
12
|
-
}
|
|
13
|
-
// single instance/project
|
|
14
|
-
return { [defaultProjectName]: baseDir }
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export const getPathFromMapping = (config: PathMapping, name: string): string | undefined => {
|
|
18
|
-
if (config[name]) {
|
|
19
|
-
return config[name]
|
|
20
|
-
} else if (config['*']) {
|
|
21
|
-
return join(config['*'], name)
|
|
22
|
-
}
|
|
23
|
-
return undefined
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export const listEntriesInMapping = async (config: PathMapping): Promise<string[]> => {
|
|
27
|
-
return (
|
|
28
|
-
await Promise.all(
|
|
29
|
-
Object.entries(config).map(async ([name, path]) => {
|
|
30
|
-
if (name === '*') {
|
|
31
|
-
return (await listDirectories(path)).map(it => basename(it))
|
|
32
|
-
} else {
|
|
33
|
-
return [name]
|
|
34
|
-
}
|
|
35
|
-
}),
|
|
36
|
-
)
|
|
37
|
-
).flatMap(it => it)
|
|
38
|
-
}
|
package/src/utils/Project.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import * as path from 'node:path'
|
|
2
|
-
import { Workspace } from './Workspace'
|
|
3
|
-
|
|
4
|
-
export class Project {
|
|
5
|
-
constructor(
|
|
6
|
-
public readonly name: string,
|
|
7
|
-
private readonly directory: string,
|
|
8
|
-
private readonly workspace: Workspace,
|
|
9
|
-
) {}
|
|
10
|
-
|
|
11
|
-
get adminDir() {
|
|
12
|
-
return path.join(this.directory, 'admin')
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
get apiDir() {
|
|
16
|
-
return path.join(this.directory, 'api')
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
get migrationsDir() {
|
|
20
|
-
return path.join(this.apiDir, 'migrations')
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export const validateProjectName = (name: string) => {
|
|
25
|
-
if (!name.match(/^[a-z][-a-z0-9]*$/i)) {
|
|
26
|
-
throw 'Invalid project name. It can contain only alphanumeric characters, dash and must start with a letter'
|
|
27
|
-
}
|
|
28
|
-
}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { Project, validateProjectName } from './Project'
|
|
2
|
-
import { basename } from 'node:path'
|
|
3
|
-
import { Workspace } from './Workspace'
|
|
4
|
-
import { getPathFromMapping, listEntriesInMapping, resolvePathMappingConfig } from './PathMapping'
|
|
5
|
-
import { pathExists } from './fs'
|
|
6
|
-
|
|
7
|
-
export class ProjectManager {
|
|
8
|
-
constructor(private readonly workspace: Workspace) {}
|
|
9
|
-
public async listProjects(): Promise<Project[]> {
|
|
10
|
-
const projects = await this.listProjectPaths()
|
|
11
|
-
return await Promise.all(projects.map(it => this.getProject(it)))
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
public async getSingleProject(): Promise<Project> {
|
|
15
|
-
if (!this.workspace.isSingleProjectMode()) {
|
|
16
|
-
throw `Please specify a local name project`
|
|
17
|
-
}
|
|
18
|
-
const projects = await this.listProjects()
|
|
19
|
-
if (projects.length !== 1) {
|
|
20
|
-
throw `Please specify a local name project`
|
|
21
|
-
}
|
|
22
|
-
return projects[0]
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
public async getProject(name: string | undefined, options: { fuzzy?: boolean } = {}): Promise<Project> {
|
|
26
|
-
if (name === undefined) {
|
|
27
|
-
return await this.getSingleProject()
|
|
28
|
-
}
|
|
29
|
-
validateProjectName(name)
|
|
30
|
-
const projectDir = await this.getDirectory(name)
|
|
31
|
-
if (projectDir && (await pathExists(projectDir))) {
|
|
32
|
-
return new Project(name, projectDir, this.workspace)
|
|
33
|
-
}
|
|
34
|
-
const projects = await this.listProjectPaths()
|
|
35
|
-
|
|
36
|
-
if (!options.fuzzy) {
|
|
37
|
-
throw `Project ${name} not found. Known projects: ${projects.join(', ')}`
|
|
38
|
-
}
|
|
39
|
-
const matcher = new RegExp(
|
|
40
|
-
'^' +
|
|
41
|
-
name
|
|
42
|
-
.split('')
|
|
43
|
-
.map(it => it.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&') + '.*')
|
|
44
|
-
.join(''),
|
|
45
|
-
)
|
|
46
|
-
const matched = projects.filter(it => it.match(matcher))
|
|
47
|
-
if (matched.length === 0) {
|
|
48
|
-
throw `Project ${name} not found. Known projects: ${projects.join(', ')}`
|
|
49
|
-
} else if (matched.length > 1) {
|
|
50
|
-
throw `Project name ${name} is ambiguous. Did you mean one of these?\n - ` + matched.join('\n - ') + '\n'
|
|
51
|
-
}
|
|
52
|
-
return this.getProject(matched[0])
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
private async getDirectory(name: string) {
|
|
57
|
-
return getPathFromMapping(await this.getProjectPathMapping(), name)
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
private async listProjectPaths() {
|
|
61
|
-
const projectMapping = await this.getProjectPathMapping()
|
|
62
|
-
return await listEntriesInMapping(projectMapping)
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
private async getProjectPathMapping(): Promise<Record<string, string>> {
|
|
66
|
-
return resolvePathMappingConfig(this.workspace.directory, this.getDefaultProjectName(), this.workspace.config.projects)
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
private getDefaultProjectName(): string {
|
|
71
|
-
return this.workspace.env.projectName
|
|
72
|
-
?? basename(this.workspace.directory)
|
|
73
|
-
.toLocaleLowerCase()
|
|
74
|
-
.replace(/[^-_a-z0-9]/, '')
|
|
75
|
-
}
|
|
76
|
-
}
|
package/src/utils/Workspace.ts
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { basename, join } from 'node:path'
|
|
2
|
-
import { ProjectManager } from './ProjectManager'
|
|
3
|
-
import { PathMapping } from './PathMapping'
|
|
4
|
-
import { readYaml } from './yaml'
|
|
5
|
-
import { CliEnv, readCliEnv } from '../application'
|
|
6
|
-
import { pathExists } from './fs'
|
|
7
|
-
import { PackageWorkspace, PackageWorkspaceResolver } from '../npm/PackageWorkspace'
|
|
8
|
-
import { FsManager } from '../npm/FsManager'
|
|
9
|
-
import { Yarn } from '../npm/packageManagers/Yarn'
|
|
10
|
-
import { YarnClassic } from '../npm/packageManagers/YarnClassic'
|
|
11
|
-
import { Pnpm } from '../npm/packageManagers/Pnpm'
|
|
12
|
-
import { Npm } from '../npm/packageManagers/Npm'
|
|
13
|
-
|
|
14
|
-
export interface WorkspaceDirectoryArgument {
|
|
15
|
-
workspaceDirectory: string
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export interface WorkspaceConfig {
|
|
19
|
-
projects?: PathMapping
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export class Workspace {
|
|
23
|
-
public readonly projects = new ProjectManager(this)
|
|
24
|
-
|
|
25
|
-
constructor(
|
|
26
|
-
public readonly directory: string,
|
|
27
|
-
public readonly env: CliEnv,
|
|
28
|
-
public readonly config: WorkspaceConfig,
|
|
29
|
-
private readonly packageWorkspaceResolver: PackageWorkspaceResolver,
|
|
30
|
-
) {}
|
|
31
|
-
|
|
32
|
-
public static async get(workspaceDirectory: string) {
|
|
33
|
-
const config = await readWorkspaceConfig({ workspaceDirectory })
|
|
34
|
-
const fsManager = new FsManager()
|
|
35
|
-
const packageWorkspaceResolver = new PackageWorkspaceResolver(fsManager, [
|
|
36
|
-
new Yarn(fsManager),
|
|
37
|
-
new YarnClassic(fsManager),
|
|
38
|
-
new Pnpm(fsManager),
|
|
39
|
-
new Npm(fsManager),
|
|
40
|
-
])
|
|
41
|
-
|
|
42
|
-
return new Workspace(workspaceDirectory, readCliEnv(), config, packageWorkspaceResolver)
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
get name() {
|
|
46
|
-
return basename(this.directory)
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
public isSingleProjectMode(): boolean {
|
|
51
|
-
return !!this.env.projectName || !this.config.projects
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
public async resolvePackageWorkspace(): Promise<PackageWorkspace> {
|
|
55
|
-
return await this.packageWorkspaceResolver.resolve(this.directory)
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
export const formatWorkspaceConfigPath = (workspaceDirectory: string) => [
|
|
60
|
-
join(workspaceDirectory, 'contember.yaml'),
|
|
61
|
-
join(workspaceDirectory, 'contember.workspace.yaml'),
|
|
62
|
-
]
|
|
63
|
-
|
|
64
|
-
const readWorkspaceConfig = async ({ workspaceDirectory }: WorkspaceDirectoryArgument): Promise<WorkspaceConfig> => {
|
|
65
|
-
const configPath = formatWorkspaceConfigPath(workspaceDirectory)
|
|
66
|
-
for (const file of configPath) {
|
|
67
|
-
if ((await pathExists(file))) {
|
|
68
|
-
return await readYaml(file)
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
return {}
|
|
72
|
-
}
|
package/src/utils/commands.ts
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { ChildProcessWithoutNullStreams, spawn } from 'node:child_process'
|
|
2
|
-
import { Readable, Writable } from 'node:stream'
|
|
3
|
-
import chalk from 'chalk'
|
|
4
|
-
|
|
5
|
-
export type RunningCommand = { child: ChildProcessWithoutNullStreams; output: Promise<string> }
|
|
6
|
-
export const runCommand = (
|
|
7
|
-
command: string,
|
|
8
|
-
args: (string | undefined)[],
|
|
9
|
-
options: {
|
|
10
|
-
cwd: string
|
|
11
|
-
stdin?: Readable
|
|
12
|
-
stdout?: Writable
|
|
13
|
-
stderr?: Writable
|
|
14
|
-
env?: NodeJS.ProcessEnv
|
|
15
|
-
detached?: boolean
|
|
16
|
-
},
|
|
17
|
-
): RunningCommand => {
|
|
18
|
-
const args2 = args.filter((it): it is string => it !== undefined)
|
|
19
|
-
if (!process.env.DISABLE_COMMAND_PRINTING) {
|
|
20
|
-
console.error(chalk.gray(`$ ${command} ${args2.map(it => `'${it.replace(/'/g, `'\\''`)}'`).join(' ')}`))
|
|
21
|
-
}
|
|
22
|
-
const child = spawn(command, args2, {
|
|
23
|
-
cwd: options.cwd,
|
|
24
|
-
env: { ...process.env, ...(options.env || {}) },
|
|
25
|
-
detached: options.detached,
|
|
26
|
-
})
|
|
27
|
-
if (options.stdin) {
|
|
28
|
-
options.stdin.pipe(child.stdin)
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
let stdout = ''
|
|
32
|
-
let stderr = ''
|
|
33
|
-
|
|
34
|
-
child.stdout.on('data', (chunk): void => {
|
|
35
|
-
stdout += chunk.toString()
|
|
36
|
-
})
|
|
37
|
-
|
|
38
|
-
child.stderr.on('data', (chunk): void => {
|
|
39
|
-
stderr += chunk.toString()
|
|
40
|
-
})
|
|
41
|
-
if (options.stdout) {
|
|
42
|
-
child.stdout.pipe(options.stdout)
|
|
43
|
-
}
|
|
44
|
-
if (options.stderr) {
|
|
45
|
-
child.stderr.pipe(options.stderr)
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
const output = new Promise<string>((resolve, reject) => {
|
|
49
|
-
child.on('exit', (exitCode): void => {
|
|
50
|
-
if (exitCode === 0) {
|
|
51
|
-
resolve(stdout)
|
|
52
|
-
} else {
|
|
53
|
-
reject(new ChildProcessError(exitCode, stderr))
|
|
54
|
-
}
|
|
55
|
-
})
|
|
56
|
-
})
|
|
57
|
-
|
|
58
|
-
return { output, child }
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
export class ChildProcessError extends Error {
|
|
62
|
-
constructor(public readonly exitCode: number | null, public readonly stderr: string) {
|
|
63
|
-
super(`Command has failed(${exitCode}): ${stderr} `)
|
|
64
|
-
}
|
|
65
|
-
}
|
package/src/utils/fs.ts
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { tuple } from './tuple'
|
|
2
|
-
import * as fs from 'node:fs/promises'
|
|
3
|
-
import { join } from 'node:path'
|
|
4
|
-
import { access } from 'node:fs/promises'
|
|
5
|
-
|
|
6
|
-
export const listDirectories = async (dir: string): Promise<string[]> => {
|
|
7
|
-
try {
|
|
8
|
-
const entries = (await fs.readdir(dir)).map(it => join(dir, it))
|
|
9
|
-
const stats = await Promise.all(entries.map(async it => tuple(it, await fs.lstat(it))))
|
|
10
|
-
return stats.filter(([, it]) => it.isDirectory()).map(([it]) => it)
|
|
11
|
-
} catch (e) {
|
|
12
|
-
if (e instanceof Error && 'code' in e && (e as any).code === 'ENOENT') {
|
|
13
|
-
return []
|
|
14
|
-
}
|
|
15
|
-
throw e
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export const replaceFileContent = async (path: string, replacer: (content: string) => string): Promise<void> => {
|
|
20
|
-
const content = await fs.readFile(path, { encoding: 'utf8' })
|
|
21
|
-
const newContent = replacer(content)
|
|
22
|
-
await fs.writeFile(path, newContent, { encoding: 'utf8' })
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export const tryUnlink = async (path: string): Promise<void> => {
|
|
26
|
-
try {
|
|
27
|
-
await fs.unlink(path)
|
|
28
|
-
} catch (e) {
|
|
29
|
-
if (e instanceof Error && 'code' in e && (e as any).code === 'ENOENT') {
|
|
30
|
-
return
|
|
31
|
-
}
|
|
32
|
-
throw e
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export const pathExists = async (path: string) => {
|
|
37
|
-
try {
|
|
38
|
-
await access(path)
|
|
39
|
-
return true
|
|
40
|
-
} catch {
|
|
41
|
-
return false
|
|
42
|
-
}
|
|
43
|
-
}
|
package/src/utils/index.ts
DELETED
package/src/utils/json.ts
DELETED
package/src/utils/tuple.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const tuple = <T extends any[]>(...values: T) => values
|
package/src/utils/version.ts
DELETED
package/src/utils/yaml.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import jsyaml from 'js-yaml'
|
|
2
|
-
import { JSONObject } from './json'
|
|
3
|
-
import { readFile } from 'node:fs/promises'
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export const readYaml = async <T = JSONObject>(path: string): Promise<T> => {
|
|
7
|
-
const content = await readFile(path, { encoding: 'utf8' })
|
|
8
|
-
return jsyaml.load(content) as unknown as T
|
|
9
|
-
}
|
|
File without changes
|
|
File without changes
|