@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
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
export * from "./template/applyTemplateRenders.js";
|
|
3
|
+
export * from "./template/CarsonTemplate.js";
|
|
4
|
+
export * from "./template/CarsonTemplateConfig.js";
|
|
5
|
+
export * from "./template/CarsonTemplateError.js";
|
|
6
|
+
export * from "./template/renderCarsonTemplate.js";
|
|
7
|
+
export * from "./template/TemplateAttributes.js";
|
|
8
|
+
export * from "./template/TemplateData.js";
|
|
9
|
+
export * from "./template/TemplateRender.js";
|
|
10
|
+
export * from "./template/TemplateRenders.js";
|
|
11
|
+
//# sourceMappingURL=template.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../source/template.ts"],
|
|
4
|
+
"sourcesContent": ["export * from './template/applyTemplateRenders.js';\nexport * from './template/CarsonTemplate.js';\nexport * from './template/CarsonTemplateConfig.js';\nexport * from './template/CarsonTemplateError.js';\nexport * from './template/renderCarsonTemplate.js';\nexport * from './template/TemplateAttributes.js';\nexport * from './template/TemplateData.js';\nexport * from './template/TemplateRender.js';\nexport * from './template/TemplateRenders.js';\n"],
|
|
5
|
+
"mappings": ";AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import { ensureEmptyDirectory, pathToPosixPath } from "@jakubmazanec/fs-utils";
|
|
3
|
+
import { packageJsonSchema, readFile } from "@jakubmazanec/zod-utils";
|
|
4
|
+
import fs from "fs-extra";
|
|
5
|
+
import json5 from "json5";
|
|
6
|
+
import path from "node:path";
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
import {
|
|
9
|
+
CARSON_CONFIG_DIRECTORY,
|
|
10
|
+
PROJECT_CONFIG_FILENAME,
|
|
11
|
+
PROJECT_SNAPSHOT_FILENAME
|
|
12
|
+
} from "../constants.js";
|
|
13
|
+
import { applyTemplateRenders } from "../template/applyTemplateRenders.js";
|
|
14
|
+
import { renderCarsonTemplate } from "../template/renderCarsonTemplate.js";
|
|
15
|
+
import { projectConfigSchema } from "./ProjectConfig.js";
|
|
16
|
+
import { ProjectError } from "./ProjectError.js";
|
|
17
|
+
import { saveProjectConfig } from "./saveProjectConfig.js";
|
|
18
|
+
export class Project {
|
|
19
|
+
/** Project name. */
|
|
20
|
+
name;
|
|
21
|
+
/** Project path. */
|
|
22
|
+
path;
|
|
23
|
+
/** Project path relative to workspace path. */
|
|
24
|
+
relativePath;
|
|
25
|
+
/** Project configuration; if it's not found, the default is an empty object. */
|
|
26
|
+
config;
|
|
27
|
+
/** Parsed project `package.json` file; if it's not found, the default is an empty object. */
|
|
28
|
+
packageJson;
|
|
29
|
+
/** Parent {@link Workspace} instance. */
|
|
30
|
+
workspace;
|
|
31
|
+
/** Errors found during reading from the file system. */
|
|
32
|
+
errors = [];
|
|
33
|
+
constructor({
|
|
34
|
+
path: projectPath,
|
|
35
|
+
name,
|
|
36
|
+
config,
|
|
37
|
+
packageJson,
|
|
38
|
+
workspace,
|
|
39
|
+
errors
|
|
40
|
+
}) {
|
|
41
|
+
this.path = projectPath;
|
|
42
|
+
if (name) {
|
|
43
|
+
this.name = name;
|
|
44
|
+
}
|
|
45
|
+
if (config) {
|
|
46
|
+
this.config = config;
|
|
47
|
+
} else {
|
|
48
|
+
this.config = {};
|
|
49
|
+
}
|
|
50
|
+
if (packageJson) {
|
|
51
|
+
this.packageJson = packageJson;
|
|
52
|
+
} else {
|
|
53
|
+
this.packageJson = {};
|
|
54
|
+
}
|
|
55
|
+
this.workspace = workspace;
|
|
56
|
+
if (errors) {
|
|
57
|
+
this.errors = errors;
|
|
58
|
+
}
|
|
59
|
+
if (this.packageJson.name?.length) {
|
|
60
|
+
this.name = this.packageJson.name;
|
|
61
|
+
}
|
|
62
|
+
this.relativePath = pathToPosixPath(path.relative(this.workspace.path, this.path));
|
|
63
|
+
}
|
|
64
|
+
static async create({
|
|
65
|
+
templateId,
|
|
66
|
+
workspace,
|
|
67
|
+
projectPath,
|
|
68
|
+
projectName,
|
|
69
|
+
args
|
|
70
|
+
}) {
|
|
71
|
+
let project = new this({
|
|
72
|
+
path: projectPath,
|
|
73
|
+
name: projectName,
|
|
74
|
+
config: {
|
|
75
|
+
template: templateId
|
|
76
|
+
},
|
|
77
|
+
workspace
|
|
78
|
+
});
|
|
79
|
+
if (workspace.isMultiProject) {
|
|
80
|
+
try {
|
|
81
|
+
await ensureEmptyDirectory(project.path);
|
|
82
|
+
} catch {
|
|
83
|
+
throw new ProjectError("PROJECT_PATH_NOT_EMPTY", {
|
|
84
|
+
messageParameters: [project.path],
|
|
85
|
+
data: {
|
|
86
|
+
path: project.path
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
let templateRenders = await renderCarsonTemplate({
|
|
92
|
+
templateId,
|
|
93
|
+
templateData: {
|
|
94
|
+
workspace,
|
|
95
|
+
project,
|
|
96
|
+
args
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
await applyTemplateRenders({
|
|
100
|
+
templateRenders,
|
|
101
|
+
targetPath: project.path,
|
|
102
|
+
snapshotPath: path.join(project.path, CARSON_CONFIG_DIRECTORY, PROJECT_SNAPSHOT_FILENAME),
|
|
103
|
+
ignoreStrategies: ["check"]
|
|
104
|
+
});
|
|
105
|
+
await saveProjectConfig({ projectPath: project.path, projectConfig: { template: templateId } });
|
|
106
|
+
await project.read();
|
|
107
|
+
return project;
|
|
108
|
+
}
|
|
109
|
+
static async read(projectPath, workspace) {
|
|
110
|
+
let project = new this({
|
|
111
|
+
path: projectPath,
|
|
112
|
+
workspace
|
|
113
|
+
});
|
|
114
|
+
await project.read();
|
|
115
|
+
return project;
|
|
116
|
+
}
|
|
117
|
+
async read() {
|
|
118
|
+
if (!await fs.pathExists(this.path)) {
|
|
119
|
+
throw new ProjectError("NO_SUCH_PROJECT_PATH", {
|
|
120
|
+
messageParameters: [this.path],
|
|
121
|
+
data: {
|
|
122
|
+
path: this.path
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
let errors = [];
|
|
127
|
+
let projectConfigPath = path.join(this.path, CARSON_CONFIG_DIRECTORY, PROJECT_CONFIG_FILENAME);
|
|
128
|
+
let doesProjectConfigExist = await fs.pathExists(projectConfigPath);
|
|
129
|
+
let projectConfig;
|
|
130
|
+
if (doesProjectConfigExist) {
|
|
131
|
+
projectConfig = await readFile(projectConfigPath, projectConfigSchema, {
|
|
132
|
+
parser: (rawString) => json5.parse(rawString)
|
|
133
|
+
});
|
|
134
|
+
} else {
|
|
135
|
+
projectConfig = {};
|
|
136
|
+
}
|
|
137
|
+
if (projectConfig instanceof z.ZodError) {
|
|
138
|
+
let zodError = projectConfig;
|
|
139
|
+
errors.push(
|
|
140
|
+
new ProjectError("INVALID_PROJECT_CONFIG", {
|
|
141
|
+
messageParameters: [projectConfigPath],
|
|
142
|
+
data: {
|
|
143
|
+
path: projectConfigPath,
|
|
144
|
+
zodIssues: zodError.issues
|
|
145
|
+
}
|
|
146
|
+
})
|
|
147
|
+
);
|
|
148
|
+
projectConfig = {};
|
|
149
|
+
}
|
|
150
|
+
let packageJsonPath = path.join(this.path, "package.json");
|
|
151
|
+
let doesPackageJsonExist = await fs.pathExists(packageJsonPath);
|
|
152
|
+
let packageJson;
|
|
153
|
+
if (doesPackageJsonExist) {
|
|
154
|
+
packageJson = await readFile(packageJsonPath, packageJsonSchema, {
|
|
155
|
+
parser: (rawString) => json5.parse(rawString)
|
|
156
|
+
});
|
|
157
|
+
} else {
|
|
158
|
+
packageJson = {};
|
|
159
|
+
}
|
|
160
|
+
if (packageJson instanceof z.ZodError) {
|
|
161
|
+
let zodError = packageJson;
|
|
162
|
+
errors.push(
|
|
163
|
+
new ProjectError("INVALID_PACKAGE_JSON", {
|
|
164
|
+
messageParameters: [packageJsonPath],
|
|
165
|
+
data: {
|
|
166
|
+
path: packageJsonPath,
|
|
167
|
+
zodIssues: zodError.issues
|
|
168
|
+
}
|
|
169
|
+
})
|
|
170
|
+
);
|
|
171
|
+
packageJson = {};
|
|
172
|
+
}
|
|
173
|
+
if (packageJson.name?.length) {
|
|
174
|
+
this.name = packageJson.name;
|
|
175
|
+
}
|
|
176
|
+
this.config = projectConfig;
|
|
177
|
+
this.packageJson = packageJson;
|
|
178
|
+
this.errors = errors;
|
|
179
|
+
return this;
|
|
180
|
+
}
|
|
181
|
+
async update({ args }) {
|
|
182
|
+
if (!this.config.template) {
|
|
183
|
+
throw new ProjectError("MISSING_CARSON_TEMPLATE_ID", {
|
|
184
|
+
messageParameters: [path.join(this.path, CARSON_CONFIG_DIRECTORY, PROJECT_CONFIG_FILENAME)]
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
let templateRenders = await renderCarsonTemplate({
|
|
188
|
+
templateId: this.config.template,
|
|
189
|
+
templateData: {
|
|
190
|
+
workspace: this.workspace,
|
|
191
|
+
project: this,
|
|
192
|
+
args
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
await applyTemplateRenders({
|
|
196
|
+
templateRenders,
|
|
197
|
+
targetPath: this.path,
|
|
198
|
+
snapshotPath: path.join(this.path, CARSON_CONFIG_DIRECTORY, PROJECT_SNAPSHOT_FILENAME),
|
|
199
|
+
ignoreStrategies: ["create"]
|
|
200
|
+
});
|
|
201
|
+
await this.read();
|
|
202
|
+
return this;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
//# sourceMappingURL=Project.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../source/workspace/Project.ts"],
|
|
4
|
+
"sourcesContent": ["import {ensureEmptyDirectory, pathToPosixPath} from '@jakubmazanec/fs-utils';\nimport {type PackageJson, packageJsonSchema, readFile} from '@jakubmazanec/zod-utils';\nimport fs from 'fs-extra';\nimport json5 from 'json5';\nimport path from 'node:path';\nimport {z} from 'zod';\n\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';\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';\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"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../source/workspace/ProjectConfig.ts"],
|
|
4
|
+
"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"],
|
|
5
|
+
"mappings": ";AAAA,SAAQ,SAAQ;AAET,aAAM,sBAAsB,EAChC,OAAO;AAAA,EACN,UAAU,EAAE,OAAO,EAAE,SAAS;AAChC,CAAC,EACA,SAAS,EAAE,QAAQ,CAAC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -5,7 +5,7 @@ import { type ZodIssue } from 'zod';
|
|
|
5
5
|
export declare const ProjectError: new (code: "INVALID_PACKAGE_JSON" | "INVALID_PROJECT_CONFIG" | "NO_SUCH_PROJECT_PATH" | "PROJECT_PATH_NOT_EMPTY" | "MISSING_CARSON_TEMPLATE_ID", options?: import("@jakubmazanec/error").CustomErrorWithDataOptions<{
|
|
6
6
|
path?: string;
|
|
7
7
|
zodIssues?: ZodIssue[];
|
|
8
|
-
}> | undefined) => import("@jakubmazanec/error").CustomErrorWithData<"
|
|
8
|
+
}> | undefined) => import("@jakubmazanec/error").CustomErrorWithData<"INVALID_PACKAGE_JSON" | "INVALID_PROJECT_CONFIG" | "NO_SUCH_PROJECT_PATH" | "PROJECT_PATH_NOT_EMPTY" | "MISSING_CARSON_TEMPLATE_ID" | "UNKNOWN_ERROR", {
|
|
9
9
|
path?: string;
|
|
10
10
|
zodIssues?: ZodIssue[];
|
|
11
11
|
}>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import { createCustomErrorWithData } from "@jakubmazanec/error";
|
|
3
|
+
export const ProjectError = createCustomErrorWithData(
|
|
4
|
+
"ProjectError",
|
|
5
|
+
{
|
|
6
|
+
INVALID_PACKAGE_JSON: 'Invalid package.json file "{0}".',
|
|
7
|
+
INVALID_PROJECT_CONFIG: 'Invalid project config file "{0}".',
|
|
8
|
+
NO_SUCH_PROJECT_PATH: `Project path "{0}" doesn't exist.`,
|
|
9
|
+
PROJECT_PATH_NOT_EMPTY: 'Project path "{0}" must be an empty directory.',
|
|
10
|
+
MISSING_CARSON_TEMPLATE_ID: 'Project config "{0}" is missing the Carson template ID.'
|
|
11
|
+
},
|
|
12
|
+
class ProjectErrorData {
|
|
13
|
+
path;
|
|
14
|
+
zodIssues;
|
|
15
|
+
}
|
|
16
|
+
);
|
|
17
|
+
//# sourceMappingURL=ProjectError.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../source/workspace/ProjectError.ts"],
|
|
4
|
+
"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"],
|
|
5
|
+
"mappings": ";AAAA,SAAQ,iCAAgC;AAMjC,aAAM,eAAe;AAAA,EAC1B;AAAA,EACA;AAAA,IACE,sBAAsB;AAAA,IACtB,wBAAwB;AAAA,IACxB,sBAAsB;AAAA,IACtB,wBAAwB;AAAA,IACxB,4BAA4B;AAAA,EAC9B;AAAA,EACA,MAAM,iBAAiB;AAAA,IACrB;AAAA,IACA;AAAA,EACF;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -5,9 +5,9 @@ import { type WorkspaceCreateProjectOptions } from './WorkspaceCreateProjectOpti
|
|
|
5
5
|
import { WorkspaceDependencies } from './WorkspaceDependencies.js';
|
|
6
6
|
import { WorkspaceError } from './WorkspaceError.js';
|
|
7
7
|
import { type WorkspaceFindAndReadOptions } from './WorkspaceFindAndReadOptions.js';
|
|
8
|
-
import type
|
|
8
|
+
import { type WorkspaceOptions } from './WorkspaceOptions.js';
|
|
9
9
|
import { type WorkspacePackageJson } from './WorkspacePackageJson.js';
|
|
10
|
-
import type
|
|
10
|
+
import { type WorkspaceProjectGlobs } from './WorkspaceProjectGlobs.js';
|
|
11
11
|
import { type WorkspaceProjects } from './WorkspaceProjects.js';
|
|
12
12
|
import { type WorkspaceRepository } from './WorkspaceRepository.js';
|
|
13
13
|
import { type WorkspaceUpdateOptions } from './WorkspaceUpdateOptions.js';
|