@jakubmazanec/carson 0.3.0-unstable.feec6e4 → 1.0.0-next.2fa8a2c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/bin/carson.js +1 -1
- package/build/commands/create-project/CreateProject.js +97 -0
- package/build/commands/create-project/CreateProject.js.map +7 -0
- package/build/commands/create-project/CreateProjectInput.js +35 -0
- package/build/commands/create-project/CreateProjectInput.js.map +7 -0
- package/{dist → build}/commands/create-project/createProjectCommand.d.ts +6 -6
- package/build/commands/create-project/createProjectCommand.js +37 -0
- package/build/commands/create-project/createProjectCommand.js.map +7 -0
- package/build/commands/create-project/runCreateProject.js +28 -0
- package/build/commands/create-project/runCreateProject.js.map +7 -0
- package/build/commands/create-project.js +6 -0
- package/build/commands/create-project.js.map +7 -0
- package/build/commands/create-workspace/CreateWorkspace.js +68 -0
- package/build/commands/create-workspace/CreateWorkspace.js.map +7 -0
- package/build/commands/create-workspace/CreateWorkspaceInput.js +19 -0
- package/build/commands/create-workspace/CreateWorkspaceInput.js.map +7 -0
- package/{dist → build}/commands/create-workspace/createWorkspaceCommand.d.ts +4 -4
- package/build/commands/create-workspace/createWorkspaceCommand.js +22 -0
- package/build/commands/create-workspace/createWorkspaceCommand.js.map +7 -0
- package/build/commands/create-workspace/runCreateWorkspace.js +22 -0
- package/build/commands/create-workspace/runCreateWorkspace.js.map +7 -0
- package/build/commands/create-workspace.js +6 -0
- package/build/commands/create-workspace.js.map +7 -0
- package/build/commands/internals/CommandStatus.js +2 -0
- package/build/commands/internals/CommandStatus.js.map +7 -0
- package/build/commands/internals/packageNameToDirectory.js +12 -0
- package/build/commands/internals/packageNameToDirectory.js.map +7 -0
- package/build/commands/internals.js +4 -0
- package/build/commands/internals.js.map +7 -0
- package/build/commands/update-workspace/UpdateWorkspace.js +37 -0
- package/build/commands/update-workspace/UpdateWorkspace.js.map +7 -0
- package/build/commands/update-workspace/runUpdateWorkspace.js +19 -0
- package/build/commands/update-workspace/runUpdateWorkspace.js.map +7 -0
- package/{dist → build}/commands/update-workspace/updateWorkspaceCommand.d.ts +2 -2
- package/build/commands/update-workspace/updateWorkspaceCommand.js +31 -0
- package/build/commands/update-workspace/updateWorkspaceCommand.js.map +7 -0
- package/build/commands/update-workspace.js +5 -0
- package/build/commands/update-workspace.js.map +7 -0
- package/build/commands.js +5 -0
- package/build/commands.js.map +7 -0
- package/build/constants.js +14 -0
- package/build/constants.js.map +7 -0
- package/build/main.js +5 -0
- package/build/main.js.map +7 -0
- package/build/modules.d.js +2 -0
- package/build/modules.d.js.map +7 -0
- package/build/run.js +19 -0
- package/build/run.js.map +7 -0
- package/build/template/CarsonTemplate.js +2 -0
- package/build/template/CarsonTemplate.js.map +7 -0
- package/build/template/CarsonTemplateConfig.js +8 -0
- package/build/template/CarsonTemplateConfig.js.map +7 -0
- package/build/template/CarsonTemplateError.js +15 -0
- package/build/template/CarsonTemplateError.js.map +7 -0
- package/build/template/TemplateAttributes.js +14 -0
- package/build/template/TemplateAttributes.js.map +7 -0
- package/build/template/TemplateData.js +10 -0
- package/build/template/TemplateData.js.map +7 -0
- package/build/template/TemplateRender.js +2 -0
- package/build/template/TemplateRender.js.map +7 -0
- package/build/template/TemplateRenders.js +2 -0
- package/build/template/TemplateRenders.js.map +7 -0
- package/build/template/applyTemplateRenders.js +94 -0
- package/build/template/applyTemplateRenders.js.map +7 -0
- package/build/template/internals/TemplateRenderSnapshot.js +12 -0
- package/build/template/internals/TemplateRenderSnapshot.js.map +7 -0
- package/build/template/internals/TemplateRenderSnapshots.js +4 -0
- package/build/template/internals/TemplateRenderSnapshots.js.map +7 -0
- package/build/template/internals/createUsingTemplateRender.js +42 -0
- package/build/template/internals/createUsingTemplateRender.js.map +7 -0
- package/build/template/internals/deleteUsingTemplateRender.js +20 -0
- package/build/template/internals/deleteUsingTemplateRender.js.map +7 -0
- package/build/template/internals/importCarsonTemplate.js +8 -0
- package/build/template/internals/importCarsonTemplate.js.map +7 -0
- package/build/template/internals/insertUsingTemplateRender.js +40 -0
- package/build/template/internals/insertUsingTemplateRender.js.map +7 -0
- package/build/template/internals/loadTemplateRenderSnapshots.js +16 -0
- package/build/template/internals/loadTemplateRenderSnapshots.js.map +7 -0
- package/build/template/internals/merge.js +29 -0
- package/build/template/internals/merge.js.map +7 -0
- package/build/template/internals/mergeUsingTemplateRender.js +49 -0
- package/build/template/internals/mergeUsingTemplateRender.js.map +7 -0
- package/build/template/internals/overwriteUsingTemplateRender.js +10 -0
- package/build/template/internals/overwriteUsingTemplateRender.js.map +7 -0
- package/build/template/internals/parseCarsonTemplateId.js +12 -0
- package/build/template/internals/parseCarsonTemplateId.js.map +7 -0
- package/build/template/internals/prettify.js +21 -0
- package/build/template/internals/prettify.js.map +7 -0
- package/build/template/internals/readCarsonTemplate.js +44 -0
- package/build/template/internals/readCarsonTemplate.js.map +7 -0
- package/build/template/internals/resolveModule.js +9 -0
- package/build/template/internals/resolveModule.js.map +7 -0
- package/build/template/internals/saveTemplateRenderSnapshots.js +23 -0
- package/build/template/internals/saveTemplateRenderSnapshots.js.map +7 -0
- package/build/template/internals/uninsertUsingTemplateRender.js +40 -0
- package/build/template/internals/uninsertUsingTemplateRender.js.map +7 -0
- package/build/template/internals/unmerge.js +32 -0
- package/build/template/internals/unmerge.js.map +7 -0
- package/build/template/internals/unmergeUsingTemplateRender.js +41 -0
- package/build/template/internals/unmergeUsingTemplateRender.js.map +7 -0
- package/build/template/internals.js +20 -0
- package/build/template/internals.js.map +7 -0
- package/build/template/renderCarsonTemplate.js +42 -0
- package/build/template/renderCarsonTemplate.js.map +7 -0
- package/build/template.js +11 -0
- package/build/template.js.map +7 -0
- package/build/workspace/Project.js +205 -0
- package/build/workspace/Project.js.map +7 -0
- package/build/workspace/ProjectConfig.js +6 -0
- package/build/workspace/ProjectConfig.js.map +7 -0
- package/build/workspace/ProjectCreateOptions.js +2 -0
- package/build/workspace/ProjectCreateOptions.js.map +7 -0
- package/{dist → build}/workspace/ProjectError.d.ts +1 -1
- package/build/workspace/ProjectError.js +17 -0
- package/build/workspace/ProjectError.js.map +7 -0
- package/build/workspace/ProjectOptions.js +2 -0
- package/build/workspace/ProjectOptions.js.map +7 -0
- package/build/workspace/ProjectUpdateOptions.js +2 -0
- package/build/workspace/ProjectUpdateOptions.js.map +7 -0
- package/{dist → build}/workspace/Workspace.d.ts +2 -2
- package/build/workspace/Workspace.js +501 -0
- package/build/workspace/Workspace.js.map +7 -0
- package/build/workspace/WorkspaceConfig.js +6 -0
- package/build/workspace/WorkspaceConfig.js.map +7 -0
- package/build/workspace/WorkspaceCreateOptions.js +2 -0
- package/build/workspace/WorkspaceCreateOptions.js.map +7 -0
- package/build/workspace/WorkspaceCreateProjectOptions.js +2 -0
- package/build/workspace/WorkspaceCreateProjectOptions.js.map +7 -0
- package/build/workspace/WorkspaceDependencies.js +143 -0
- package/build/workspace/WorkspaceDependencies.js.map +7 -0
- package/build/workspace/WorkspaceDependenciesFromWorkspaceOptions.js +2 -0
- package/build/workspace/WorkspaceDependenciesFromWorkspaceOptions.js.map +7 -0
- package/build/workspace/WorkspaceDependenciesGetVersionsOptions.js +2 -0
- package/build/workspace/WorkspaceDependenciesGetVersionsOptions.js.map +7 -0
- package/build/workspace/WorkspaceDependency.js +2 -0
- package/build/workspace/WorkspaceDependency.js.map +7 -0
- package/build/workspace/WorkspaceDependencyProject.js +2 -0
- package/build/workspace/WorkspaceDependencyProject.js.map +7 -0
- package/{dist → build}/workspace/WorkspaceError.d.ts +1 -1
- package/{dist → build}/workspace/WorkspaceError.js +12 -10
- package/build/workspace/WorkspaceError.js.map +7 -0
- package/build/workspace/WorkspaceFindAndReadOptions.js +2 -0
- package/build/workspace/WorkspaceFindAndReadOptions.js.map +7 -0
- package/build/workspace/WorkspaceOptions.js +2 -0
- package/build/workspace/WorkspaceOptions.js.map +7 -0
- package/build/workspace/WorkspaceOptionsProject.js +2 -0
- package/build/workspace/WorkspaceOptionsProject.js.map +7 -0
- package/build/workspace/WorkspacePackageJson.js +2 -0
- package/build/workspace/WorkspacePackageJson.js.map +7 -0
- package/build/workspace/WorkspaceProjectGlobs.js +2 -0
- package/build/workspace/WorkspaceProjectGlobs.js.map +7 -0
- package/build/workspace/WorkspaceProjects.js +2 -0
- package/build/workspace/WorkspaceProjects.js.map +7 -0
- package/build/workspace/WorkspaceRepository.js +2 -0
- package/build/workspace/WorkspaceRepository.js.map +7 -0
- package/build/workspace/WorkspaceUpdateOptions.js +2 -0
- package/build/workspace/WorkspaceUpdateOptions.js.map +7 -0
- package/build/workspace/internals/compareProjectPath.js +10 -0
- package/build/workspace/internals/compareProjectPath.js.map +7 -0
- package/build/workspace/internals/compareSemver.js +20 -0
- package/build/workspace/internals/compareSemver.js.map +7 -0
- package/build/workspace/internals/compareWorkspaceDependencyProjectName.js +10 -0
- package/build/workspace/internals/compareWorkspaceDependencyProjectName.js.map +7 -0
- package/build/workspace/internals/containsProject.js +23 -0
- package/build/workspace/internals/containsProject.js.map +7 -0
- package/build/workspace/internals/containsWorkspace.js +20 -0
- package/build/workspace/internals/containsWorkspace.js.map +7 -0
- package/build/workspace/internals/getPackageJsonWorkspaces.js +31 -0
- package/build/workspace/internals/getPackageJsonWorkspaces.js.map +7 -0
- package/build/workspace/internals/getRepositoryBranches.js +26 -0
- package/build/workspace/internals/getRepositoryBranches.js.map +7 -0
- package/build/workspace/internals/getRepositoryUrl.js +19 -0
- package/build/workspace/internals/getRepositoryUrl.js.map +7 -0
- package/build/workspace/internals.js +10 -0
- package/build/workspace/internals.js.map +7 -0
- package/build/workspace/saveProjectConfig.js +15 -0
- package/build/workspace/saveProjectConfig.js.map +7 -0
- package/build/workspace/saveWorkspaceConfig.js +22 -0
- package/build/workspace/saveWorkspaceConfig.js.map +7 -0
- package/build/workspace.js +24 -0
- package/build/workspace.js.map +7 -0
- package/package.json +54 -49
- package/{src → source}/commands/create-project/CreateProject.tsx +7 -7
- package/{src → source}/commands/create-project/CreateProjectInput.ts +1 -1
- package/{src → source}/commands/create-workspace/CreateWorkspace.tsx +6 -6
- package/{src → source}/commands/create-workspace/CreateWorkspaceInput.ts +1 -1
- package/{src → source}/commands/update-workspace/UpdateWorkspace.tsx +4 -4
- package/{src → source}/run.ts +2 -2
- package/{src → source}/template/applyTemplateRenders.ts +10 -10
- package/{src → source}/template/internals/prettify.ts +2 -2
- package/{src → source}/template/internals/readCarsonTemplate.ts +3 -3
- package/{src → source}/workspace/Project.ts +8 -8
- package/{src → source}/workspace/Workspace.ts +21 -27
- package/{src → source}/workspace/WorkspaceDependencies.ts +11 -9
- package/{src → source}/workspace/WorkspaceOptions.ts +3 -2
- package/{src → source}/workspace/internals/compareSemver.ts +6 -4
- package/{src → source}/workspace/internals/getPackageJsonWorkspaces.ts +1 -1
- package/dist/commands/create-project/CreateProject.js +0 -138
- package/dist/commands/create-project/CreateProject.js.map +0 -1
- package/dist/commands/create-project/CreateProjectInput.js +0 -31
- package/dist/commands/create-project/CreateProjectInput.js.map +0 -1
- package/dist/commands/create-project/createProjectCommand.js +0 -38
- package/dist/commands/create-project/createProjectCommand.js.map +0 -1
- package/dist/commands/create-project/runCreateProject.js +0 -24
- package/dist/commands/create-project/runCreateProject.js.map +0 -1
- package/dist/commands/create-project.js +0 -6
- package/dist/commands/create-project.js.map +0 -1
- package/dist/commands/create-workspace/CreateWorkspace.js +0 -104
- package/dist/commands/create-workspace/CreateWorkspace.js.map +0 -1
- package/dist/commands/create-workspace/CreateWorkspaceInput.js +0 -17
- package/dist/commands/create-workspace/CreateWorkspaceInput.js.map +0 -1
- package/dist/commands/create-workspace/createWorkspaceCommand.js +0 -20
- package/dist/commands/create-workspace/createWorkspaceCommand.js.map +0 -1
- package/dist/commands/create-workspace/runCreateWorkspace.js +0 -24
- package/dist/commands/create-workspace/runCreateWorkspace.js.map +0 -1
- package/dist/commands/create-workspace.js +0 -6
- package/dist/commands/create-workspace.js.map +0 -1
- package/dist/commands/internals/CommandStatus.js +0 -3
- package/dist/commands/internals/CommandStatus.js.map +0 -1
- package/dist/commands/internals/packageNameToDirectory.js +0 -12
- package/dist/commands/internals/packageNameToDirectory.js.map +0 -1
- package/dist/commands/internals.js +0 -4
- package/dist/commands/internals.js.map +0 -1
- package/dist/commands/update-workspace/UpdateWorkspace.js +0 -71
- package/dist/commands/update-workspace/UpdateWorkspace.js.map +0 -1
- package/dist/commands/update-workspace/runUpdateWorkspace.js +0 -25
- package/dist/commands/update-workspace/runUpdateWorkspace.js.map +0 -1
- package/dist/commands/update-workspace/updateWorkspaceCommand.js +0 -32
- package/dist/commands/update-workspace/updateWorkspaceCommand.js.map +0 -1
- package/dist/commands/update-workspace.js +0 -5
- package/dist/commands/update-workspace.js.map +0 -1
- package/dist/commands.js +0 -5
- package/dist/commands.js.map +0 -1
- package/dist/constants.js +0 -14
- package/dist/constants.js.map +0 -1
- package/dist/main.js +0 -5
- package/dist/main.js.map +0 -1
- package/dist/modules.d.js +0 -2
- package/dist/modules.d.js.map +0 -1
- package/dist/run.js +0 -19
- package/dist/run.js.map +0 -1
- package/dist/template/CarsonTemplate.js +0 -3
- package/dist/template/CarsonTemplate.js.map +0 -1
- package/dist/template/CarsonTemplateConfig.js +0 -7
- package/dist/template/CarsonTemplateConfig.js.map +0 -1
- package/dist/template/CarsonTemplateError.js +0 -13
- package/dist/template/CarsonTemplateError.js.map +0 -1
- package/dist/template/TemplateAttributes.js +0 -18
- package/dist/template/TemplateAttributes.js.map +0 -1
- package/dist/template/TemplateData.js +0 -11
- package/dist/template/TemplateData.js.map +0 -1
- package/dist/template/TemplateRender.js +0 -3
- package/dist/template/TemplateRender.js.map +0 -1
- package/dist/template/TemplateRenders.js +0 -3
- package/dist/template/TemplateRenders.js.map +0 -1
- package/dist/template/applyTemplateRenders.js +0 -90
- package/dist/template/applyTemplateRenders.js.map +0 -1
- package/dist/template/internals/TemplateRenderSnapshot.js +0 -14
- package/dist/template/internals/TemplateRenderSnapshot.js.map +0 -1
- package/dist/template/internals/TemplateRenderSnapshots.js +0 -4
- package/dist/template/internals/TemplateRenderSnapshots.js.map +0 -1
- package/dist/template/internals/createUsingTemplateRender.js +0 -57
- package/dist/template/internals/createUsingTemplateRender.js.map +0 -1
- package/dist/template/internals/deleteUsingTemplateRender.js +0 -22
- package/dist/template/internals/deleteUsingTemplateRender.js.map +0 -1
- package/dist/template/internals/importCarsonTemplate.js +0 -8
- package/dist/template/internals/importCarsonTemplate.js.map +0 -1
- package/dist/template/internals/insertUsingTemplateRender.js +0 -41
- package/dist/template/internals/insertUsingTemplateRender.js.map +0 -1
- package/dist/template/internals/loadTemplateRenderSnapshots.js +0 -14
- package/dist/template/internals/loadTemplateRenderSnapshots.js.map +0 -1
- package/dist/template/internals/merge.js +0 -30
- package/dist/template/internals/merge.js.map +0 -1
- package/dist/template/internals/mergeUsingTemplateRender.js +0 -62
- package/dist/template/internals/mergeUsingTemplateRender.js.map +0 -1
- package/dist/template/internals/overwriteUsingTemplateRender.js +0 -12
- package/dist/template/internals/overwriteUsingTemplateRender.js.map +0 -1
- package/dist/template/internals/parseCarsonTemplateId.js +0 -17
- package/dist/template/internals/parseCarsonTemplateId.js.map +0 -1
- package/dist/template/internals/prettify.js +0 -25
- package/dist/template/internals/prettify.js.map +0 -1
- package/dist/template/internals/readCarsonTemplate.js +0 -45
- package/dist/template/internals/readCarsonTemplate.js.map +0 -1
- package/dist/template/internals/resolveModule.js +0 -9
- package/dist/template/internals/resolveModule.js.map +0 -1
- package/dist/template/internals/saveTemplateRenderSnapshots.js +0 -23
- package/dist/template/internals/saveTemplateRenderSnapshots.js.map +0 -1
- package/dist/template/internals/uninsertUsingTemplateRender.js +0 -41
- package/dist/template/internals/uninsertUsingTemplateRender.js.map +0 -1
- package/dist/template/internals/unmerge.js +0 -31
- package/dist/template/internals/unmerge.js.map +0 -1
- package/dist/template/internals/unmergeUsingTemplateRender.js +0 -50
- package/dist/template/internals/unmergeUsingTemplateRender.js.map +0 -1
- package/dist/template/internals.js +0 -20
- package/dist/template/internals.js.map +0 -1
- package/dist/template/renderCarsonTemplate.js +0 -34
- package/dist/template/renderCarsonTemplate.js.map +0 -1
- package/dist/template.js +0 -11
- package/dist/template.js.map +0 -1
- package/dist/workspace/Project.js +0 -204
- package/dist/workspace/Project.js.map +0 -1
- package/dist/workspace/ProjectConfig.js +0 -6
- package/dist/workspace/ProjectConfig.js.map +0 -1
- package/dist/workspace/ProjectCreateOptions.js +0 -3
- package/dist/workspace/ProjectCreateOptions.js.map +0 -1
- package/dist/workspace/ProjectError.js +0 -15
- package/dist/workspace/ProjectError.js.map +0 -1
- package/dist/workspace/ProjectOptions.js +0 -3
- package/dist/workspace/ProjectOptions.js.map +0 -1
- package/dist/workspace/ProjectUpdateOptions.js +0 -5
- package/dist/workspace/ProjectUpdateOptions.js.map +0 -1
- package/dist/workspace/Workspace.js +0 -529
- package/dist/workspace/Workspace.js.map +0 -1
- package/dist/workspace/WorkspaceConfig.js +0 -6
- package/dist/workspace/WorkspaceConfig.js.map +0 -1
- package/dist/workspace/WorkspaceCreateOptions.js +0 -5
- package/dist/workspace/WorkspaceCreateOptions.js.map +0 -1
- package/dist/workspace/WorkspaceCreateProjectOptions.js +0 -5
- package/dist/workspace/WorkspaceCreateProjectOptions.js.map +0 -1
- package/dist/workspace/WorkspaceDependencies.js +0 -140
- package/dist/workspace/WorkspaceDependencies.js.map +0 -1
- package/dist/workspace/WorkspaceDependenciesFromWorkspaceOptions.js +0 -5
- package/dist/workspace/WorkspaceDependenciesFromWorkspaceOptions.js.map +0 -1
- package/dist/workspace/WorkspaceDependenciesGetVersionsOptions.js +0 -5
- package/dist/workspace/WorkspaceDependenciesGetVersionsOptions.js.map +0 -1
- package/dist/workspace/WorkspaceDependency.js +0 -3
- package/dist/workspace/WorkspaceDependency.js.map +0 -1
- package/dist/workspace/WorkspaceDependencyProject.js +0 -5
- package/dist/workspace/WorkspaceDependencyProject.js.map +0 -1
- package/dist/workspace/WorkspaceError.js.map +0 -1
- package/dist/workspace/WorkspaceFindAndReadOptions.js +0 -5
- package/dist/workspace/WorkspaceFindAndReadOptions.js.map +0 -1
- package/dist/workspace/WorkspaceOptions.js +0 -3
- package/dist/workspace/WorkspaceOptions.js.map +0 -1
- package/dist/workspace/WorkspaceOptionsProject.js +0 -3
- package/dist/workspace/WorkspaceOptionsProject.js.map +0 -1
- package/dist/workspace/WorkspacePackageJson.js +0 -3
- package/dist/workspace/WorkspacePackageJson.js.map +0 -1
- package/dist/workspace/WorkspaceProjectGlobs.js +0 -5
- package/dist/workspace/WorkspaceProjectGlobs.js.map +0 -1
- package/dist/workspace/WorkspaceProjects.js +0 -3
- package/dist/workspace/WorkspaceProjects.js.map +0 -1
- package/dist/workspace/WorkspaceRepository.js +0 -5
- package/dist/workspace/WorkspaceRepository.js.map +0 -1
- package/dist/workspace/WorkspaceUpdateOptions.js +0 -5
- package/dist/workspace/WorkspaceUpdateOptions.js.map +0 -1
- package/dist/workspace/internals/compareProjectPath.js +0 -10
- package/dist/workspace/internals/compareProjectPath.js.map +0 -1
- package/dist/workspace/internals/compareSemver.js +0 -26
- package/dist/workspace/internals/compareSemver.js.map +0 -1
- package/dist/workspace/internals/compareWorkspaceDependencyProjectName.js +0 -10
- package/dist/workspace/internals/compareWorkspaceDependencyProjectName.js.map +0 -1
- package/dist/workspace/internals/containsProject.js +0 -19
- package/dist/workspace/internals/containsProject.js.map +0 -1
- package/dist/workspace/internals/containsWorkspace.js +0 -14
- package/dist/workspace/internals/containsWorkspace.js.map +0 -1
- package/dist/workspace/internals/getPackageJsonWorkspaces.js +0 -31
- package/dist/workspace/internals/getPackageJsonWorkspaces.js.map +0 -1
- package/dist/workspace/internals/getRepositoryBranches.js +0 -27
- package/dist/workspace/internals/getRepositoryBranches.js.map +0 -1
- package/dist/workspace/internals/getRepositoryUrl.js +0 -20
- package/dist/workspace/internals/getRepositoryUrl.js.map +0 -1
- package/dist/workspace/internals.js +0 -10
- package/dist/workspace/internals.js.map +0 -1
- package/dist/workspace/saveProjectConfig.js +0 -17
- package/dist/workspace/saveProjectConfig.js.map +0 -1
- package/dist/workspace/saveWorkspaceConfig.js +0 -17
- package/dist/workspace/saveWorkspaceConfig.js.map +0 -1
- package/dist/workspace.js +0 -24
- package/dist/workspace.js.map +0 -1
- package/{dist → build}/commands/create-project/CreateProject.d.ts +1 -1
- package/{dist → build}/commands/create-project/CreateProjectInput.d.ts +0 -0
- package/{dist → build}/commands/create-project/runCreateProject.d.ts +1 -1
- package/{dist → build}/commands/create-project.d.ts +2 -2
- package/{dist → build}/commands/create-workspace/CreateWorkspace.d.ts +0 -0
- package/{dist → build}/commands/create-workspace/CreateWorkspaceInput.d.ts +0 -0
- package/{dist → build}/commands/create-workspace/runCreateWorkspace.d.ts +0 -0
- package/{dist → build}/commands/create-workspace.d.ts +2 -2
- package/{dist → build}/commands/internals/CommandStatus.d.ts +0 -0
- package/{dist → build}/commands/internals/packageNameToDirectory.d.ts +0 -0
- package/{dist → build}/commands/internals.d.ts +0 -0
- package/{dist → build}/commands/update-workspace/UpdateWorkspace.d.ts +1 -1
- package/{dist → build}/commands/update-workspace/runUpdateWorkspace.d.ts +1 -1
- package/{dist → build}/commands/update-workspace.d.ts +0 -0
- package/{dist → build}/commands.d.ts +0 -0
- package/{dist → build}/constants.d.ts +0 -0
- package/{dist → build}/main.d.ts +0 -0
- package/{dist → build}/run.d.ts +0 -0
- package/{dist → build}/template/CarsonTemplate.d.ts +0 -0
- package/{dist → build}/template/CarsonTemplateConfig.d.ts +0 -0
- package/{dist → build}/template/CarsonTemplateError.d.ts +0 -0
- package/{dist → build}/template/TemplateAttributes.d.ts +0 -0
- package/{dist → build}/template/TemplateData.d.ts +0 -0
- package/{dist → build}/template/TemplateRender.d.ts +0 -0
- package/{dist → build}/template/TemplateRenders.d.ts +0 -0
- package/{dist → build}/template/applyTemplateRenders.d.ts +0 -0
- package/{dist → build}/template/internals/TemplateRenderSnapshot.d.ts +0 -0
- package/{dist → build}/template/internals/TemplateRenderSnapshots.d.ts +0 -0
- package/{dist → build}/template/internals/createUsingTemplateRender.d.ts +1 -1
- package/{dist → build}/template/internals/deleteUsingTemplateRender.d.ts +1 -1
- package/{dist → build}/template/internals/importCarsonTemplate.d.ts +0 -0
- package/{dist → build}/template/internals/insertUsingTemplateRender.d.ts +1 -1
- package/{dist → build}/template/internals/loadTemplateRenderSnapshots.d.ts +0 -0
- package/{dist → build}/template/internals/merge.d.ts +0 -0
- package/{dist → build}/template/internals/mergeUsingTemplateRender.d.ts +1 -1
- package/{dist → build}/template/internals/overwriteUsingTemplateRender.d.ts +1 -1
- package/{dist → build}/template/internals/parseCarsonTemplateId.d.ts +0 -0
- package/{dist → build}/template/internals/prettify.d.ts +0 -0
- package/{dist → build}/template/internals/readCarsonTemplate.d.ts +0 -0
- package/{dist → build}/template/internals/resolveModule.d.ts +0 -0
- package/{dist → build}/template/internals/saveTemplateRenderSnapshots.d.ts +0 -0
- package/{dist → build}/template/internals/uninsertUsingTemplateRender.d.ts +1 -1
- package/{dist → build}/template/internals/unmerge.d.ts +0 -0
- package/{dist → build}/template/internals/unmergeUsingTemplateRender.d.ts +1 -1
- package/{dist → build}/template/internals.d.ts +12 -12
- package/{dist → build}/template/renderCarsonTemplate.d.ts +0 -0
- package/{dist → build}/template.d.ts +0 -0
- package/{dist → build}/workspace/Project.d.ts +0 -0
- package/{dist → build}/workspace/ProjectConfig.d.ts +0 -0
- package/{dist → build}/workspace/ProjectCreateOptions.d.ts +0 -0
- package/{dist → build}/workspace/ProjectOptions.d.ts +0 -0
- package/{dist → build}/workspace/ProjectUpdateOptions.d.ts +0 -0
- package/{dist → build}/workspace/WorkspaceConfig.d.ts +0 -0
- package/{dist → build}/workspace/WorkspaceCreateOptions.d.ts +0 -0
- package/{dist → build}/workspace/WorkspaceCreateProjectOptions.d.ts +0 -0
- package/{dist → build}/workspace/WorkspaceDependencies.d.ts +0 -0
- package/{dist → build}/workspace/WorkspaceDependenciesFromWorkspaceOptions.d.ts +0 -0
- package/{dist → build}/workspace/WorkspaceDependenciesGetVersionsOptions.d.ts +0 -0
- package/{dist → build}/workspace/WorkspaceDependency.d.ts +0 -0
- package/{dist → build}/workspace/WorkspaceDependencyProject.d.ts +0 -0
- package/{dist → build}/workspace/WorkspaceFindAndReadOptions.d.ts +0 -0
- package/{dist → build}/workspace/WorkspaceOptions.d.ts +0 -0
- package/{dist → build}/workspace/WorkspaceOptionsProject.d.ts +0 -0
- package/{dist → build}/workspace/WorkspacePackageJson.d.ts +0 -0
- package/{dist → build}/workspace/WorkspaceProjectGlobs.d.ts +0 -0
- package/{dist → build}/workspace/WorkspaceProjects.d.ts +0 -0
- package/{dist → build}/workspace/WorkspaceRepository.d.ts +0 -0
- package/{dist → build}/workspace/WorkspaceUpdateOptions.d.ts +0 -0
- package/{dist → build}/workspace/internals/compareProjectPath.d.ts +0 -0
- package/{dist → build}/workspace/internals/compareSemver.d.ts +0 -0
- package/{dist → build}/workspace/internals/compareWorkspaceDependencyProjectName.d.ts +0 -0
- package/{dist → build}/workspace/internals/containsProject.d.ts +0 -0
- package/{dist → build}/workspace/internals/containsWorkspace.d.ts +0 -0
- package/{dist → build}/workspace/internals/getPackageJsonWorkspaces.d.ts +0 -0
- package/{dist → build}/workspace/internals/getRepositoryBranches.d.ts +0 -0
- package/{dist → build}/workspace/internals/getRepositoryUrl.d.ts +0 -0
- package/{dist → build}/workspace/internals.d.ts +0 -0
- package/{dist → build}/workspace/saveProjectConfig.d.ts +0 -0
- package/{dist → build}/workspace/saveWorkspaceConfig.d.ts +0 -0
- package/{dist → build}/workspace.d.ts +0 -0
- package/{src → source}/commands/create-project/createProjectCommand.tsx +1 -1
- package/{src → source}/commands/create-project/runCreateProject.ts +1 -1
- package/{src → source}/commands/create-project.ts +2 -2
- package/{src → source}/commands/create-workspace/createWorkspaceCommand.tsx +0 -0
- package/{src → source}/commands/create-workspace/runCreateWorkspace.ts +1 -1
- package/{src → source}/commands/create-workspace.ts +2 -2
- package/{src → source}/commands/internals/CommandStatus.ts +0 -0
- package/{src → source}/commands/internals/packageNameToDirectory.ts +0 -0
- package/{src → source}/commands/internals.ts +0 -0
- package/{src → source}/commands/update-workspace/runUpdateWorkspace.ts +1 -1
- package/{src → source}/commands/update-workspace/updateWorkspaceCommand.tsx +1 -1
- package/{src → source}/commands/update-workspace.ts +0 -0
- package/{src → source}/commands.ts +0 -0
- package/{src → source}/constants.ts +0 -0
- package/{src → source}/main.ts +0 -0
- package/{src → source}/modules.d.ts +0 -0
- package/{src → source}/template/CarsonTemplate.ts +0 -0
- package/{src → source}/template/CarsonTemplateConfig.ts +0 -0
- package/{src → source}/template/CarsonTemplateError.ts +0 -0
- package/{src → source}/template/TemplateAttributes.ts +0 -0
- package/{src → source}/template/TemplateData.ts +0 -0
- package/{src → source}/template/TemplateRender.ts +0 -0
- package/{src → source}/template/TemplateRenders.ts +0 -0
- package/{src → source}/template/internals/TemplateRenderSnapshot.ts +0 -0
- package/{src → source}/template/internals/TemplateRenderSnapshots.ts +0 -0
- package/{src → source}/template/internals/createUsingTemplateRender.ts +1 -1
- package/{src → source}/template/internals/deleteUsingTemplateRender.ts +1 -1
- package/{src → source}/template/internals/importCarsonTemplate.ts +0 -0
- package/{src → source}/template/internals/insertUsingTemplateRender.ts +2 -2
- package/{src → source}/template/internals/loadTemplateRenderSnapshots.ts +0 -0
- package/{src → source}/template/internals/merge.ts +0 -0
- package/{src → source}/template/internals/mergeUsingTemplateRender.ts +2 -2
- package/{src → source}/template/internals/overwriteUsingTemplateRender.ts +1 -1
- package/{src → source}/template/internals/parseCarsonTemplateId.ts +0 -0
- package/{src → source}/template/internals/resolveModule.ts +0 -0
- package/{src → source}/template/internals/saveTemplateRenderSnapshots.ts +1 -1
- package/{src → source}/template/internals/uninsertUsingTemplateRender.ts +2 -2
- package/{src → source}/template/internals/unmerge.ts +0 -0
- package/{src → source}/template/internals/unmergeUsingTemplateRender.ts +2 -2
- package/{src → source}/template/internals.ts +12 -12
- package/{src → source}/template/renderCarsonTemplate.ts +0 -0
- package/{src → source}/template.ts +0 -0
- package/{src → source}/workspace/ProjectConfig.ts +0 -0
- package/{src → source}/workspace/ProjectCreateOptions.ts +0 -0
- package/{src → source}/workspace/ProjectError.ts +0 -0
- package/{src → source}/workspace/ProjectOptions.ts +0 -0
- package/{src → source}/workspace/ProjectUpdateOptions.ts +0 -0
- package/{src → source}/workspace/WorkspaceConfig.ts +0 -0
- package/{src → source}/workspace/WorkspaceCreateOptions.ts +0 -0
- package/{src → source}/workspace/WorkspaceCreateProjectOptions.ts +0 -0
- package/{src → source}/workspace/WorkspaceDependenciesFromWorkspaceOptions.ts +0 -0
- package/{src → source}/workspace/WorkspaceDependenciesGetVersionsOptions.ts +0 -0
- package/{src → source}/workspace/WorkspaceDependency.ts +0 -0
- package/{src → source}/workspace/WorkspaceDependencyProject.ts +0 -0
- package/{src → source}/workspace/WorkspaceError.ts +0 -0
- package/{src → source}/workspace/WorkspaceFindAndReadOptions.ts +0 -0
- package/{src → source}/workspace/WorkspaceOptionsProject.ts +0 -0
- package/{src → source}/workspace/WorkspacePackageJson.ts +0 -0
- package/{src → source}/workspace/WorkspaceProjectGlobs.ts +0 -0
- package/{src → source}/workspace/WorkspaceProjects.ts +0 -0
- package/{src → source}/workspace/WorkspaceRepository.ts +0 -0
- package/{src → source}/workspace/WorkspaceUpdateOptions.ts +0 -0
- package/{src → source}/workspace/internals/compareProjectPath.ts +0 -0
- package/{src → source}/workspace/internals/compareWorkspaceDependencyProjectName.ts +0 -0
- package/{src → source}/workspace/internals/containsProject.ts +0 -0
- package/{src → source}/workspace/internals/containsWorkspace.ts +0 -0
- package/{src → source}/workspace/internals/getRepositoryBranches.ts +0 -0
- package/{src → source}/workspace/internals/getRepositoryUrl.ts +0 -0
- package/{src → source}/workspace/internals.ts +0 -0
- package/{src → source}/workspace/saveProjectConfig.ts +1 -1
- package/{src → source}/workspace/saveWorkspaceConfig.ts +1 -1
- /package/{src → source}/workspace.ts +0 -0
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
import { ensureEmptyDirectory, pathToPosixPath } from '@jakubmazanec/fs-utils';
|
|
2
|
-
import { readFile, packageJsonSchema } from '@jakubmazanec/zod-utils';
|
|
3
|
-
import fs from 'fs-extra';
|
|
4
|
-
import json5 from 'json5';
|
|
5
|
-
import path from 'node:path';
|
|
6
|
-
import { z } from 'zod';
|
|
7
|
-
import { projectConfigSchema } from './ProjectConfig.js';
|
|
8
|
-
import { ProjectError } from './ProjectError.js';
|
|
9
|
-
import { saveProjectConfig } from './saveProjectConfig.js';
|
|
10
|
-
import { CARSON_CONFIG_DIRECTORY, PROJECT_CONFIG_FILENAME, PROJECT_SNAPSHOT_FILENAME } from '../constants.js';
|
|
11
|
-
import { applyTemplateRenders } from '../template/applyTemplateRenders.js';
|
|
12
|
-
import { renderCarsonTemplate } from '../template/renderCarsonTemplate.js';
|
|
13
|
-
/**
|
|
14
|
-
* Project represent a self-contained piece of software (e.g. a package, or an app) that is part of a {@link Workspace}. Currently only Node.js projects are supported.
|
|
15
|
-
*
|
|
16
|
-
* @typeParam M If true, the project belongs to a multi-project workspace.
|
|
17
|
-
*/ export class Project {
|
|
18
|
-
/** Project name. */ name;
|
|
19
|
-
/** Project path. */ path;
|
|
20
|
-
/** Project path relative to workspace path. */ relativePath;
|
|
21
|
-
/** Project configuration; if it's not found, the default is an empty object. */ config;
|
|
22
|
-
/** Parsed project `package.json` file; if it's not found, the default is an empty object. */ packageJson;
|
|
23
|
-
/** Parent {@link Workspace} instance. */ workspace;
|
|
24
|
-
/** Errors found during reading from the file system. */ errors = [];
|
|
25
|
-
constructor({ path: projectPath, name, config, packageJson, workspace, errors }){
|
|
26
|
-
// TODO: check that this path and workspace path are correct, i.e. project path must always be inside of workspace path
|
|
27
|
-
this.path = projectPath;
|
|
28
|
-
if (name) {
|
|
29
|
-
this.name = name;
|
|
30
|
-
}
|
|
31
|
-
if (config) {
|
|
32
|
-
this.config = config;
|
|
33
|
-
} else {
|
|
34
|
-
this.config = {};
|
|
35
|
-
}
|
|
36
|
-
if (packageJson) {
|
|
37
|
-
this.packageJson = packageJson;
|
|
38
|
-
} else {
|
|
39
|
-
this.packageJson = {};
|
|
40
|
-
}
|
|
41
|
-
this.workspace = workspace;
|
|
42
|
-
if (errors) {
|
|
43
|
-
this.errors = errors;
|
|
44
|
-
}
|
|
45
|
-
if (this.packageJson.name?.length) {
|
|
46
|
-
this.name = this.packageJson.name;
|
|
47
|
-
}
|
|
48
|
-
this.relativePath = pathToPosixPath(path.relative(this.workspace.path, this.path));
|
|
49
|
-
}
|
|
50
|
-
static async create({ templateId, workspace, projectPath, projectName, args }) {
|
|
51
|
-
let project = new this({
|
|
52
|
-
path: projectPath,
|
|
53
|
-
name: projectName,
|
|
54
|
-
config: {
|
|
55
|
-
template: templateId
|
|
56
|
-
},
|
|
57
|
-
workspace
|
|
58
|
-
});
|
|
59
|
-
// if the workspace is single-project, it shares a directory with the project, so we can't insist on it being an empty directory
|
|
60
|
-
if (workspace.isMultiProject) {
|
|
61
|
-
try {
|
|
62
|
-
await ensureEmptyDirectory(project.path);
|
|
63
|
-
} catch {
|
|
64
|
-
throw new ProjectError('PROJECT_PATH_NOT_EMPTY', {
|
|
65
|
-
messageParameters: [
|
|
66
|
-
project.path
|
|
67
|
-
],
|
|
68
|
-
data: {
|
|
69
|
-
path: project.path
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
let templateRenders = await renderCarsonTemplate({
|
|
75
|
-
templateId,
|
|
76
|
-
templateData: {
|
|
77
|
-
workspace,
|
|
78
|
-
project,
|
|
79
|
-
args
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
await applyTemplateRenders({
|
|
83
|
-
templateRenders,
|
|
84
|
-
targetPath: project.path,
|
|
85
|
-
snapshotPath: path.join(project.path, CARSON_CONFIG_DIRECTORY, PROJECT_SNAPSHOT_FILENAME),
|
|
86
|
-
ignoreStrategies: [
|
|
87
|
-
'check'
|
|
88
|
-
]
|
|
89
|
-
});
|
|
90
|
-
await saveProjectConfig({
|
|
91
|
-
projectPath: project.path,
|
|
92
|
-
projectConfig: {
|
|
93
|
-
template: templateId
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
await project.read();
|
|
97
|
-
return project;
|
|
98
|
-
}
|
|
99
|
-
static async read(projectPath, workspace) {
|
|
100
|
-
let project = new this({
|
|
101
|
-
path: projectPath,
|
|
102
|
-
workspace
|
|
103
|
-
});
|
|
104
|
-
await project.read();
|
|
105
|
-
return project;
|
|
106
|
-
}
|
|
107
|
-
async read() {
|
|
108
|
-
if (!await fs.pathExists(this.path)) {
|
|
109
|
-
throw new ProjectError('NO_SUCH_PROJECT_PATH', {
|
|
110
|
-
messageParameters: [
|
|
111
|
-
this.path
|
|
112
|
-
],
|
|
113
|
-
data: {
|
|
114
|
-
path: this.path
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
let errors = [];
|
|
119
|
-
// load project config
|
|
120
|
-
let projectConfigPath = path.join(this.path, CARSON_CONFIG_DIRECTORY, PROJECT_CONFIG_FILENAME);
|
|
121
|
-
let doesProjectConfigExist = await fs.pathExists(projectConfigPath);
|
|
122
|
-
let projectConfig;
|
|
123
|
-
if (doesProjectConfigExist) {
|
|
124
|
-
projectConfig = await readFile(projectConfigPath, projectConfigSchema, {
|
|
125
|
-
parser: (rawString)=>json5.parse(rawString)
|
|
126
|
-
});
|
|
127
|
-
} else {
|
|
128
|
-
projectConfig = {};
|
|
129
|
-
}
|
|
130
|
-
if (projectConfig instanceof z.ZodError) {
|
|
131
|
-
let zodError = projectConfig;
|
|
132
|
-
errors.push(new ProjectError('INVALID_PROJECT_CONFIG', {
|
|
133
|
-
messageParameters: [
|
|
134
|
-
projectConfigPath
|
|
135
|
-
],
|
|
136
|
-
data: {
|
|
137
|
-
path: projectConfigPath,
|
|
138
|
-
zodIssues: zodError.issues
|
|
139
|
-
}
|
|
140
|
-
}));
|
|
141
|
-
projectConfig = {};
|
|
142
|
-
}
|
|
143
|
-
// load package.json
|
|
144
|
-
let packageJsonPath = path.join(this.path, 'package.json');
|
|
145
|
-
let doesPackageJsonExist = await fs.pathExists(packageJsonPath);
|
|
146
|
-
let packageJson;
|
|
147
|
-
if (doesPackageJsonExist) {
|
|
148
|
-
packageJson = await readFile(packageJsonPath, packageJsonSchema, {
|
|
149
|
-
parser: (rawString)=>json5.parse(rawString)
|
|
150
|
-
});
|
|
151
|
-
} else {
|
|
152
|
-
packageJson = {};
|
|
153
|
-
}
|
|
154
|
-
if (packageJson instanceof z.ZodError) {
|
|
155
|
-
let zodError = packageJson;
|
|
156
|
-
errors.push(new ProjectError('INVALID_PACKAGE_JSON', {
|
|
157
|
-
messageParameters: [
|
|
158
|
-
packageJsonPath
|
|
159
|
-
],
|
|
160
|
-
data: {
|
|
161
|
-
path: packageJsonPath,
|
|
162
|
-
zodIssues: zodError.issues
|
|
163
|
-
}
|
|
164
|
-
}));
|
|
165
|
-
packageJson = {};
|
|
166
|
-
}
|
|
167
|
-
if (packageJson.name?.length) {
|
|
168
|
-
this.name = packageJson.name;
|
|
169
|
-
}
|
|
170
|
-
this.config = projectConfig;
|
|
171
|
-
this.packageJson = packageJson;
|
|
172
|
-
this.errors = errors;
|
|
173
|
-
return this;
|
|
174
|
-
}
|
|
175
|
-
async update({ args }) {
|
|
176
|
-
if (!this.config.template) {
|
|
177
|
-
throw new ProjectError('MISSING_CARSON_TEMPLATE_ID', {
|
|
178
|
-
messageParameters: [
|
|
179
|
-
path.join(this.path, CARSON_CONFIG_DIRECTORY, PROJECT_CONFIG_FILENAME)
|
|
180
|
-
]
|
|
181
|
-
});
|
|
182
|
-
}
|
|
183
|
-
let templateRenders = await renderCarsonTemplate({
|
|
184
|
-
templateId: this.config.template,
|
|
185
|
-
templateData: {
|
|
186
|
-
workspace: this.workspace,
|
|
187
|
-
project: this,
|
|
188
|
-
args
|
|
189
|
-
}
|
|
190
|
-
});
|
|
191
|
-
await applyTemplateRenders({
|
|
192
|
-
templateRenders,
|
|
193
|
-
targetPath: this.path,
|
|
194
|
-
snapshotPath: path.join(this.path, CARSON_CONFIG_DIRECTORY, PROJECT_SNAPSHOT_FILENAME),
|
|
195
|
-
ignoreStrategies: [
|
|
196
|
-
'create'
|
|
197
|
-
]
|
|
198
|
-
});
|
|
199
|
-
await this.read();
|
|
200
|
-
return this;
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
//# sourceMappingURL=Project.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/workspace/Project.ts"],"sourcesContent":["import {ensureEmptyDirectory, pathToPosixPath} from '@jakubmazanec/fs-utils';\nimport {readFile, packageJsonSchema, type PackageJson} from '@jakubmazanec/zod-utils';\nimport fs from 'fs-extra';\nimport json5 from 'json5';\nimport path from 'node:path';\nimport {z} from 'zod';\n\nimport {type ProjectConfig, projectConfigSchema} from './ProjectConfig.js';\nimport {type ProjectCreateOptions} from './ProjectCreateOptions.js';\nimport {ProjectError} from './ProjectError.js';\nimport {type ProjectOptions} from './ProjectOptions.js';\nimport {type ProjectUpdateOptions} from './ProjectUpdateOptions.js';\nimport {saveProjectConfig} from './saveProjectConfig.js';\nimport {type Workspace} from './Workspace.js';\nimport {\n CARSON_CONFIG_DIRECTORY,\n PROJECT_CONFIG_FILENAME,\n PROJECT_SNAPSHOT_FILENAME,\n} from '../constants.js';\nimport {applyTemplateRenders} from '../template/applyTemplateRenders.js';\nimport {renderCarsonTemplate} from '../template/renderCarsonTemplate.js';\n\n/**\n * Project represent a self-contained piece of software (e.g. a package, or an app) that is part of a {@link Workspace}. Currently only Node.js projects are supported.\n *\n * @typeParam M If true, the project belongs to a multi-project workspace.\n */\nexport class Project<M extends boolean = true> {\n /** Project name. */\n name?: string;\n\n /** Project path. */\n path: string;\n\n /** Project path relative to workspace path. */\n relativePath: string;\n\n /** Project configuration; if it's not found, the default is an empty object. */\n config: ProjectConfig;\n\n /** Parsed project `package.json` file; if it's not found, the default is an empty object. */\n packageJson: PackageJson;\n\n /** Parent {@link Workspace} instance. */\n workspace: Workspace<M>;\n\n /** Errors found during reading from the file system. */\n errors: Array<InstanceType<typeof ProjectError>> = [];\n\n constructor({\n path: projectPath,\n name,\n config,\n packageJson,\n workspace,\n errors,\n }: ProjectOptions<M>) {\n // TODO: check that this path and workspace path are correct, i.e. project path must always be inside of workspace path\n this.path = projectPath;\n\n if (name) {\n this.name = name;\n }\n\n if (config) {\n this.config = config;\n } else {\n this.config = {};\n }\n\n if (packageJson) {\n this.packageJson = packageJson;\n } else {\n this.packageJson = {};\n }\n\n this.workspace = workspace;\n\n if (errors) {\n this.errors = errors;\n }\n\n if (this.packageJson.name?.length) {\n this.name = this.packageJson.name;\n }\n\n this.relativePath = pathToPosixPath(path.relative(this.workspace.path, this.path));\n }\n\n static async create<M extends boolean>({\n templateId,\n workspace,\n projectPath,\n projectName,\n args,\n }: ProjectCreateOptions<M>): Promise<Project<M>> {\n let project = new this({\n path: projectPath,\n name: projectName,\n config: {\n template: templateId,\n },\n workspace,\n });\n\n // if the workspace is single-project, it shares a directory with the project, so we can't insist on it being an empty directory\n if (workspace.isMultiProject) {\n try {\n await ensureEmptyDirectory(project.path);\n } catch {\n throw new ProjectError('PROJECT_PATH_NOT_EMPTY', {\n messageParameters: [project.path],\n data: {\n path: project.path,\n },\n });\n }\n }\n\n let templateRenders = await renderCarsonTemplate({\n templateId,\n templateData: {\n workspace,\n project,\n args,\n },\n });\n\n await applyTemplateRenders({\n templateRenders,\n targetPath: project.path,\n snapshotPath: path.join(project.path, CARSON_CONFIG_DIRECTORY, PROJECT_SNAPSHOT_FILENAME),\n ignoreStrategies: ['check'],\n });\n\n await saveProjectConfig({projectPath: project.path, projectConfig: {template: templateId}});\n\n await project.read();\n\n return project;\n }\n\n static async read<M extends boolean>(\n projectPath: string,\n workspace: Workspace<M>,\n ): Promise<Project<M>> {\n let project = new this({\n path: projectPath,\n workspace,\n });\n\n await project.read();\n\n return project;\n }\n\n async read() {\n if (!(await fs.pathExists(this.path))) {\n throw new ProjectError('NO_SUCH_PROJECT_PATH', {\n messageParameters: [this.path],\n data: {\n path: this.path,\n },\n });\n }\n\n let errors: Array<InstanceType<typeof ProjectError>> = [];\n\n // load project config\n let projectConfigPath = path.join(this.path, CARSON_CONFIG_DIRECTORY, PROJECT_CONFIG_FILENAME);\n let doesProjectConfigExist = await fs.pathExists(projectConfigPath);\n let projectConfig: ProjectConfig | z.ZodError;\n\n if (doesProjectConfigExist) {\n projectConfig = await readFile(projectConfigPath, projectConfigSchema, {\n parser: (rawString: string) => json5.parse<unknown>(rawString),\n });\n } else {\n projectConfig = {};\n }\n\n if (projectConfig instanceof z.ZodError) {\n let zodError = projectConfig;\n\n errors.push(\n new ProjectError('INVALID_PROJECT_CONFIG', {\n messageParameters: [projectConfigPath],\n data: {\n path: projectConfigPath,\n zodIssues: zodError.issues,\n },\n }),\n );\n\n projectConfig = {};\n }\n\n // load package.json\n let packageJsonPath = path.join(this.path, 'package.json');\n let doesPackageJsonExist = await fs.pathExists(packageJsonPath);\n let packageJson: PackageJson | z.ZodError;\n\n if (doesPackageJsonExist) {\n packageJson = await readFile(packageJsonPath, packageJsonSchema, {\n parser: (rawString: string) => json5.parse<unknown>(rawString),\n });\n } else {\n packageJson = {};\n }\n\n if (packageJson instanceof z.ZodError) {\n let zodError = packageJson;\n\n errors.push(\n new ProjectError('INVALID_PACKAGE_JSON', {\n messageParameters: [packageJsonPath],\n data: {\n path: packageJsonPath,\n zodIssues: zodError.issues,\n },\n }),\n );\n\n packageJson = {};\n }\n\n if (packageJson.name?.length) {\n this.name = packageJson.name;\n }\n\n this.config = projectConfig;\n this.packageJson = packageJson;\n this.errors = errors;\n\n return this;\n }\n\n async update({args}: ProjectUpdateOptions): Promise<this> {\n if (!this.config.template) {\n throw new ProjectError('MISSING_CARSON_TEMPLATE_ID', {\n messageParameters: [path.join(this.path, CARSON_CONFIG_DIRECTORY, PROJECT_CONFIG_FILENAME)],\n });\n }\n\n let templateRenders = await renderCarsonTemplate({\n templateId: this.config.template,\n templateData: {\n workspace: this.workspace,\n project: this,\n args,\n },\n });\n\n await applyTemplateRenders({\n templateRenders,\n targetPath: this.path,\n snapshotPath: path.join(this.path, CARSON_CONFIG_DIRECTORY, PROJECT_SNAPSHOT_FILENAME),\n ignoreStrategies: ['create'],\n });\n\n await this.read();\n\n return this;\n }\n}\n"],"names":["ensureEmptyDirectory","pathToPosixPath","readFile","packageJsonSchema","fs","json5","path","z","projectConfigSchema","ProjectError","saveProjectConfig","CARSON_CONFIG_DIRECTORY","PROJECT_CONFIG_FILENAME","PROJECT_SNAPSHOT_FILENAME","applyTemplateRenders","renderCarsonTemplate","Project","name","relativePath","config","packageJson","workspace","errors","constructor","projectPath","length","relative","create","templateId","projectName","args","project","template","isMultiProject","messageParameters","data","templateRenders","templateData","targetPath","snapshotPath","join","ignoreStrategies","projectConfig","read","pathExists","projectConfigPath","doesProjectConfigExist","parser","rawString","parse","ZodError","zodError","push","zodIssues","issues","packageJsonPath","doesPackageJsonExist","update"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/workspace/ProjectConfig.ts"],"sourcesContent":["import {z} from 'zod';\n\nexport const projectConfigSchema = z\n .object({\n template: z.string().optional(),\n })\n .catchall(z.unknown());\n\n/**\n * A project configuration.\n */\nexport type ProjectConfig = z.infer<typeof projectConfigSchema>;\n"],"names":["z","projectConfigSchema","object","template","string","optional","catchall","unknown"],"mappings":"AAAA,SAAQA,CAAC,QAAO,MAAM;AAEtB,OAAO,MAAMC,sBAAsBD,EAChCE,MAAM,CAAC;IACNC,UAAUH,EAAEI,MAAM,GAAGC,QAAQ;AAC/B,GACCC,QAAQ,CAACN,EAAEO,OAAO,IAAI"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/workspace/ProjectCreateOptions.ts"],"sourcesContent":["import {type Workspace} from './Workspace.js';\n\n/**\n * {@link Project.create | Project.create} options parameter.\n */\nexport type ProjectCreateOptions<M extends boolean> = {\n templateId: string;\n workspace: Workspace<M>;\n projectPath: string;\n projectName: string;\n args: Record<string, unknown>;\n};\n"],"names":[],"mappings":"AAAA,WAWE"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { createCustomErrorWithData } from '@jakubmazanec/error';
|
|
2
|
-
/**
|
|
3
|
-
* A subclass of `Error` that indicates a project failure.
|
|
4
|
-
*/ export const ProjectError = createCustomErrorWithData('ProjectError', {
|
|
5
|
-
INVALID_PACKAGE_JSON: 'Invalid package.json file "{0}".',
|
|
6
|
-
INVALID_PROJECT_CONFIG: 'Invalid project config file "{0}".',
|
|
7
|
-
NO_SUCH_PROJECT_PATH: 'Project path "{0}" doesn\'t exist.',
|
|
8
|
-
PROJECT_PATH_NOT_EMPTY: 'Project path "{0}" must be an empty directory.',
|
|
9
|
-
MISSING_CARSON_TEMPLATE_ID: 'Project config "{0}" is missing the Carson template ID.'
|
|
10
|
-
}, class ProjectErrorData {
|
|
11
|
-
path;
|
|
12
|
-
zodIssues;
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
//# sourceMappingURL=ProjectError.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/workspace/ProjectError.ts"],"sourcesContent":["import {createCustomErrorWithData} from '@jakubmazanec/error';\nimport {type ZodIssue} from 'zod';\n\n/**\n * A subclass of `Error` that indicates a project failure.\n */\nexport const ProjectError = createCustomErrorWithData(\n 'ProjectError',\n {\n INVALID_PACKAGE_JSON: 'Invalid package.json file \"{0}\".',\n INVALID_PROJECT_CONFIG: 'Invalid project config file \"{0}\".',\n NO_SUCH_PROJECT_PATH: 'Project path \"{0}\" doesn\\'t exist.',\n PROJECT_PATH_NOT_EMPTY: 'Project path \"{0}\" must be an empty directory.',\n MISSING_CARSON_TEMPLATE_ID: 'Project config \"{0}\" is missing the Carson template ID.',\n },\n class ProjectErrorData {\n path?: string;\n zodIssues?: ZodIssue[];\n },\n);\n"],"names":["createCustomErrorWithData","ProjectError","INVALID_PACKAGE_JSON","INVALID_PROJECT_CONFIG","NO_SUCH_PROJECT_PATH","PROJECT_PATH_NOT_EMPTY","MISSING_CARSON_TEMPLATE_ID","ProjectErrorData","path","zodIssues"],"mappings":"AAAA,SAAQA,yBAAyB,QAAO,sBAAsB;AAG9D;;CAEC,GACD,OAAO,MAAMC,eAAeD,0BAC1B,gBACA;IACEE,sBAAsB;IACtBC,wBAAwB;IACxBC,sBAAsB;IACtBC,wBAAwB;IACxBC,4BAA4B;AAC9B,GACA,MAAMC;IACJC,KAAc;IACdC,UAAuB;AACzB,GACA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/workspace/ProjectOptions.ts"],"sourcesContent":["import {type PackageJson} from '@jakubmazanec/zod-utils';\n\nimport {type ProjectConfig} from './ProjectConfig.js';\nimport {type ProjectError} from './ProjectError.js';\nimport {type Workspace} from './Workspace.js';\n\n/**\n * {@link Project.constructor | Project constructor} options parameter.\n */\nexport type ProjectOptions<M extends boolean> = {\n path: string;\n name?: string;\n config?: ProjectConfig;\n packageJson?: PackageJson;\n workspace: Workspace<M>;\n errors?: Array<InstanceType<typeof ProjectError>>;\n};\n"],"names":[],"mappings":"AAAA,WAgBE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/workspace/ProjectUpdateOptions.ts"],"sourcesContent":["/**\n * {@link Project.update | Project.update} options parameter.\n */\nexport type ProjectUpdateOptions = {\n args: Record<string, unknown>;\n};\n"],"names":[],"mappings":"AAAA;;CAEC,GACD,WAEE"}
|