@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,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import fs from "fs-extra";
|
|
3
|
+
import _ from "lodash";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import { CarsonTemplateError } from "../CarsonTemplateError.js";
|
|
6
|
+
import { prettify } from "./prettify.js";
|
|
7
|
+
export async function insertUsingTemplateRender(templateRender, basePath) {
|
|
8
|
+
let to = path.join(basePath, templateRender.attributes.to);
|
|
9
|
+
let extension = path.extname(to);
|
|
10
|
+
switch (extension) {
|
|
11
|
+
case ".md": {
|
|
12
|
+
if (await fs.pathExists(to)) {
|
|
13
|
+
let targetFile = await fs.readFile(to, { encoding: "utf8" });
|
|
14
|
+
let newContent = `<!-- ${templateRender.attributes.strategy[1]} -->${templateRender.content}<!-- ${templateRender.attributes.strategy[1]} -->`;
|
|
15
|
+
let oldContentRegexp = new RegExp(
|
|
16
|
+
`<!--\\s*${_.escapeRegExp(
|
|
17
|
+
templateRender.attributes.strategy[1]
|
|
18
|
+
)}\\s-->[\\s\\S]*<!--\\s*${_.escapeRegExp(templateRender.attributes.strategy[1])}\\s-->`,
|
|
19
|
+
"u"
|
|
20
|
+
);
|
|
21
|
+
let newFile = targetFile.replace(oldContentRegexp, newContent);
|
|
22
|
+
await fs.writeFile(to, await prettify(newFile, to), { encoding: "utf8" });
|
|
23
|
+
}
|
|
24
|
+
break;
|
|
25
|
+
}
|
|
26
|
+
default: {
|
|
27
|
+
throw new CarsonTemplateError("STRATEGY_UNSUPPORTED_EXTENSION", {
|
|
28
|
+
messageParameters: [
|
|
29
|
+
templateRender.attributes.strategy,
|
|
30
|
+
templateRender.template.path,
|
|
31
|
+
extension
|
|
32
|
+
],
|
|
33
|
+
data: {
|
|
34
|
+
path: templateRender.template.path
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=insertUsingTemplateRender.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../source/template/internals/insertUsingTemplateRender.ts"],
|
|
4
|
+
"sourcesContent": ["import fs from 'fs-extra';\nimport _ from 'lodash';\nimport path from 'node:path';\n\nimport {CarsonTemplateError} from '../CarsonTemplateError.js';\nimport {type TemplateRender} from '../TemplateRender.js';\nimport {prettify} from './prettify.js';\nimport {type TemplateRenderSnapshot} from './TemplateRenderSnapshot.js';\n\nexport async function insertUsingTemplateRender(\n templateRender: TemplateRender | TemplateRenderSnapshot,\n basePath: string,\n) {\n let to = path.join(basePath, templateRender.attributes.to);\n let extension = path.extname(to);\n\n switch (extension) {\n case '.md': {\n if (await fs.pathExists(to)) {\n let targetFile = await fs.readFile(to, {encoding: 'utf8'});\n let newContent = `<!-- ${templateRender.attributes.strategy[1]} -->${templateRender.content}<!-- ${templateRender.attributes.strategy[1]} -->`;\n let oldContentRegexp = new RegExp(\n `<!--\\\\s*${_.escapeRegExp(\n templateRender.attributes.strategy[1],\n )}\\\\s-->[\\\\s\\\\S]*<!--\\\\s*${_.escapeRegExp(templateRender.attributes.strategy[1])}\\\\s-->`,\n 'u',\n );\n let newFile = targetFile.replace(oldContentRegexp, newContent);\n\n await fs.writeFile(to, await prettify(newFile, to), {encoding: 'utf8'});\n }\n\n break;\n }\n\n default: {\n throw new CarsonTemplateError('STRATEGY_UNSUPPORTED_EXTENSION', {\n messageParameters: [\n templateRender.attributes.strategy,\n templateRender.template.path,\n extension,\n ],\n data: {\n path: templateRender.template.path,\n },\n });\n }\n }\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,OAAO,QAAQ;AACf,OAAO,OAAO;AACd,OAAO,UAAU;AAEjB,SAAQ,2BAA0B;AAElC,SAAQ,gBAAe;AAGvB,sBAAsB,0BACpB,gBACA,UACA;AACA,MAAI,KAAK,KAAK,KAAK,UAAU,eAAe,WAAW,EAAE;AACzD,MAAI,YAAY,KAAK,QAAQ,EAAE;AAE/B,UAAQ,WAAW;AAAA,IACjB,KAAK,OAAO;AACV,UAAI,MAAM,GAAG,WAAW,EAAE,GAAG;AAC3B,YAAI,aAAa,MAAM,GAAG,SAAS,IAAI,EAAC,UAAU,OAAM,CAAC;AACzD,YAAI,aAAa,QAAQ,eAAe,WAAW,SAAS,CAAC,CAAC,OAAO,eAAe,OAAO,QAAQ,eAAe,WAAW,SAAS,CAAC,CAAC;AACxI,YAAI,mBAAmB,IAAI;AAAA,UACzB,WAAW,EAAE;AAAA,YACX,eAAe,WAAW,SAAS,CAAC;AAAA,UACtC,CAAC,0BAA0B,EAAE,aAAa,eAAe,WAAW,SAAS,CAAC,CAAC,CAAC;AAAA,UAChF;AAAA,QACF;AACA,YAAI,UAAU,WAAW,QAAQ,kBAAkB,UAAU;AAE7D,cAAM,GAAG,UAAU,IAAI,MAAM,SAAS,SAAS,EAAE,GAAG,EAAC,UAAU,OAAM,CAAC;AAAA,MACxE;AAEA;AAAA,IACF;AAAA,IAEA,SAAS;AACP,YAAM,IAAI,oBAAoB,kCAAkC;AAAA,QAC9D,mBAAmB;AAAA,UACjB,eAAe,WAAW;AAAA,UAC1B,eAAe,SAAS;AAAA,UACxB;AAAA,QACF;AAAA,QACA,MAAM;AAAA,UACJ,MAAM,eAAe,SAAS;AAAA,QAChC;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import { inflateSync, strFromU8 } from "fflate";
|
|
3
|
+
import fs from "fs-extra";
|
|
4
|
+
import { templateRenderSnapshotsSchema } from "./TemplateRenderSnapshots.js";
|
|
5
|
+
export async function loadTemplateRenderSnapshots(templateRenderSnapshotsPath) {
|
|
6
|
+
let compressedSnapshots = await fs.readFile(templateRenderSnapshotsPath);
|
|
7
|
+
let decompressedSnapshots = inflateSync(new Uint8Array(compressedSnapshots));
|
|
8
|
+
let parsingResult = templateRenderSnapshotsSchema.safeParse(
|
|
9
|
+
JSON.parse(strFromU8(decompressedSnapshots))
|
|
10
|
+
);
|
|
11
|
+
if (!parsingResult.success) {
|
|
12
|
+
throw parsingResult.error;
|
|
13
|
+
}
|
|
14
|
+
return parsingResult.data;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=loadTemplateRenderSnapshots.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../source/template/internals/loadTemplateRenderSnapshots.ts"],
|
|
4
|
+
"sourcesContent": ["import {inflateSync, strFromU8} from 'fflate';\nimport fs from 'fs-extra';\n\nimport {templateRenderSnapshotsSchema} from './TemplateRenderSnapshots.js';\n\nexport async function loadTemplateRenderSnapshots(templateRenderSnapshotsPath: string) {\n let compressedSnapshots = await fs.readFile(templateRenderSnapshotsPath);\n let decompressedSnapshots = inflateSync(new Uint8Array(compressedSnapshots));\n let parsingResult = templateRenderSnapshotsSchema.safeParse(\n JSON.parse(strFromU8(decompressedSnapshots)),\n );\n\n if (!parsingResult.success) {\n throw parsingResult.error;\n }\n\n return parsingResult.data;\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAQ,aAAa,iBAAgB;AACrC,OAAO,QAAQ;AAEf,SAAQ,qCAAoC;AAE5C,sBAAsB,4BAA4B,6BAAqC;AACrF,MAAI,sBAAsB,MAAM,GAAG,SAAS,2BAA2B;AACvE,MAAI,wBAAwB,YAAY,IAAI,WAAW,mBAAmB,CAAC;AAC3E,MAAI,gBAAgB,8BAA8B;AAAA,IAChD,KAAK,MAAM,UAAU,qBAAqB,CAAC;AAAA,EAC7C;AAEA,MAAI,CAAC,cAAc,SAAS;AAC1B,UAAM,cAAc;AAAA,EACtB;AAEA,SAAO,cAAc;AACvB;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
export function merge(a, b) {
|
|
3
|
+
if (b === void 0 || b == null) {
|
|
4
|
+
return a;
|
|
5
|
+
}
|
|
6
|
+
if (typeof b !== "object" || Array.isArray(b)) {
|
|
7
|
+
return a;
|
|
8
|
+
}
|
|
9
|
+
if (a === void 0 || a == null) {
|
|
10
|
+
return a;
|
|
11
|
+
}
|
|
12
|
+
if (typeof a !== "object" || Array.isArray(a)) {
|
|
13
|
+
return a;
|
|
14
|
+
}
|
|
15
|
+
const newA = { ...a };
|
|
16
|
+
for (let [key, value] of Object.entries(b)) {
|
|
17
|
+
if (a[key] && typeof a[key] === "object" && !Array.isArray(a[key]) && b[key] && typeof b[key] === "object" && !Array.isArray(b[key])) {
|
|
18
|
+
const result = merge(
|
|
19
|
+
a[key],
|
|
20
|
+
b[key]
|
|
21
|
+
);
|
|
22
|
+
newA[key] = result;
|
|
23
|
+
} else {
|
|
24
|
+
newA[key] = value;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return newA;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=merge.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../source/template/internals/merge.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Merges two JSON-like variables. Only simple objects, not arrays, are merged recursively.\n */\nexport function merge(a: unknown, b: unknown) {\n if (b === undefined || b == null) {\n return a;\n }\n\n if (typeof b !== 'object' || Array.isArray(b)) {\n return a;\n }\n\n if (a === undefined || a == null) {\n return a;\n }\n\n if (typeof a !== 'object' || Array.isArray(a)) {\n return a;\n }\n\n const newA: Record<string, unknown> = {...a};\n\n for (let [key, value] of Object.entries(b)) {\n if (\n (a as Record<string, unknown>)[key] &&\n typeof (a as Record<string, unknown>)[key] === 'object' &&\n !Array.isArray((a as Record<string, unknown>)[key]) &&\n (b as Record<string, unknown>)[key] &&\n typeof (b as Record<string, unknown>)[key] === 'object' &&\n !Array.isArray((b as Record<string, unknown>)[key])\n ) {\n const result = merge(\n (a as Record<string, unknown>)[key],\n (b as Record<string, unknown>)[key],\n );\n\n newA[key] = result;\n } else {\n newA[key] = value;\n }\n }\n\n return newA;\n}\n"],
|
|
5
|
+
"mappings": ";AAGO,gBAAS,MAAM,GAAY,GAAY;AAC5C,MAAI,MAAM,UAAa,KAAK,MAAM;AAChC,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,MAAM,YAAY,MAAM,QAAQ,CAAC,GAAG;AAC7C,WAAO;AAAA,EACT;AAEA,MAAI,MAAM,UAAa,KAAK,MAAM;AAChC,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,MAAM,YAAY,MAAM,QAAQ,CAAC,GAAG;AAC7C,WAAO;AAAA,EACT;AAEA,QAAM,OAAgC,EAAC,GAAG,EAAC;AAE3C,WAAS,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,CAAC,GAAG;AAC1C,QACG,EAA8B,GAAG,KAClC,OAAQ,EAA8B,GAAG,MAAM,YAC/C,CAAC,MAAM,QAAS,EAA8B,GAAG,CAAC,KACjD,EAA8B,GAAG,KAClC,OAAQ,EAA8B,GAAG,MAAM,YAC/C,CAAC,MAAM,QAAS,EAA8B,GAAG,CAAC,GAClD;AACA,YAAM,SAAS;AAAA,QACZ,EAA8B,GAAG;AAAA,QACjC,EAA8B,GAAG;AAAA,MACpC;AAEA,WAAK,GAAG,IAAI;AAAA,IACd,OAAO;AACL,WAAK,GAAG,IAAI;AAAA,IACd;AAAA,EACF;AAEA,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import fs from "fs-extra";
|
|
3
|
+
import json from "json5";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import yaml from "yaml";
|
|
6
|
+
import { CarsonTemplateError } from "../CarsonTemplateError.js";
|
|
7
|
+
import { merge } from "./merge.js";
|
|
8
|
+
import { prettify } from "./prettify.js";
|
|
9
|
+
export async function mergeUsingTemplateRender(templateRender, basePath) {
|
|
10
|
+
let to = path.join(basePath, templateRender.attributes.to);
|
|
11
|
+
let extension = path.extname(to);
|
|
12
|
+
switch (extension) {
|
|
13
|
+
case ".json": {
|
|
14
|
+
if (await fs.pathExists(to)) {
|
|
15
|
+
let targetFile = await fs.readJson(to);
|
|
16
|
+
let fileToMerge = json.parse(templateRender.content);
|
|
17
|
+
let newFile = JSON.stringify(merge(targetFile, fileToMerge), null, 2);
|
|
18
|
+
await fs.writeFile(to, await prettify(newFile, to), { encoding: "utf8" });
|
|
19
|
+
} else {
|
|
20
|
+
await fs.writeFile(to, await prettify(templateRender.content, to), { encoding: "utf8" });
|
|
21
|
+
}
|
|
22
|
+
break;
|
|
23
|
+
}
|
|
24
|
+
case ".yaml": {
|
|
25
|
+
if (await fs.pathExists(to)) {
|
|
26
|
+
let targetFile = yaml.parse(await fs.readFile(to, { encoding: "utf8" }));
|
|
27
|
+
let fileToMerge = yaml.parse(templateRender.content);
|
|
28
|
+
let newFile = yaml.stringify(merge(targetFile, fileToMerge));
|
|
29
|
+
await fs.writeFile(to, await prettify(newFile, to), { encoding: "utf8" });
|
|
30
|
+
} else {
|
|
31
|
+
await fs.writeFile(to, await prettify(templateRender.content, to), { encoding: "utf8" });
|
|
32
|
+
}
|
|
33
|
+
break;
|
|
34
|
+
}
|
|
35
|
+
default: {
|
|
36
|
+
throw new CarsonTemplateError("STRATEGY_UNSUPPORTED_EXTENSION", {
|
|
37
|
+
messageParameters: [
|
|
38
|
+
templateRender.attributes.strategy,
|
|
39
|
+
templateRender.template.path,
|
|
40
|
+
extension
|
|
41
|
+
],
|
|
42
|
+
data: {
|
|
43
|
+
path: templateRender.template.path
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=mergeUsingTemplateRender.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../source/template/internals/mergeUsingTemplateRender.ts"],
|
|
4
|
+
"sourcesContent": ["import {type Json} from '@jakubmazanec/zod-utils';\nimport fs from 'fs-extra';\nimport json from 'json5';\nimport path from 'node:path';\nimport yaml from 'yaml';\n\nimport {CarsonTemplateError} from '../CarsonTemplateError.js';\nimport {type TemplateRender} from '../TemplateRender.js';\nimport {merge} from './merge.js';\nimport {prettify} from './prettify.js';\nimport {type TemplateRenderSnapshot} from './TemplateRenderSnapshot.js';\n\nexport async function mergeUsingTemplateRender(\n templateRender: TemplateRender | TemplateRenderSnapshot,\n basePath: string,\n) {\n let to = path.join(basePath, templateRender.attributes.to);\n let extension = path.extname(to);\n\n switch (extension) {\n case '.json': {\n if (await fs.pathExists(to)) {\n let targetFile = (await fs.readJson(to)) as Json;\n let fileToMerge = json.parse<Json>(templateRender.content);\n let newFile = JSON.stringify(merge(targetFile, fileToMerge), null, 2);\n\n await fs.writeFile(to, await prettify(newFile, to), {encoding: 'utf8'});\n } else {\n await fs.writeFile(to, await prettify(templateRender.content, to), {encoding: 'utf8'});\n }\n\n break;\n }\n\n case '.yaml': {\n if (await fs.pathExists(to)) {\n let targetFile = yaml.parse(await fs.readFile(to, {encoding: 'utf8'})) as unknown;\n let fileToMerge = yaml.parse(templateRender.content) as unknown;\n let newFile = yaml.stringify(merge(targetFile, fileToMerge));\n\n await fs.writeFile(to, await prettify(newFile, to), {encoding: 'utf8'});\n } else {\n await fs.writeFile(to, await prettify(templateRender.content, to), {encoding: 'utf8'});\n }\n\n break;\n }\n\n default: {\n throw new CarsonTemplateError('STRATEGY_UNSUPPORTED_EXTENSION', {\n messageParameters: [\n templateRender.attributes.strategy,\n templateRender.template.path,\n extension,\n ],\n data: {\n path: templateRender.template.path,\n },\n });\n }\n }\n}\n"],
|
|
5
|
+
"mappings": ";AACA,OAAO,QAAQ;AACf,OAAO,UAAU;AACjB,OAAO,UAAU;AACjB,OAAO,UAAU;AAEjB,SAAQ,2BAA0B;AAElC,SAAQ,aAAY;AACpB,SAAQ,gBAAe;AAGvB,sBAAsB,yBACpB,gBACA,UACA;AACA,MAAI,KAAK,KAAK,KAAK,UAAU,eAAe,WAAW,EAAE;AACzD,MAAI,YAAY,KAAK,QAAQ,EAAE;AAE/B,UAAQ,WAAW;AAAA,IACjB,KAAK,SAAS;AACZ,UAAI,MAAM,GAAG,WAAW,EAAE,GAAG;AAC3B,YAAI,aAAc,MAAM,GAAG,SAAS,EAAE;AACtC,YAAI,cAAc,KAAK,MAAY,eAAe,OAAO;AACzD,YAAI,UAAU,KAAK,UAAU,MAAM,YAAY,WAAW,GAAG,MAAM,CAAC;AAEpE,cAAM,GAAG,UAAU,IAAI,MAAM,SAAS,SAAS,EAAE,GAAG,EAAC,UAAU,OAAM,CAAC;AAAA,MACxE,OAAO;AACL,cAAM,GAAG,UAAU,IAAI,MAAM,SAAS,eAAe,SAAS,EAAE,GAAG,EAAC,UAAU,OAAM,CAAC;AAAA,MACvF;AAEA;AAAA,IACF;AAAA,IAEA,KAAK,SAAS;AACZ,UAAI,MAAM,GAAG,WAAW,EAAE,GAAG;AAC3B,YAAI,aAAa,KAAK,MAAM,MAAM,GAAG,SAAS,IAAI,EAAC,UAAU,OAAM,CAAC,CAAC;AACrE,YAAI,cAAc,KAAK,MAAM,eAAe,OAAO;AACnD,YAAI,UAAU,KAAK,UAAU,MAAM,YAAY,WAAW,CAAC;AAE3D,cAAM,GAAG,UAAU,IAAI,MAAM,SAAS,SAAS,EAAE,GAAG,EAAC,UAAU,OAAM,CAAC;AAAA,MACxE,OAAO;AACL,cAAM,GAAG,UAAU,IAAI,MAAM,SAAS,eAAe,SAAS,EAAE,GAAG,EAAC,UAAU,OAAM,CAAC;AAAA,MACvF;AAEA;AAAA,IACF;AAAA,IAEA,SAAS;AACP,YAAM,IAAI,oBAAoB,kCAAkC;AAAA,QAC9D,mBAAmB;AAAA,UACjB,eAAe,WAAW;AAAA,UAC1B,eAAe,SAAS;AAAA,UACxB;AAAA,QACF;AAAA,QACA,MAAM;AAAA,UACJ,MAAM,eAAe,SAAS;AAAA,QAChC;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import fs from "fs-extra";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { prettify } from "./prettify.js";
|
|
5
|
+
export async function overwriteUsingTemplateRender(templateRender, basePath) {
|
|
6
|
+
let to = path.join(basePath, templateRender.attributes.to);
|
|
7
|
+
await fs.ensureDir(path.dirname(to));
|
|
8
|
+
await fs.writeFile(to, await prettify(templateRender.content, to), { encoding: "utf8" });
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=overwriteUsingTemplateRender.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../source/template/internals/overwriteUsingTemplateRender.ts"],
|
|
4
|
+
"sourcesContent": ["import fs from 'fs-extra';\nimport path from 'node:path';\n\nimport {type TemplateRender} from '../TemplateRender.js';\nimport {prettify} from './prettify.js';\nimport {type TemplateRenderSnapshot} from './TemplateRenderSnapshot.js';\n\nexport async function overwriteUsingTemplateRender(\n templateRender: TemplateRender | TemplateRenderSnapshot,\n basePath: string,\n) {\n let to = path.join(basePath, templateRender.attributes.to);\n\n await fs.ensureDir(path.dirname(to));\n await fs.writeFile(to, await prettify(templateRender.content, to), {encoding: 'utf8'});\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,OAAO,QAAQ;AACf,OAAO,UAAU;AAGjB,SAAQ,gBAAe;AAGvB,sBAAsB,6BACpB,gBACA,UACA;AACA,MAAI,KAAK,KAAK,KAAK,UAAU,eAAe,WAAW,EAAE;AAEzD,QAAM,GAAG,UAAU,KAAK,QAAQ,EAAE,CAAC;AACnC,QAAM,GAAG,UAAU,IAAI,MAAM,SAAS,eAAe,SAAS,EAAE,GAAG,EAAC,UAAU,OAAM,CAAC;AACvF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import { CarsonTemplateError } from "../CarsonTemplateError.js";
|
|
3
|
+
export function parseCarsonTemplateId(value) {
|
|
4
|
+
let parts = value.split(":");
|
|
5
|
+
if (!parts[0] || !parts[1]) {
|
|
6
|
+
throw new CarsonTemplateError("INVALID_CARSON_TEMPLATE_ID", {
|
|
7
|
+
messageParameters: [value]
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
return [parts[0], parts[1]];
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=parseCarsonTemplateId.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../source/template/internals/parseCarsonTemplateId.ts"],
|
|
4
|
+
"sourcesContent": ["import {CarsonTemplateError} from '../CarsonTemplateError.js';\n\nexport function parseCarsonTemplateId(value: string): [moduleId: string, templateName: string] {\n let parts = value.split(':');\n\n if (!parts[0] || !parts[1]) {\n throw new CarsonTemplateError('INVALID_CARSON_TEMPLATE_ID', {\n messageParameters: [value],\n });\n }\n\n return [parts[0], parts[1]];\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAQ,2BAA0B;AAE3B,gBAAS,sBAAsB,OAAyD;AAC7F,MAAI,QAAQ,MAAM,MAAM,GAAG;AAE3B,MAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG;AAC1B,UAAM,IAAI,oBAAoB,8BAA8B;AAAA,MAC1D,mBAAmB,CAAC,KAAK;AAAA,IAC3B,CAAC;AAAA,EACH;AAEA,SAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;AAC5B;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import prettier from "prettier";
|
|
3
|
+
import packageJsonPrettierPlugin from "prettier-plugin-packagejson";
|
|
4
|
+
const NO_INFERRED_PARSER = /parser.*inferred/i;
|
|
5
|
+
export async function prettify(content, targetPath) {
|
|
6
|
+
let prettifiedContent = content;
|
|
7
|
+
try {
|
|
8
|
+
let prettierOptions = await prettier.resolveConfig(targetPath, { editorconfig: true });
|
|
9
|
+
prettifiedContent = await prettier.format(content, {
|
|
10
|
+
...prettierOptions,
|
|
11
|
+
filepath: targetPath,
|
|
12
|
+
plugins: [packageJsonPrettierPlugin]
|
|
13
|
+
});
|
|
14
|
+
} catch (error) {
|
|
15
|
+
if (!NO_INFERRED_PARSER.test(error.message)) {
|
|
16
|
+
throw error;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return prettifiedContent;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=prettify.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../source/template/internals/prettify.ts"],
|
|
4
|
+
"sourcesContent": ["import prettier, {type Plugin} from 'prettier';\nimport packageJsonPrettierPlugin from 'prettier-plugin-packagejson';\n\nconst NO_INFERRED_PARSER = /parser.*inferred/i;\n\nexport async function prettify(content: string, targetPath: string) {\n let prettifiedContent = content;\n\n try {\n let prettierOptions = await prettier.resolveConfig(targetPath, {editorconfig: true});\n\n prettifiedContent = await prettier.format(content, {\n ...prettierOptions,\n filepath: targetPath,\n plugins: [packageJsonPrettierPlugin as Plugin],\n });\n } catch (error: unknown) {\n if (!NO_INFERRED_PARSER.test((error as Error).message)) {\n throw error;\n }\n }\n\n return prettifiedContent;\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,OAAO,cAA6B;AACpC,OAAO,+BAA+B;AAEtC,MAAM,qBAAqB;AAE3B,sBAAsB,SAAS,SAAiB,YAAoB;AAClE,MAAI,oBAAoB;AAExB,MAAI;AACF,QAAI,kBAAkB,MAAM,SAAS,cAAc,YAAY,EAAC,cAAc,KAAI,CAAC;AAEnF,wBAAoB,MAAM,SAAS,OAAO,SAAS;AAAA,MACjD,GAAG;AAAA,MACH,UAAU;AAAA,MACV,SAAS,CAAC,yBAAmC;AAAA,IAC/C,CAAC;AAAA,EACH,SAAS,OAAgB;AACvB,QAAI,CAAC,mBAAmB,KAAM,MAAgB,OAAO,GAAG;AACtD,YAAM;AAAA,IACR;AAAA,EACF;AAEA,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import { Template } from "@jakubmazanec/template";
|
|
3
|
+
import { readFile } from "@jakubmazanec/zod-utils";
|
|
4
|
+
import glob from "fast-glob";
|
|
5
|
+
import fs from "fs-extra";
|
|
6
|
+
import path from "node:path";
|
|
7
|
+
import { TEMPLATE_CONFIG_FILENAME, TEMPLATES_PATH } from "../../constants.js";
|
|
8
|
+
import { carsonTemplateConfigSchema } from "../CarsonTemplateConfig.js";
|
|
9
|
+
import { CarsonTemplateError } from "../CarsonTemplateError.js";
|
|
10
|
+
import { templateAttributesSchema } from "../TemplateAttributes.js";
|
|
11
|
+
import { parseCarsonTemplateId } from "./parseCarsonTemplateId.js";
|
|
12
|
+
import { resolveModule } from "./resolveModule.js";
|
|
13
|
+
export async function readCarsonTemplate(templateId) {
|
|
14
|
+
let [moduleId, templateName] = parseCarsonTemplateId(templateId);
|
|
15
|
+
let modulePath = await resolveModule(moduleId);
|
|
16
|
+
let carsonTemplatePath = path.join(modulePath, TEMPLATES_PATH, templateName);
|
|
17
|
+
if (await fs.pathExists(carsonTemplatePath)) {
|
|
18
|
+
let templateConfigPath = path.join(carsonTemplatePath, TEMPLATE_CONFIG_FILENAME);
|
|
19
|
+
let templateConfig = await readFile(templateConfigPath, carsonTemplateConfigSchema, {
|
|
20
|
+
throwOnZodError: true
|
|
21
|
+
});
|
|
22
|
+
let templateFilePaths = await glob("**/*.ejs", {
|
|
23
|
+
cwd: carsonTemplatePath,
|
|
24
|
+
dot: true
|
|
25
|
+
});
|
|
26
|
+
let carsonTemplate = {
|
|
27
|
+
name: templateName,
|
|
28
|
+
config: templateConfig,
|
|
29
|
+
files: []
|
|
30
|
+
};
|
|
31
|
+
for (let templateFilePath of templateFilePaths) {
|
|
32
|
+
carsonTemplate.files.push(
|
|
33
|
+
await Template.read(path.join(carsonTemplatePath, templateFilePath), {
|
|
34
|
+
attributesSchema: templateAttributesSchema
|
|
35
|
+
})
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
return carsonTemplate;
|
|
39
|
+
}
|
|
40
|
+
throw new CarsonTemplateError("CARSON_TEMPLATE_NOT_FOUND", {
|
|
41
|
+
messageParameters: [templateId, moduleId]
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=readCarsonTemplate.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../source/template/internals/readCarsonTemplate.ts"],
|
|
4
|
+
"sourcesContent": ["import {Template} from '@jakubmazanec/template';\nimport {readFile} from '@jakubmazanec/zod-utils';\nimport glob from 'fast-glob';\nimport fs from 'fs-extra';\nimport path from 'node:path';\n\nimport {TEMPLATE_CONFIG_FILENAME, TEMPLATES_PATH} from '../../constants.js';\nimport {type CarsonTemplate} from '../CarsonTemplate.js';\nimport {carsonTemplateConfigSchema} from '../CarsonTemplateConfig.js';\nimport {CarsonTemplateError} from '../CarsonTemplateError.js';\nimport {templateAttributesSchema} from '../TemplateAttributes.js';\nimport {parseCarsonTemplateId} from './parseCarsonTemplateId.js';\nimport {resolveModule} from './resolveModule.js';\n\nexport async function readCarsonTemplate(templateId: string): Promise<CarsonTemplate> {\n let [moduleId, templateName] = parseCarsonTemplateId(templateId);\n let modulePath = await resolveModule(moduleId);\n let carsonTemplatePath = path.join(modulePath, TEMPLATES_PATH, templateName);\n\n if (await fs.pathExists(carsonTemplatePath)) {\n let templateConfigPath = path.join(carsonTemplatePath, TEMPLATE_CONFIG_FILENAME);\n let templateConfig = await readFile(templateConfigPath, carsonTemplateConfigSchema, {\n throwOnZodError: true,\n });\n let templateFilePaths = await glob('**/*.ejs', {\n cwd: carsonTemplatePath,\n dot: true,\n });\n let carsonTemplate: CarsonTemplate = {\n name: templateName,\n config: templateConfig,\n files: [],\n };\n\n for (let templateFilePath of templateFilePaths) {\n carsonTemplate.files.push(\n await Template.read(path.join(carsonTemplatePath, templateFilePath), {\n attributesSchema: templateAttributesSchema,\n }),\n );\n }\n\n return carsonTemplate;\n }\n\n throw new CarsonTemplateError('CARSON_TEMPLATE_NOT_FOUND', {\n messageParameters: [templateId, moduleId],\n });\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAQ,gBAAe;AACvB,SAAQ,gBAAe;AACvB,OAAO,UAAU;AACjB,OAAO,QAAQ;AACf,OAAO,UAAU;AAEjB,SAAQ,0BAA0B,sBAAqB;AAEvD,SAAQ,kCAAiC;AACzC,SAAQ,2BAA0B;AAClC,SAAQ,gCAA+B;AACvC,SAAQ,6BAA4B;AACpC,SAAQ,qBAAoB;AAE5B,sBAAsB,mBAAmB,YAA6C;AACpF,MAAI,CAAC,UAAU,YAAY,IAAI,sBAAsB,UAAU;AAC/D,MAAI,aAAa,MAAM,cAAc,QAAQ;AAC7C,MAAI,qBAAqB,KAAK,KAAK,YAAY,gBAAgB,YAAY;AAE3E,MAAI,MAAM,GAAG,WAAW,kBAAkB,GAAG;AAC3C,QAAI,qBAAqB,KAAK,KAAK,oBAAoB,wBAAwB;AAC/E,QAAI,iBAAiB,MAAM,SAAS,oBAAoB,4BAA4B;AAAA,MAClF,iBAAiB;AAAA,IACnB,CAAC;AACD,QAAI,oBAAoB,MAAM,KAAK,YAAY;AAAA,MAC7C,KAAK;AAAA,MACL,KAAK;AAAA,IACP,CAAC;AACD,QAAI,iBAAiC;AAAA,MACnC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,OAAO,CAAC;AAAA,IACV;AAEA,aAAS,oBAAoB,mBAAmB;AAC9C,qBAAe,MAAM;AAAA,QACnB,MAAM,SAAS,KAAK,KAAK,KAAK,oBAAoB,gBAAgB,GAAG;AAAA,UACnE,kBAAkB;AAAA,QACpB,CAAC;AAAA,MACH;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAEA,QAAM,IAAI,oBAAoB,6BAA6B;AAAA,IACzD,mBAAmB,CAAC,YAAY,QAAQ;AAAA,EAC1C,CAAC;AACH;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import { createRequire } from "node:module";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
export async function resolveModule(moduleId) {
|
|
5
|
+
let require = createRequire(import.meta.url);
|
|
6
|
+
let modulePath = path.dirname(require.resolve(`${moduleId}/package.json`));
|
|
7
|
+
return modulePath;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=resolveModule.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../source/template/internals/resolveModule.ts"],
|
|
4
|
+
"sourcesContent": ["import {createRequire} from 'node:module';\nimport path from 'node:path';\n\nexport async function resolveModule(moduleId: string) {\n let require = createRequire(import.meta.url);\n let modulePath = path.dirname(require.resolve(`${moduleId}/package.json`));\n\n return modulePath;\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAQ,qBAAoB;AAC5B,OAAO,UAAU;AAEjB,sBAAsB,cAAc,UAAkB;AACpD,MAAI,UAAU,cAAc,YAAY,GAAG;AAC3C,MAAI,aAAa,KAAK,QAAQ,QAAQ,QAAQ,GAAG,QAAQ,eAAe,CAAC;AAEzE,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import { deflateSync, strToU8 } from "fflate";
|
|
3
|
+
import fs from "fs-extra";
|
|
4
|
+
export async function saveTemplateRenderSnapshots(templateRenders, templateRenderSnapshotsPath) {
|
|
5
|
+
let templateRendersSnapshots = [];
|
|
6
|
+
for (let templateRender of templateRenders) {
|
|
7
|
+
if (templateRender.attributes.strategy === "ensure" || templateRender.attributes.strategy === "overwrite" || templateRender.attributes.strategy === "merge" || templateRender.attributes.strategy[0] === "insert") {
|
|
8
|
+
templateRendersSnapshots.push({
|
|
9
|
+
attributes: {
|
|
10
|
+
to: templateRender.attributes.to,
|
|
11
|
+
strategy: templateRender.attributes.strategy
|
|
12
|
+
},
|
|
13
|
+
content: templateRender.content,
|
|
14
|
+
template: templateRender.template
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
await fs.writeFile(
|
|
19
|
+
templateRenderSnapshotsPath,
|
|
20
|
+
deflateSync(strToU8(JSON.stringify(templateRendersSnapshots)), { level: 1, mem: 0 })
|
|
21
|
+
);
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=saveTemplateRenderSnapshots.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../source/template/internals/saveTemplateRenderSnapshots.ts"],
|
|
4
|
+
"sourcesContent": ["import {deflateSync, strToU8} from 'fflate';\nimport fs from 'fs-extra';\n\nimport {type TemplateRenders} from '../TemplateRenders.js';\nimport {type TemplateRenderSnapshots} from './TemplateRenderSnapshots.js';\n\nexport async function saveTemplateRenderSnapshots(\n templateRenders: TemplateRenders,\n templateRenderSnapshotsPath: string,\n) {\n let templateRendersSnapshots: TemplateRenderSnapshots = [];\n\n for (let templateRender of templateRenders) {\n if (\n templateRender.attributes.strategy === 'ensure' ||\n templateRender.attributes.strategy === 'overwrite' ||\n templateRender.attributes.strategy === 'merge' ||\n templateRender.attributes.strategy[0] === 'insert'\n ) {\n templateRendersSnapshots.push({\n attributes: {\n to: templateRender.attributes.to,\n strategy: templateRender.attributes.strategy,\n },\n content: templateRender.content,\n template: templateRender.template,\n });\n }\n }\n\n await fs.writeFile(\n templateRenderSnapshotsPath,\n deflateSync(strToU8(JSON.stringify(templateRendersSnapshots)), {level: 1, mem: 0}),\n );\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAQ,aAAa,eAAc;AACnC,OAAO,QAAQ;AAKf,sBAAsB,4BACpB,iBACA,6BACA;AACA,MAAI,2BAAoD,CAAC;AAEzD,WAAS,kBAAkB,iBAAiB;AAC1C,QACE,eAAe,WAAW,aAAa,YACvC,eAAe,WAAW,aAAa,eACvC,eAAe,WAAW,aAAa,WACvC,eAAe,WAAW,SAAS,CAAC,MAAM,UAC1C;AACA,+BAAyB,KAAK;AAAA,QAC5B,YAAY;AAAA,UACV,IAAI,eAAe,WAAW;AAAA,UAC9B,UAAU,eAAe,WAAW;AAAA,QACtC;AAAA,QACA,SAAS,eAAe;AAAA,QACxB,UAAU,eAAe;AAAA,MAC3B,CAAC;AAAA,IACH;AAAA,EACF;AAEA,QAAM,GAAG;AAAA,IACP;AAAA,IACA,YAAY,QAAQ,KAAK,UAAU,wBAAwB,CAAC,GAAG,EAAC,OAAO,GAAG,KAAK,EAAC,CAAC;AAAA,EACnF;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import fs from "fs-extra";
|
|
3
|
+
import _ from "lodash";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import { CarsonTemplateError } from "../CarsonTemplateError.js";
|
|
6
|
+
import { prettify } from "./prettify.js";
|
|
7
|
+
export async function uninsertUsingTemplateRender(templateRender, basePath) {
|
|
8
|
+
let to = path.join(basePath, templateRender.attributes.to);
|
|
9
|
+
let extension = path.extname(to);
|
|
10
|
+
switch (extension) {
|
|
11
|
+
case ".md": {
|
|
12
|
+
if (await fs.pathExists(to)) {
|
|
13
|
+
let targetFile = await fs.readFile(to, { encoding: "utf8" });
|
|
14
|
+
let newContent = `<!-- ${templateRender.attributes.strategy[1]} --><!-- ${templateRender.attributes.strategy[1]} -->`;
|
|
15
|
+
let oldContentRegexp = new RegExp(
|
|
16
|
+
`<!--\\s*${_.escapeRegExp(
|
|
17
|
+
templateRender.attributes.strategy[1]
|
|
18
|
+
)}\\s-->[\\s\\S]*<!--\\s*${_.escapeRegExp(templateRender.attributes.strategy[1])}\\s-->`,
|
|
19
|
+
"u"
|
|
20
|
+
);
|
|
21
|
+
let newFile = targetFile.replace(oldContentRegexp, newContent);
|
|
22
|
+
await fs.writeFile(to, await prettify(newFile, to), { encoding: "utf8" });
|
|
23
|
+
}
|
|
24
|
+
break;
|
|
25
|
+
}
|
|
26
|
+
default: {
|
|
27
|
+
throw new CarsonTemplateError("STRATEGY_UNSUPPORTED_EXTENSION", {
|
|
28
|
+
messageParameters: [
|
|
29
|
+
templateRender.attributes.strategy,
|
|
30
|
+
templateRender.template.path,
|
|
31
|
+
extension
|
|
32
|
+
],
|
|
33
|
+
data: {
|
|
34
|
+
path: templateRender.template.path
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=uninsertUsingTemplateRender.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../source/template/internals/uninsertUsingTemplateRender.ts"],
|
|
4
|
+
"sourcesContent": ["import fs from 'fs-extra';\nimport _ from 'lodash';\nimport path from 'node:path';\n\nimport {CarsonTemplateError} from '../CarsonTemplateError.js';\nimport {type TemplateRender} from '../TemplateRender.js';\nimport {prettify} from './prettify.js';\nimport {type TemplateRenderSnapshot} from './TemplateRenderSnapshot.js';\n\nexport async function uninsertUsingTemplateRender(\n templateRender: TemplateRender | TemplateRenderSnapshot,\n basePath: string,\n) {\n let to = path.join(basePath, templateRender.attributes.to);\n let extension = path.extname(to);\n\n switch (extension) {\n case '.md': {\n if (await fs.pathExists(to)) {\n let targetFile = await fs.readFile(to, {encoding: 'utf8'});\n let newContent = `<!-- ${templateRender.attributes.strategy[1]} --><!-- ${templateRender.attributes.strategy[1]} -->`;\n let oldContentRegexp = new RegExp(\n `<!--\\\\s*${_.escapeRegExp(\n templateRender.attributes.strategy[1],\n )}\\\\s-->[\\\\s\\\\S]*<!--\\\\s*${_.escapeRegExp(templateRender.attributes.strategy[1])}\\\\s-->`,\n 'u',\n );\n let newFile = targetFile.replace(oldContentRegexp, newContent);\n\n await fs.writeFile(to, await prettify(newFile, to), {encoding: 'utf8'});\n }\n\n break;\n }\n\n default: {\n throw new CarsonTemplateError('STRATEGY_UNSUPPORTED_EXTENSION', {\n messageParameters: [\n templateRender.attributes.strategy,\n templateRender.template.path,\n extension,\n ],\n data: {\n path: templateRender.template.path,\n },\n });\n }\n }\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,OAAO,QAAQ;AACf,OAAO,OAAO;AACd,OAAO,UAAU;AAEjB,SAAQ,2BAA0B;AAElC,SAAQ,gBAAe;AAGvB,sBAAsB,4BACpB,gBACA,UACA;AACA,MAAI,KAAK,KAAK,KAAK,UAAU,eAAe,WAAW,EAAE;AACzD,MAAI,YAAY,KAAK,QAAQ,EAAE;AAE/B,UAAQ,WAAW;AAAA,IACjB,KAAK,OAAO;AACV,UAAI,MAAM,GAAG,WAAW,EAAE,GAAG;AAC3B,YAAI,aAAa,MAAM,GAAG,SAAS,IAAI,EAAC,UAAU,OAAM,CAAC;AACzD,YAAI,aAAa,QAAQ,eAAe,WAAW,SAAS,CAAC,CAAC,YAAY,eAAe,WAAW,SAAS,CAAC,CAAC;AAC/G,YAAI,mBAAmB,IAAI;AAAA,UACzB,WAAW,EAAE;AAAA,YACX,eAAe,WAAW,SAAS,CAAC;AAAA,UACtC,CAAC,0BAA0B,EAAE,aAAa,eAAe,WAAW,SAAS,CAAC,CAAC,CAAC;AAAA,UAChF;AAAA,QACF;AACA,YAAI,UAAU,WAAW,QAAQ,kBAAkB,UAAU;AAE7D,cAAM,GAAG,UAAU,IAAI,MAAM,SAAS,SAAS,EAAE,GAAG,EAAC,UAAU,OAAM,CAAC;AAAA,MACxE;AAEA;AAAA,IACF;AAAA,IAEA,SAAS;AACP,YAAM,IAAI,oBAAoB,kCAAkC;AAAA,QAC9D,mBAAmB;AAAA,UACjB,eAAe,WAAW;AAAA,UAC1B,eAAe,SAAS;AAAA,UACxB;AAAA,QACF;AAAA,QACA,MAAM;AAAA,UACJ,MAAM,eAAe,SAAS;AAAA,QAChC;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
export function unmerge(a, b) {
|
|
3
|
+
if (b === void 0 || b == null) {
|
|
4
|
+
return a;
|
|
5
|
+
}
|
|
6
|
+
if (typeof b !== "object" || Array.isArray(b)) {
|
|
7
|
+
return a;
|
|
8
|
+
}
|
|
9
|
+
if (a === void 0 || a == null) {
|
|
10
|
+
return a;
|
|
11
|
+
}
|
|
12
|
+
if (typeof a !== "object" || Array.isArray(a)) {
|
|
13
|
+
return a;
|
|
14
|
+
}
|
|
15
|
+
const newA = {};
|
|
16
|
+
for (let [key] of Object.entries(a)) {
|
|
17
|
+
if (!Object.hasOwn(b, key)) {
|
|
18
|
+
newA[key] = a[key];
|
|
19
|
+
continue;
|
|
20
|
+
} else if (a[key] && typeof a[key] === "object" && !Array.isArray(a[key]) && b[key] && typeof b[key] === "object" && !Array.isArray(b[key])) {
|
|
21
|
+
const result = unmerge(
|
|
22
|
+
a[key],
|
|
23
|
+
b[key]
|
|
24
|
+
);
|
|
25
|
+
if (Object.keys(result).length > 0) {
|
|
26
|
+
newA[key] = result;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return newA;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=unmerge.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../source/template/internals/unmerge.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Reverts {@link merge}.\n */\nexport function unmerge(a: unknown, b: unknown) {\n if (b === undefined || b == null) {\n return a;\n }\n\n if (typeof b !== 'object' || Array.isArray(b)) {\n return a;\n }\n\n if (a === undefined || a == null) {\n return a;\n }\n\n if (typeof a !== 'object' || Array.isArray(a)) {\n return a;\n }\n\n const newA: Record<string, unknown> = {};\n\n for (let [key] of Object.entries(a)) {\n if (!Object.hasOwn(b, key)) {\n newA[key] = (a as Record<string, unknown>)[key];\n\n continue;\n } else if (\n (a as Record<string, unknown>)[key] &&\n typeof (a as Record<string, unknown>)[key] === 'object' &&\n !Array.isArray((a as Record<string, unknown>)[key]) &&\n (b as Record<string, unknown>)[key] &&\n typeof (b as Record<string, unknown>)[key] === 'object' &&\n !Array.isArray((b as Record<string, unknown>)[key])\n ) {\n const result = unmerge(\n (a as Record<string, unknown>)[key],\n (b as Record<string, unknown>)[key],\n );\n\n if (Object.keys(result as Record<string, unknown>).length > 0) {\n newA[key] = result;\n }\n }\n }\n\n return newA;\n}\n"],
|
|
5
|
+
"mappings": ";AAGO,gBAAS,QAAQ,GAAY,GAAY;AAC9C,MAAI,MAAM,UAAa,KAAK,MAAM;AAChC,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,MAAM,YAAY,MAAM,QAAQ,CAAC,GAAG;AAC7C,WAAO;AAAA,EACT;AAEA,MAAI,MAAM,UAAa,KAAK,MAAM;AAChC,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,MAAM,YAAY,MAAM,QAAQ,CAAC,GAAG;AAC7C,WAAO;AAAA,EACT;AAEA,QAAM,OAAgC,CAAC;AAEvC,WAAS,CAAC,GAAG,KAAK,OAAO,QAAQ,CAAC,GAAG;AACnC,QAAI,CAAC,OAAO,OAAO,GAAG,GAAG,GAAG;AAC1B,WAAK,GAAG,IAAK,EAA8B,GAAG;AAE9C;AAAA,IACF,WACG,EAA8B,GAAG,KAClC,OAAQ,EAA8B,GAAG,MAAM,YAC/C,CAAC,MAAM,QAAS,EAA8B,GAAG,CAAC,KACjD,EAA8B,GAAG,KAClC,OAAQ,EAA8B,GAAG,MAAM,YAC/C,CAAC,MAAM,QAAS,EAA8B,GAAG,CAAC,GAClD;AACA,YAAM,SAAS;AAAA,QACZ,EAA8B,GAAG;AAAA,QACjC,EAA8B,GAAG;AAAA,MACpC;AAEA,UAAI,OAAO,KAAK,MAAiC,EAAE,SAAS,GAAG;AAC7D,aAAK,GAAG,IAAI;AAAA,MACd;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import fs from "fs-extra";
|
|
3
|
+
import json from "json5";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import yaml from "yaml";
|
|
6
|
+
import { CarsonTemplateError } from "../CarsonTemplateError.js";
|
|
7
|
+
import { prettify } from "./prettify.js";
|
|
8
|
+
import { unmerge } from "./unmerge.js";
|
|
9
|
+
export async function unmergeUsingTemplateRender(templateRender, outputPath) {
|
|
10
|
+
let to = path.join(outputPath, templateRender.attributes.to);
|
|
11
|
+
let extension = path.extname(to);
|
|
12
|
+
switch (extension) {
|
|
13
|
+
case ".json": {
|
|
14
|
+
let targetFile = await fs.readJson(to);
|
|
15
|
+
let fileToMerge = json.parse(templateRender.content);
|
|
16
|
+
let newFile = JSON.stringify(unmerge(targetFile, fileToMerge));
|
|
17
|
+
await fs.writeFile(to, await prettify(newFile, to), { encoding: "utf8" });
|
|
18
|
+
break;
|
|
19
|
+
}
|
|
20
|
+
case ".yaml": {
|
|
21
|
+
let targetFile = yaml.parse(await fs.readFile(to, { encoding: "utf8" }));
|
|
22
|
+
let fileToMerge = yaml.parse(templateRender.content);
|
|
23
|
+
let newFile = yaml.stringify(unmerge(targetFile, fileToMerge));
|
|
24
|
+
await fs.writeFile(to, await prettify(newFile, to), { encoding: "utf8" });
|
|
25
|
+
break;
|
|
26
|
+
}
|
|
27
|
+
default: {
|
|
28
|
+
throw new CarsonTemplateError("STRATEGY_UNSUPPORTED_EXTENSION", {
|
|
29
|
+
messageParameters: [
|
|
30
|
+
templateRender.attributes.strategy,
|
|
31
|
+
templateRender.template.path,
|
|
32
|
+
extension
|
|
33
|
+
],
|
|
34
|
+
data: {
|
|
35
|
+
path: templateRender.template.path
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=unmergeUsingTemplateRender.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../source/template/internals/unmergeUsingTemplateRender.ts"],
|
|
4
|
+
"sourcesContent": ["import {type Json} from '@jakubmazanec/zod-utils';\nimport fs from 'fs-extra';\nimport json from 'json5';\nimport path from 'node:path';\nimport yaml from 'yaml';\n\nimport {CarsonTemplateError} from '../CarsonTemplateError.js';\nimport {type TemplateRender} from '../TemplateRender.js';\nimport {prettify} from './prettify.js';\nimport {type TemplateRenderSnapshot} from './TemplateRenderSnapshot.js';\nimport {unmerge} from './unmerge.js';\n\nexport async function unmergeUsingTemplateRender(\n templateRender: TemplateRender | TemplateRenderSnapshot,\n outputPath: string,\n) {\n let to = path.join(outputPath, templateRender.attributes.to);\n let extension = path.extname(to);\n\n switch (extension) {\n case '.json': {\n let targetFile = (await fs.readJson(to)) as Json;\n let fileToMerge = json.parse<Json>(templateRender.content);\n let newFile = JSON.stringify(unmerge(targetFile, fileToMerge));\n\n await fs.writeFile(to, await prettify(newFile, to), {encoding: 'utf8'});\n\n break;\n }\n\n case '.yaml': {\n let targetFile = yaml.parse(await fs.readFile(to, {encoding: 'utf8'})) as unknown;\n let fileToMerge = yaml.parse(templateRender.content) as unknown;\n let newFile = yaml.stringify(unmerge(targetFile, fileToMerge));\n\n await fs.writeFile(to, await prettify(newFile, to), {encoding: 'utf8'});\n\n break;\n }\n\n default: {\n throw new CarsonTemplateError('STRATEGY_UNSUPPORTED_EXTENSION', {\n messageParameters: [\n templateRender.attributes.strategy,\n templateRender.template.path,\n extension,\n ],\n data: {\n path: templateRender.template.path,\n },\n });\n }\n }\n}\n"],
|
|
5
|
+
"mappings": ";AACA,OAAO,QAAQ;AACf,OAAO,UAAU;AACjB,OAAO,UAAU;AACjB,OAAO,UAAU;AAEjB,SAAQ,2BAA0B;AAElC,SAAQ,gBAAe;AAEvB,SAAQ,eAAc;AAEtB,sBAAsB,2BACpB,gBACA,YACA;AACA,MAAI,KAAK,KAAK,KAAK,YAAY,eAAe,WAAW,EAAE;AAC3D,MAAI,YAAY,KAAK,QAAQ,EAAE;AAE/B,UAAQ,WAAW;AAAA,IACjB,KAAK,SAAS;AACZ,UAAI,aAAc,MAAM,GAAG,SAAS,EAAE;AACtC,UAAI,cAAc,KAAK,MAAY,eAAe,OAAO;AACzD,UAAI,UAAU,KAAK,UAAU,QAAQ,YAAY,WAAW,CAAC;AAE7D,YAAM,GAAG,UAAU,IAAI,MAAM,SAAS,SAAS,EAAE,GAAG,EAAC,UAAU,OAAM,CAAC;AAEtE;AAAA,IACF;AAAA,IAEA,KAAK,SAAS;AACZ,UAAI,aAAa,KAAK,MAAM,MAAM,GAAG,SAAS,IAAI,EAAC,UAAU,OAAM,CAAC,CAAC;AACrE,UAAI,cAAc,KAAK,MAAM,eAAe,OAAO;AACnD,UAAI,UAAU,KAAK,UAAU,QAAQ,YAAY,WAAW,CAAC;AAE7D,YAAM,GAAG,UAAU,IAAI,MAAM,SAAS,SAAS,EAAE,GAAG,EAAC,UAAU,OAAM,CAAC;AAEtE;AAAA,IACF;AAAA,IAEA,SAAS;AACP,YAAM,IAAI,oBAAoB,kCAAkC;AAAA,QAC9D,mBAAmB;AAAA,UACjB,eAAe,WAAW;AAAA,UAC1B,eAAe,SAAS;AAAA,UACxB;AAAA,QACF;AAAA,QACA,MAAM;AAAA,UACJ,MAAM,eAAe,SAAS;AAAA,QAChC;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
export * from "./internals/createUsingTemplateRender.js";
|
|
3
|
+
export * from "./internals/deleteUsingTemplateRender.js";
|
|
4
|
+
export * from "./internals/importCarsonTemplate.js";
|
|
5
|
+
export * from "./internals/insertUsingTemplateRender.js";
|
|
6
|
+
export * from "./internals/loadTemplateRenderSnapshots.js";
|
|
7
|
+
export * from "./internals/merge.js";
|
|
8
|
+
export * from "./internals/mergeUsingTemplateRender.js";
|
|
9
|
+
export * from "./internals/overwriteUsingTemplateRender.js";
|
|
10
|
+
export * from "./internals/parseCarsonTemplateId.js";
|
|
11
|
+
export * from "./internals/prettify.js";
|
|
12
|
+
export * from "./internals/readCarsonTemplate.js";
|
|
13
|
+
export * from "./internals/resolveModule.js";
|
|
14
|
+
export * from "./internals/saveTemplateRenderSnapshots.js";
|
|
15
|
+
export * from "./internals/TemplateRenderSnapshot.js";
|
|
16
|
+
export * from "./internals/TemplateRenderSnapshots.js";
|
|
17
|
+
export * from "./internals/uninsertUsingTemplateRender.js";
|
|
18
|
+
export * from "./internals/unmerge.js";
|
|
19
|
+
export * from "./internals/unmergeUsingTemplateRender.js";
|
|
20
|
+
//# sourceMappingURL=internals.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../source/template/internals.ts"],
|
|
4
|
+
"sourcesContent": ["export * from './internals/createUsingTemplateRender.js';\nexport * from './internals/deleteUsingTemplateRender.js';\nexport * from './internals/importCarsonTemplate.js';\nexport * from './internals/insertUsingTemplateRender.js';\nexport * from './internals/loadTemplateRenderSnapshots.js';\nexport * from './internals/merge.js';\nexport * from './internals/mergeUsingTemplateRender.js';\nexport * from './internals/overwriteUsingTemplateRender.js';\nexport * from './internals/parseCarsonTemplateId.js';\nexport * from './internals/prettify.js';\nexport * from './internals/readCarsonTemplate.js';\nexport * from './internals/resolveModule.js';\nexport * from './internals/saveTemplateRenderSnapshots.js';\nexport * from './internals/TemplateRenderSnapshot.js';\nexport * from './internals/TemplateRenderSnapshots.js';\nexport * from './internals/uninsertUsingTemplateRender.js';\nexport * from './internals/unmerge.js';\nexport * from './internals/unmergeUsingTemplateRender.js';\n"],
|
|
5
|
+
"mappings": ";AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import { pathToPosixPath } from "@jakubmazanec/fs-utils";
|
|
3
|
+
import _ from "lodash";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import {
|
|
6
|
+
importCarsonTemplate,
|
|
7
|
+
parseCarsonTemplateId,
|
|
8
|
+
readCarsonTemplate,
|
|
9
|
+
resolveModule
|
|
10
|
+
} from "./internals.js";
|
|
11
|
+
export async function renderCarsonTemplate(options) {
|
|
12
|
+
let [moduleId] = parseCarsonTemplateId(options.templateId);
|
|
13
|
+
let modulePath = await resolveModule(moduleId);
|
|
14
|
+
let template = await readCarsonTemplate(options.templateId);
|
|
15
|
+
let templateModule = await importCarsonTemplate(options.templateId);
|
|
16
|
+
let templateRenders = [];
|
|
17
|
+
for (let file of template.files) {
|
|
18
|
+
templateRenders.push(
|
|
19
|
+
...(await file.render(
|
|
20
|
+
{
|
|
21
|
+
...templateModule,
|
|
22
|
+
...options.templateData
|
|
23
|
+
},
|
|
24
|
+
{ disablePrettier: true }
|
|
25
|
+
)).map((templateRender) => ({
|
|
26
|
+
...templateRender,
|
|
27
|
+
template: {
|
|
28
|
+
path: pathToPosixPath(
|
|
29
|
+
`${moduleId}/${path.relative(modulePath, file.path ?? modulePath)}`
|
|
30
|
+
)
|
|
31
|
+
}
|
|
32
|
+
}))
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
templateRenders = _.sortBy(templateRenders, [
|
|
36
|
+
(templateRender) => templateRender.attributes.to,
|
|
37
|
+
(templateRender) => templateRender.attributes.strategy,
|
|
38
|
+
(templateRender) => templateRender.content
|
|
39
|
+
]);
|
|
40
|
+
return templateRenders;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=renderCarsonTemplate.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../source/template/renderCarsonTemplate.ts"],
|
|
4
|
+
"sourcesContent": ["import {pathToPosixPath} from '@jakubmazanec/fs-utils';\nimport _ from 'lodash';\nimport path from 'node:path';\n\nimport {\n importCarsonTemplate,\n parseCarsonTemplateId,\n readCarsonTemplate,\n resolveModule,\n} from './internals.js';\nimport {type TemplateData} from './TemplateData.js';\nimport {type TemplateRenders} from './TemplateRenders.js';\n\nexport type RenderCarsonTemplateOptions = {\n templateId: string;\n templateData: TemplateData;\n};\n\n/**\n * Renders a Carson template with provided template data.\n */\nexport async function renderCarsonTemplate(\n options: RenderCarsonTemplateOptions,\n): Promise<TemplateRenders> {\n let [moduleId] = parseCarsonTemplateId(options.templateId);\n let modulePath = await resolveModule(moduleId);\n let template = await readCarsonTemplate(options.templateId);\n let templateModule = await importCarsonTemplate(options.templateId);\n let templateRenders: TemplateRenders = [];\n\n for (let file of template.files) {\n templateRenders.push(\n ...(\n await file.render(\n {\n ...templateModule,\n ...options.templateData,\n },\n {disablePrettier: true},\n )\n ).map((templateRender) => ({\n ...templateRender,\n template: {\n path: pathToPosixPath(\n `${moduleId}/${path.relative(modulePath, file.path ?? modulePath)}`,\n ),\n },\n })),\n );\n }\n\n templateRenders = _.sortBy(templateRenders, [\n (templateRender) => templateRender.attributes.to,\n (templateRender) => templateRender.attributes.strategy,\n (templateRender) => templateRender.content,\n ]);\n\n return templateRenders;\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAQ,uBAAsB;AAC9B,OAAO,OAAO;AACd,OAAO,UAAU;AAEjB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAYP,sBAAsB,qBACpB,SAC0B;AAC1B,MAAI,CAAC,QAAQ,IAAI,sBAAsB,QAAQ,UAAU;AACzD,MAAI,aAAa,MAAM,cAAc,QAAQ;AAC7C,MAAI,WAAW,MAAM,mBAAmB,QAAQ,UAAU;AAC1D,MAAI,iBAAiB,MAAM,qBAAqB,QAAQ,UAAU;AAClE,MAAI,kBAAmC,CAAC;AAExC,WAAS,QAAQ,SAAS,OAAO;AAC/B,oBAAgB;AAAA,MACd,IACE,MAAM,KAAK;AAAA,QACT;AAAA,UACE,GAAG;AAAA,UACH,GAAG,QAAQ;AAAA,QACb;AAAA,QACA,EAAC,iBAAiB,KAAI;AAAA,MACxB,GACA,IAAI,CAAC,oBAAoB;AAAA,QACzB,GAAG;AAAA,QACH,UAAU;AAAA,UACR,MAAM;AAAA,YACJ,GAAG,QAAQ,IAAI,KAAK,SAAS,YAAY,KAAK,QAAQ,UAAU,CAAC;AAAA,UACnE;AAAA,QACF;AAAA,MACF,EAAE;AAAA,IACJ;AAAA,EACF;AAEA,oBAAkB,EAAE,OAAO,iBAAiB;AAAA,IAC1C,CAAC,mBAAmB,eAAe,WAAW;AAAA,IAC9C,CAAC,mBAAmB,eAAe,WAAW;AAAA,IAC9C,CAAC,mBAAmB,eAAe;AAAA,EACrC,CAAC;AAED,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|