@jakubmazanec/carson-templates 1.0.0 → 2.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/LICENSE.md +0 -2
- package/README.md +1 -1
- package/build/constants.d.ts +60 -0
- package/build/constants.js +89 -0
- package/build/constants.js.map +7 -0
- package/build/dependency-versions.d.ts +1 -0
- package/build/dependency-versions.js +58 -0
- package/build/dependency-versions.js.map +7 -0
- package/build/getDependencies.d.ts +2 -0
- package/build/getDependencies.js +44 -0
- package/build/getDependencies.js.map +7 -0
- package/build/getDevelopmentBranch.d.ts +2 -0
- package/build/getDevelopmentBranch.js +11 -0
- package/build/getDevelopmentBranch.js.map +7 -0
- package/build/getMainBranch.d.ts +2 -0
- package/build/getMainBranch.js +11 -0
- package/build/getMainBranch.js.map +7 -0
- package/build/getReferences.d.ts +4 -0
- package/build/getReferences.js +20 -0
- package/build/getReferences.js.map +7 -0
- package/build/getWorkspaceName.d.ts +2 -0
- package/build/getWorkspaceName.js +16 -0
- package/build/getWorkspaceName.js.map +7 -0
- package/build/main.d.ts +8 -0
- package/build/main.js +10 -0
- package/build/main.js.map +7 -0
- package/package.json +31 -20
- package/source/constants.ts +94 -0
- package/source/dependency-versions.ts +69 -0
- package/source/getDependencies.ts +58 -0
- package/source/getDevelopmentBranch.ts +13 -0
- package/source/getMainBranch.ts +13 -0
- package/source/getReferences.ts +29 -0
- package/source/getWorkspaceName.ts +20 -0
- package/source/main.ts +8 -0
- package/templates/projects/carson-templates/.eslintrc.cjs.ejs +21 -0
- package/templates/projects/carson-templates/.prettierignore.ejs +3 -0
- package/templates/projects/carson-templates/CONTRIBUTING.md.ejs +3 -0
- package/templates/projects/carson-templates/package.json.ejs +26 -12
- package/templates/projects/carson-templates/prettier.config.cjs.ejs +3 -0
- package/templates/projects/carson-templates/source/main.ts.check.ejs +4 -0
- package/templates/projects/carson-templates/source/main.ts.create.ejs +6 -0
- package/templates/projects/carson-templates/tests/tsconfig.json.ejs +19 -12
- package/templates/projects/carson-templates/tsconfig.json.ejs +23 -9
- package/templates/projects/carson-templates/tsconfig.typecheck.json.ejs +1 -12
- package/templates/projects/carson-templates/typedoc.config.cjs.ejs +1 -10
- package/templates/projects/changesets-changelog/.eslintrc.cjs.ejs +21 -0
- package/templates/projects/changesets-changelog/.prettierignore.ejs +3 -0
- package/templates/projects/changesets-changelog/CONTRIBUTING.md.ejs +3 -0
- package/templates/projects/changesets-changelog/package.json.ejs +38 -20
- package/templates/projects/changesets-changelog/prettier.config.cjs.ejs +3 -0
- package/templates/projects/changesets-changelog/source/main.ts.check.ejs +4 -0
- package/templates/projects/changesets-changelog/source/main.ts.create.ejs +6 -0
- package/templates/projects/changesets-changelog/tests/tsconfig.json.ejs +19 -12
- package/templates/projects/changesets-changelog/tsconfig.json.ejs +23 -9
- package/templates/projects/changesets-changelog/tsconfig.typecheck.json.ejs +21 -10
- package/templates/projects/eslint-config/.eslintrc.cjs.ejs +21 -0
- package/templates/projects/eslint-config/.prettierignore.ejs +3 -0
- package/templates/projects/eslint-config/CONTRIBUTING.md.ejs +3 -0
- package/templates/projects/eslint-config/package.json.ejs +39 -25
- package/templates/projects/eslint-config/prettier.config.cjs.ejs +3 -0
- package/templates/projects/eslint-config/source/main.ts.check.ejs +4 -0
- package/templates/projects/eslint-config/source/main.ts.create.ejs +6 -0
- package/templates/projects/eslint-config/tsconfig.json.ejs +23 -9
- package/templates/projects/eslint-config/tsconfig.typecheck.json.ejs +20 -9
- package/templates/projects/library/.eslintrc.cjs.ejs +21 -0
- package/templates/projects/library/.prettierignore.ejs +3 -0
- package/templates/projects/library/CONTRIBUTING.md.ejs +18 -0
- package/templates/projects/library/README.md.create.ejs +36 -0
- package/templates/projects/library/package.json.create.ejs +1 -1
- package/templates/projects/library/package.json.ejs +35 -13
- package/templates/projects/library/prettier.config.cjs.ejs +3 -0
- package/templates/projects/library/source/main.ts.check.ejs +4 -0
- package/templates/projects/library/source/main.ts.create.ejs +5 -0
- package/templates/projects/library/tests/tsconfig.json.ejs +19 -12
- package/templates/projects/library/tsconfig.json.ejs +23 -9
- package/templates/projects/library/tsconfig.typecheck.json.ejs +20 -9
- package/templates/projects/library/typedoc.config.cjs.ejs +13 -7
- package/templates/projects/remix-app/.eslintrc.cjs.ejs +21 -0
- package/templates/projects/remix-app/.prettierignore.ejs +3 -0
- package/templates/projects/remix-app/CONTRIBUTING.md.ejs +3 -0
- package/templates/projects/remix-app/Dockerfile.ejs +47 -0
- package/templates/projects/remix-app/README.md.create.ejs +26 -0
- package/templates/projects/remix-app/app/entry.client.tsx.create.ejs +16 -0
- package/templates/projects/remix-app/app/root.tsx.create.ejs +26 -0
- package/templates/projects/remix-app/app/routes/_index.tsx.create.ejs +18 -0
- package/templates/projects/remix-app/app/tailwind.css.create.ejs +7 -0
- package/templates/projects/remix-app/config.json +4 -0
- package/templates/projects/remix-app/env.d.ts.ejs +14 -0
- package/templates/projects/remix-app/fly.toml.ejs +18 -0
- package/templates/projects/remix-app/package.json.create.ejs +14 -0
- package/templates/projects/remix-app/package.json.ejs +67 -0
- package/templates/projects/remix-app/postcss.config.cjs.ejs +18 -0
- package/templates/projects/remix-app/prettier.config.cjs.ejs +19 -0
- package/templates/projects/remix-app/tailwind.config.ts.ejs +21 -0
- package/templates/projects/remix-app/tests/setup.ts.ejs +13 -0
- package/templates/projects/remix-app/tests/tsconfig.json.ejs +24 -0
- package/templates/projects/remix-app/tsconfig.json.ejs +30 -0
- package/templates/projects/remix-app/tsconfig.typecheck.json.ejs +19 -0
- package/templates/projects/remix-app/vite.config.ts.ejs +40 -0
- package/templates/workspace/.eslintrc.cjs.ejs +9 -13
- package/templates/workspace/.github/workflows/{pull-request.yaml.ejs → check-pull-request.yaml.ejs} +30 -7
- package/templates/workspace/.github/workflows/merge-to-main-branch.yaml.ejs +12 -4
- package/templates/workspace/.github/workflows/release-pull-request.yaml.ejs +105 -0
- package/templates/workspace/.github/workflows/release.yaml.ejs +65 -105
- package/templates/workspace/.github/workflows/update-pull-request.yaml.ejs +139 -0
- package/templates/workspace/.gitignore.ejs +9 -1
- package/templates/workspace/.prettierignore.ejs +9 -10
- package/templates/workspace/CONTRIBUTING.md.ejs +18 -0
- package/templates/workspace/README.md.create.ejs +16 -0
- package/templates/workspace/README.md.insert.ejs +1 -0
- package/templates/workspace/package.json.ejs +6 -16
- package/templates/workspace/prettier.config.cjs.ejs +19 -0
- package/templates/workspace/tsconfig.json.ejs +23 -0
- package/templates/workspace/tsconfig.typecheck.json.ejs +10 -4
- package/templates/workspace/turbo.json.ejs +1 -1
- package/dist/main.d.ts +0 -10
- package/dist/main.js +0 -128
- package/dist/main.js.map +0 -1
- package/src/main.ts +0 -166
- package/templates/projects/carson-templates/.swcrc.ejs +0 -23
- package/templates/projects/carson-templates/jest.config.ts.ejs +0 -30
- package/templates/projects/carson-templates/src/main.ts.check.ejs +0 -5
- package/templates/projects/carson-templates/src/main.ts.create.ejs +0 -4
- package/templates/projects/changesets-changelog/.swcrc.ejs +0 -25
- package/templates/projects/changesets-changelog/jest.config.ts.ejs +0 -24
- package/templates/projects/changesets-changelog/src/main.ts.check.ejs +0 -5
- package/templates/projects/changesets-changelog/src/main.ts.create.ejs +0 -4
- package/templates/projects/eslint-config/.swcrc.ejs +0 -25
- package/templates/projects/eslint-config/jest.config.ts.ejs +0 -24
- package/templates/projects/eslint-config/src/main.ts.check.ejs +0 -5
- package/templates/projects/eslint-config/src/main.ts.create.ejs +0 -4
- package/templates/projects/eslint-config/tests/tsconfig.json.ejs +0 -17
- package/templates/projects/library/.swcrc.ejs +0 -23
- package/templates/projects/library/jest.config.ts.ejs +0 -30
- package/templates/projects/library/src/main.ts.check.ejs +0 -5
- package/templates/projects/library/src/main.ts.create.ejs +0 -4
- package/templates/workspace/prettier.config.js.ejs +0 -19
- package/templates/workspace/tsconfig.options.json.ejs +0 -24
|
@@ -2,12 +2,18 @@
|
|
|
2
2
|
to: 'tsconfig.typecheck.json'
|
|
3
3
|
strategy: overwrite
|
|
4
4
|
---
|
|
5
|
+
//
|
|
6
|
+
// DO NOT EDIT!
|
|
7
|
+
// This file was autogenerated by Carson.
|
|
8
|
+
// Changes may cause incorrect behavior and will be lost when the file is regenerated.
|
|
9
|
+
//
|
|
10
|
+
// Run `npx carson update workspace` to regenerate.
|
|
11
|
+
//
|
|
12
|
+
|
|
5
13
|
{
|
|
6
|
-
"extends": "./tsconfig.
|
|
14
|
+
"extends": "./tsconfig.json",
|
|
7
15
|
"compilerOptions": {
|
|
8
|
-
"composite": false
|
|
9
|
-
"noEmit": true,
|
|
10
|
-
"rootDir": "."
|
|
16
|
+
"composite": false
|
|
11
17
|
},
|
|
12
18
|
"include": ["./*.ts"]
|
|
13
19
|
}
|
package/dist/main.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { type Project, type Workspace } from '@jakubmazanec/carson';
|
|
2
|
-
export { default as lodash } from 'lodash';
|
|
3
|
-
export { default as semver } from 'semver';
|
|
4
|
-
export declare function getMainBranch(workspace: Workspace | Workspace<false>): string | undefined;
|
|
5
|
-
export declare function getDevelopmentBranch(workspace: Workspace | Workspace<false>): string | undefined;
|
|
6
|
-
export declare function getMajorVersion(version: string): number;
|
|
7
|
-
export declare function getDependencies(dependencies: string[], workspace: Workspace | Workspace<false>): Record<string, string>;
|
|
8
|
-
export declare function getReferences(workspace: Workspace | Workspace<false>, project: Project | Project<false>): {
|
|
9
|
-
path: string;
|
|
10
|
-
}[];
|
package/dist/main.js
DELETED
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import fs from 'node:fs';
|
|
2
|
-
import { createRequire } from 'node:module';
|
|
3
|
-
import semver from 'semver';
|
|
4
|
-
export { default as lodash } from 'lodash';
|
|
5
|
-
export { default as semver } from 'semver';
|
|
6
|
-
const CARSON_PACKAGE_NAME = '@jakubmazanec/carson';
|
|
7
|
-
const TEMPLATE_PACKAGE_NAME = '@jakubmazanec/carson-templates';
|
|
8
|
-
const MAIN_BRANCH_NAMES = new Set([
|
|
9
|
-
'main',
|
|
10
|
-
'master'
|
|
11
|
-
]);
|
|
12
|
-
const DEVELOPMENT_BRANCH_NAMES = new Set([
|
|
13
|
-
'development',
|
|
14
|
-
'develop',
|
|
15
|
-
'dev'
|
|
16
|
-
]);
|
|
17
|
-
let require = createRequire(import.meta.url);
|
|
18
|
-
let carsonPackageVersion = semver.minVersion(JSON.parse(fs.readFileSync(require.resolve(`${TEMPLATE_PACKAGE_NAME}/package.json`), {
|
|
19
|
-
encoding: 'utf8'
|
|
20
|
-
})).peerDependencies[CARSON_PACKAGE_NAME] ?? '^1.0.0')?.format() ?? '1.0.0';
|
|
21
|
-
let isCarsonPackageVersionPrerelease = !!semver.prerelease(carsonPackageVersion)?.length;
|
|
22
|
-
let templatesPackageVersion = JSON.parse(fs.readFileSync(require.resolve(`${TEMPLATE_PACKAGE_NAME}/package.json`), {
|
|
23
|
-
encoding: 'utf8'
|
|
24
|
-
})).version;
|
|
25
|
-
let isTemplatesPackageVersionPrerelease = !!semver.prerelease(templatesPackageVersion)?.length;
|
|
26
|
-
const DEPENDENCY_VERSIONS = {
|
|
27
|
-
'@changesets/cli': '^2.0.0',
|
|
28
|
-
[CARSON_PACKAGE_NAME]: isCarsonPackageVersionPrerelease ? carsonPackageVersion : `^${carsonPackageVersion}`,
|
|
29
|
-
[TEMPLATE_PACKAGE_NAME]: isTemplatesPackageVersionPrerelease ? templatesPackageVersion : `^${templatesPackageVersion}`,
|
|
30
|
-
'@jest/globals': '^29.0.0',
|
|
31
|
-
'@swc/cli': '^0.1.0',
|
|
32
|
-
'@swc/core': '^1.0.0',
|
|
33
|
-
'@testing-library/jest-dom': '^5.0.0',
|
|
34
|
-
'@types/node': '^16.0.0',
|
|
35
|
-
chokidar: '^3.0.0',
|
|
36
|
-
'cross-env': '^7.0.0',
|
|
37
|
-
'del-cli': '^5.0.0',
|
|
38
|
-
eslint: '^8.0.0',
|
|
39
|
-
jest: '^29.0.0',
|
|
40
|
-
'patch-package': '^6.0.0',
|
|
41
|
-
prettier: '^3.0.0',
|
|
42
|
-
'prettier-plugin-packagejson': '^2.0.0',
|
|
43
|
-
'ts-jest': '^29.0.0',
|
|
44
|
-
'ts-node': '^10.0.0',
|
|
45
|
-
turbo: '^1.0.0',
|
|
46
|
-
typedoc: '^0.24.0',
|
|
47
|
-
'typedoc-plugin-markdown': '^3.0.0',
|
|
48
|
-
typescript: '^5.0.0'
|
|
49
|
-
};
|
|
50
|
-
export function getMainBranch(workspace) {
|
|
51
|
-
for (let branch of workspace.repository?.branches ?? []){
|
|
52
|
-
if (MAIN_BRANCH_NAMES.has(branch)) {
|
|
53
|
-
return branch;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
return undefined;
|
|
57
|
-
}
|
|
58
|
-
export function getDevelopmentBranch(workspace) {
|
|
59
|
-
for (let branch of workspace.repository?.branches ?? []){
|
|
60
|
-
if (DEVELOPMENT_BRANCH_NAMES.has(branch)) {
|
|
61
|
-
return branch;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return undefined;
|
|
65
|
-
}
|
|
66
|
-
export function getMajorVersion(version) {
|
|
67
|
-
return Number(version.split('.')[0].replace(/\D/, ''));
|
|
68
|
-
}
|
|
69
|
-
export function getDependencies(dependencies, workspace) {
|
|
70
|
-
const result = {};
|
|
71
|
-
for (const dependency of dependencies){
|
|
72
|
-
const version = DEPENDENCY_VERSIONS[dependency];
|
|
73
|
-
if (version) {
|
|
74
|
-
result[dependency] = version;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
const projectNames = workspace.projects.map((project)=>project.name);
|
|
78
|
-
for (const [dependencyName, dependencyVersion] of Object.entries(result)){
|
|
79
|
-
if (dependencyName === TEMPLATE_PACKAGE_NAME) {
|
|
80
|
-
continue;
|
|
81
|
-
}
|
|
82
|
-
const installedDependency = workspace.allDependencies.find((dependency)=>dependencyName === dependency.name);
|
|
83
|
-
// if the dependency is already installed in the workspace, we might want to use that existing version
|
|
84
|
-
if (installedDependency) {
|
|
85
|
-
const version = [
|
|
86
|
-
...installedDependency.exactVersions
|
|
87
|
-
].sort().reverse()[0];
|
|
88
|
-
// if the dependency is actually a project in the workspace, we use existing version
|
|
89
|
-
if (projectNames.includes(dependencyName)) {
|
|
90
|
-
if (semver.prerelease(version)?.length) {
|
|
91
|
-
result[dependencyName] = version;
|
|
92
|
-
} else {
|
|
93
|
-
result[dependencyName] = `^${version}`;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
// we use existing version only if major versions match; we don't want the user of this template to be able to overwrite any major version number and use potentially incompatible version
|
|
97
|
-
if (getMajorVersion(version) === getMajorVersion(dependencyVersion)) {
|
|
98
|
-
if (semver.prerelease(version)?.length) {
|
|
99
|
-
result[dependencyName] = version;
|
|
100
|
-
} else {
|
|
101
|
-
result[dependencyName] = `^${version}`;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
return result;
|
|
107
|
-
}
|
|
108
|
-
export function getReferences(workspace, project) {
|
|
109
|
-
let references = [];
|
|
110
|
-
let currentProject = project;
|
|
111
|
-
for (let dependency of workspace.allDependencies){
|
|
112
|
-
for (let project of workspace.projects){
|
|
113
|
-
if (dependency.name === project.name) {
|
|
114
|
-
for (let dependencyProject of dependency.projects){
|
|
115
|
-
if (dependencyProject.name === currentProject.name) {
|
|
116
|
-
references.push({
|
|
117
|
-
path: `${currentProject.relativePath.split('/').map(()=>'..').join('/')}/${project.relativePath}`
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
references.sort((a, b)=>a.path.localeCompare(b.path));
|
|
125
|
-
return references;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
//# sourceMappingURL=main.js.map
|
package/dist/main.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/main.ts"],"sourcesContent":["import {type Project, type Workspace} from '@jakubmazanec/carson';\nimport fs from 'node:fs';\nimport {createRequire} from 'node:module';\nimport semver from 'semver';\n\nexport {default as lodash} from 'lodash';\nexport {default as semver} from 'semver';\n\nconst CARSON_PACKAGE_NAME = '@jakubmazanec/carson';\nconst TEMPLATE_PACKAGE_NAME = '@jakubmazanec/carson-templates';\nconst MAIN_BRANCH_NAMES = new Set(['main', 'master']);\nconst DEVELOPMENT_BRANCH_NAMES = new Set(['development', 'develop', 'dev']);\n\nlet require = createRequire(import.meta.url);\nlet carsonPackageVersion =\n semver\n .minVersion(\n (\n JSON.parse(\n fs.readFileSync(require.resolve(`${TEMPLATE_PACKAGE_NAME}/package.json`), {\n encoding: 'utf8',\n }),\n ) as {peerDependencies: Record<string, string>}\n ).peerDependencies[CARSON_PACKAGE_NAME] ?? '^1.0.0',\n )\n ?.format() ?? '1.0.0';\nlet isCarsonPackageVersionPrerelease = !!semver.prerelease(carsonPackageVersion)?.length;\nlet templatesPackageVersion = (\n JSON.parse(\n fs.readFileSync(require.resolve(`${TEMPLATE_PACKAGE_NAME}/package.json`), {\n encoding: 'utf8',\n }),\n ) as {version: string}\n).version;\nlet isTemplatesPackageVersionPrerelease = !!semver.prerelease(templatesPackageVersion)?.length;\n\nconst DEPENDENCY_VERSIONS: Record<string, string> = {\n '@changesets/cli': '^2.0.0',\n [CARSON_PACKAGE_NAME]: isCarsonPackageVersionPrerelease\n ? carsonPackageVersion\n : `^${carsonPackageVersion}`,\n [TEMPLATE_PACKAGE_NAME]: isTemplatesPackageVersionPrerelease\n ? templatesPackageVersion\n : `^${templatesPackageVersion}`,\n '@jest/globals': '^29.0.0',\n '@swc/cli': '^0.1.0',\n '@swc/core': '^1.0.0',\n '@testing-library/jest-dom': '^5.0.0',\n '@types/node': '^16.0.0',\n chokidar: '^3.0.0',\n 'cross-env': '^7.0.0',\n 'del-cli': '^5.0.0',\n eslint: '^8.0.0',\n jest: '^29.0.0',\n 'patch-package': '^6.0.0',\n prettier: '^3.0.0',\n 'prettier-plugin-packagejson': '^2.0.0',\n 'ts-jest': '^29.0.0',\n 'ts-node': '^10.0.0',\n turbo: '^1.0.0',\n typedoc: '^0.24.0',\n 'typedoc-plugin-markdown': '^3.0.0',\n typescript: '^5.0.0',\n};\n\nexport function getMainBranch(workspace: Workspace | Workspace<false>) {\n for (let branch of workspace.repository?.branches ?? []) {\n if (MAIN_BRANCH_NAMES.has(branch)) {\n return branch;\n }\n }\n\n return undefined;\n}\n\nexport function getDevelopmentBranch(workspace: Workspace | Workspace<false>) {\n for (let branch of workspace.repository?.branches ?? []) {\n if (DEVELOPMENT_BRANCH_NAMES.has(branch)) {\n return branch;\n }\n }\n\n return undefined;\n}\n\nexport function getMajorVersion(version: string) {\n return Number(version.split('.')[0]!.replace(/\\D/, ''));\n}\n\nexport function getDependencies(dependencies: string[], workspace: Workspace | Workspace<false>) {\n const result: Record<string, string> = {};\n\n for (const dependency of dependencies) {\n const version = DEPENDENCY_VERSIONS[dependency];\n\n if (version) {\n result[dependency] = version;\n }\n }\n\n const projectNames = workspace.projects.map((project) => project.name);\n\n for (const [dependencyName, dependencyVersion] of Object.entries(result)) {\n if (dependencyName === TEMPLATE_PACKAGE_NAME) {\n continue;\n }\n\n const installedDependency = workspace.allDependencies.find(\n (dependency) => dependencyName === dependency.name,\n );\n\n // if the dependency is already installed in the workspace, we might want to use that existing version\n if (installedDependency) {\n const version = [...installedDependency.exactVersions].sort().reverse()[0] as string;\n\n // if the dependency is actually a project in the workspace, we use existing version\n if (projectNames.includes(dependencyName)) {\n if (semver.prerelease(version)?.length) {\n result[dependencyName] = version;\n } else {\n result[dependencyName] = `^${version}`;\n }\n }\n\n // we use existing version only if major versions match; we don't want the user of this template to be able to overwrite any major version number and use potentially incompatible version\n if (getMajorVersion(version) === getMajorVersion(dependencyVersion)) {\n if (semver.prerelease(version)?.length) {\n result[dependencyName] = version;\n } else {\n result[dependencyName] = `^${version}`;\n }\n }\n }\n }\n\n return result;\n}\n\nexport function getReferences(\n workspace: Workspace | Workspace<false>,\n project: Project | Project<false>,\n) {\n let references = [];\n let currentProject = project;\n\n for (let dependency of workspace.allDependencies) {\n for (let project of workspace.projects) {\n if (dependency.name === project.name) {\n for (let dependencyProject of dependency.projects) {\n if (dependencyProject.name === currentProject.name) {\n references.push({\n path: `${currentProject.relativePath\n .split('/')\n .map(() => '..')\n .join('/')}/${project.relativePath}`,\n });\n }\n }\n }\n }\n }\n\n references.sort((a, b) => a.path.localeCompare(b.path));\n\n return references;\n}\n"],"names":["fs","createRequire","semver","default","lodash","CARSON_PACKAGE_NAME","TEMPLATE_PACKAGE_NAME","MAIN_BRANCH_NAMES","Set","DEVELOPMENT_BRANCH_NAMES","require","url","carsonPackageVersion","minVersion","JSON","parse","readFileSync","resolve","encoding","peerDependencies","format","isCarsonPackageVersionPrerelease","prerelease","length","templatesPackageVersion","version","isTemplatesPackageVersionPrerelease","DEPENDENCY_VERSIONS","chokidar","eslint","jest","prettier","turbo","typedoc","typescript","getMainBranch","workspace","branch","repository","branches","has","undefined","getDevelopmentBranch","getMajorVersion","Number","split","replace","getDependencies","dependencies","result","dependency","projectNames","projects","map","project","name","dependencyName","dependencyVersion","Object","entries","installedDependency","allDependencies","find","exactVersions","sort","reverse","includes","getReferences","references","currentProject","dependencyProject","push","path","relativePath","join","a","b","localeCompare"],"mappings":"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"}
|
package/src/main.ts
DELETED
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
import {type Project, type Workspace} from '@jakubmazanec/carson';
|
|
2
|
-
import fs from 'node:fs';
|
|
3
|
-
import {createRequire} from 'node:module';
|
|
4
|
-
import semver from 'semver';
|
|
5
|
-
|
|
6
|
-
export {default as lodash} from 'lodash';
|
|
7
|
-
export {default as semver} from 'semver';
|
|
8
|
-
|
|
9
|
-
const CARSON_PACKAGE_NAME = '@jakubmazanec/carson';
|
|
10
|
-
const TEMPLATE_PACKAGE_NAME = '@jakubmazanec/carson-templates';
|
|
11
|
-
const MAIN_BRANCH_NAMES = new Set(['main', 'master']);
|
|
12
|
-
const DEVELOPMENT_BRANCH_NAMES = new Set(['development', 'develop', 'dev']);
|
|
13
|
-
|
|
14
|
-
let require = createRequire(import.meta.url);
|
|
15
|
-
let carsonPackageVersion =
|
|
16
|
-
semver
|
|
17
|
-
.minVersion(
|
|
18
|
-
(
|
|
19
|
-
JSON.parse(
|
|
20
|
-
fs.readFileSync(require.resolve(`${TEMPLATE_PACKAGE_NAME}/package.json`), {
|
|
21
|
-
encoding: 'utf8',
|
|
22
|
-
}),
|
|
23
|
-
) as {peerDependencies: Record<string, string>}
|
|
24
|
-
).peerDependencies[CARSON_PACKAGE_NAME] ?? '^1.0.0',
|
|
25
|
-
)
|
|
26
|
-
?.format() ?? '1.0.0';
|
|
27
|
-
let isCarsonPackageVersionPrerelease = !!semver.prerelease(carsonPackageVersion)?.length;
|
|
28
|
-
let templatesPackageVersion = (
|
|
29
|
-
JSON.parse(
|
|
30
|
-
fs.readFileSync(require.resolve(`${TEMPLATE_PACKAGE_NAME}/package.json`), {
|
|
31
|
-
encoding: 'utf8',
|
|
32
|
-
}),
|
|
33
|
-
) as {version: string}
|
|
34
|
-
).version;
|
|
35
|
-
let isTemplatesPackageVersionPrerelease = !!semver.prerelease(templatesPackageVersion)?.length;
|
|
36
|
-
|
|
37
|
-
const DEPENDENCY_VERSIONS: Record<string, string> = {
|
|
38
|
-
'@changesets/cli': '^2.0.0',
|
|
39
|
-
[CARSON_PACKAGE_NAME]: isCarsonPackageVersionPrerelease
|
|
40
|
-
? carsonPackageVersion
|
|
41
|
-
: `^${carsonPackageVersion}`,
|
|
42
|
-
[TEMPLATE_PACKAGE_NAME]: isTemplatesPackageVersionPrerelease
|
|
43
|
-
? templatesPackageVersion
|
|
44
|
-
: `^${templatesPackageVersion}`,
|
|
45
|
-
'@jest/globals': '^29.0.0',
|
|
46
|
-
'@swc/cli': '^0.1.0',
|
|
47
|
-
'@swc/core': '^1.0.0',
|
|
48
|
-
'@testing-library/jest-dom': '^5.0.0',
|
|
49
|
-
'@types/node': '^16.0.0',
|
|
50
|
-
chokidar: '^3.0.0',
|
|
51
|
-
'cross-env': '^7.0.0',
|
|
52
|
-
'del-cli': '^5.0.0',
|
|
53
|
-
eslint: '^8.0.0',
|
|
54
|
-
jest: '^29.0.0',
|
|
55
|
-
'patch-package': '^6.0.0',
|
|
56
|
-
prettier: '^3.0.0',
|
|
57
|
-
'prettier-plugin-packagejson': '^2.0.0',
|
|
58
|
-
'ts-jest': '^29.0.0',
|
|
59
|
-
'ts-node': '^10.0.0',
|
|
60
|
-
turbo: '^1.0.0',
|
|
61
|
-
typedoc: '^0.24.0',
|
|
62
|
-
'typedoc-plugin-markdown': '^3.0.0',
|
|
63
|
-
typescript: '^5.0.0',
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
export function getMainBranch(workspace: Workspace | Workspace<false>) {
|
|
67
|
-
for (let branch of workspace.repository?.branches ?? []) {
|
|
68
|
-
if (MAIN_BRANCH_NAMES.has(branch)) {
|
|
69
|
-
return branch;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
return undefined;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
export function getDevelopmentBranch(workspace: Workspace | Workspace<false>) {
|
|
77
|
-
for (let branch of workspace.repository?.branches ?? []) {
|
|
78
|
-
if (DEVELOPMENT_BRANCH_NAMES.has(branch)) {
|
|
79
|
-
return branch;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
return undefined;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
export function getMajorVersion(version: string) {
|
|
87
|
-
return Number(version.split('.')[0]!.replace(/\D/, ''));
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
export function getDependencies(dependencies: string[], workspace: Workspace | Workspace<false>) {
|
|
91
|
-
const result: Record<string, string> = {};
|
|
92
|
-
|
|
93
|
-
for (const dependency of dependencies) {
|
|
94
|
-
const version = DEPENDENCY_VERSIONS[dependency];
|
|
95
|
-
|
|
96
|
-
if (version) {
|
|
97
|
-
result[dependency] = version;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
const projectNames = workspace.projects.map((project) => project.name);
|
|
102
|
-
|
|
103
|
-
for (const [dependencyName, dependencyVersion] of Object.entries(result)) {
|
|
104
|
-
if (dependencyName === TEMPLATE_PACKAGE_NAME) {
|
|
105
|
-
continue;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
const installedDependency = workspace.allDependencies.find(
|
|
109
|
-
(dependency) => dependencyName === dependency.name,
|
|
110
|
-
);
|
|
111
|
-
|
|
112
|
-
// if the dependency is already installed in the workspace, we might want to use that existing version
|
|
113
|
-
if (installedDependency) {
|
|
114
|
-
const version = [...installedDependency.exactVersions].sort().reverse()[0] as string;
|
|
115
|
-
|
|
116
|
-
// if the dependency is actually a project in the workspace, we use existing version
|
|
117
|
-
if (projectNames.includes(dependencyName)) {
|
|
118
|
-
if (semver.prerelease(version)?.length) {
|
|
119
|
-
result[dependencyName] = version;
|
|
120
|
-
} else {
|
|
121
|
-
result[dependencyName] = `^${version}`;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
// we use existing version only if major versions match; we don't want the user of this template to be able to overwrite any major version number and use potentially incompatible version
|
|
126
|
-
if (getMajorVersion(version) === getMajorVersion(dependencyVersion)) {
|
|
127
|
-
if (semver.prerelease(version)?.length) {
|
|
128
|
-
result[dependencyName] = version;
|
|
129
|
-
} else {
|
|
130
|
-
result[dependencyName] = `^${version}`;
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
return result;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
export function getReferences(
|
|
140
|
-
workspace: Workspace | Workspace<false>,
|
|
141
|
-
project: Project | Project<false>,
|
|
142
|
-
) {
|
|
143
|
-
let references = [];
|
|
144
|
-
let currentProject = project;
|
|
145
|
-
|
|
146
|
-
for (let dependency of workspace.allDependencies) {
|
|
147
|
-
for (let project of workspace.projects) {
|
|
148
|
-
if (dependency.name === project.name) {
|
|
149
|
-
for (let dependencyProject of dependency.projects) {
|
|
150
|
-
if (dependencyProject.name === currentProject.name) {
|
|
151
|
-
references.push({
|
|
152
|
-
path: `${currentProject.relativePath
|
|
153
|
-
.split('/')
|
|
154
|
-
.map(() => '..')
|
|
155
|
-
.join('/')}/${project.relativePath}`,
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
references.sort((a, b) => a.path.localeCompare(b.path));
|
|
164
|
-
|
|
165
|
-
return references;
|
|
166
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
to: '.swcrc'
|
|
3
|
-
strategy: overwrite
|
|
4
|
-
---
|
|
5
|
-
{
|
|
6
|
-
"jsc": {
|
|
7
|
-
"parser": {
|
|
8
|
-
"syntax": "typescript",
|
|
9
|
-
"tsx": true,
|
|
10
|
-
"dynamicImport": true
|
|
11
|
-
},
|
|
12
|
-
"transform": {
|
|
13
|
-
"react": {
|
|
14
|
-
"runtime": "automatic"
|
|
15
|
-
}
|
|
16
|
-
},
|
|
17
|
-
"target": "es2022"
|
|
18
|
-
},
|
|
19
|
-
"module": {
|
|
20
|
-
"type": "es6"
|
|
21
|
-
},
|
|
22
|
-
"sourceMaps": true
|
|
23
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
to: 'jest.config.ts'
|
|
3
|
-
strategy: overwrite
|
|
4
|
-
---
|
|
5
|
-
export default {
|
|
6
|
-
preset: 'ts-jest/presets/default-esm',
|
|
7
|
-
globals: {
|
|
8
|
-
'ts-jest': {
|
|
9
|
-
useESM: true,
|
|
10
|
-
isolatedModules: true,
|
|
11
|
-
tsconfig: 'tsconfig.typecheck.json',
|
|
12
|
-
},
|
|
13
|
-
},
|
|
14
|
-
extensionsToTreatAsEsm: ['.ts', '.tsx'],
|
|
15
|
-
moduleNameMapper: {
|
|
16
|
-
'^(\\.{1,2}/.*)\\.js$': '$1',
|
|
17
|
-
},
|
|
18
|
-
|
|
19
|
-
collectCoverage: true,
|
|
20
|
-
coverageDirectory: '<rootDir>/coverage/',
|
|
21
|
-
collectCoverageFrom: ['<rootDir>/src/**/*.{ts,tsx}'],
|
|
22
|
-
coverageThreshold: {
|
|
23
|
-
global: {
|
|
24
|
-
branches: 0,
|
|
25
|
-
functions: 0,
|
|
26
|
-
lines: 0,
|
|
27
|
-
statements: 0,
|
|
28
|
-
},
|
|
29
|
-
},
|
|
30
|
-
};
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
to: '.swcrc'
|
|
3
|
-
strategy: overwrite
|
|
4
|
-
---
|
|
5
|
-
{
|
|
6
|
-
"jsc": {
|
|
7
|
-
"parser": {
|
|
8
|
-
"syntax": "typescript",
|
|
9
|
-
"tsx": true,
|
|
10
|
-
"dynamicImport": true
|
|
11
|
-
},
|
|
12
|
-
"transform": {
|
|
13
|
-
"react": {
|
|
14
|
-
"runtime": "automatic"
|
|
15
|
-
}
|
|
16
|
-
},
|
|
17
|
-
"target": "es2022"
|
|
18
|
-
},
|
|
19
|
-
"module": {
|
|
20
|
-
"type": "commonjs",
|
|
21
|
-
"strict": true,
|
|
22
|
-
"noInterop": true
|
|
23
|
-
},
|
|
24
|
-
"sourceMaps": true
|
|
25
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
to: 'jest.config.ts'
|
|
3
|
-
strategy: overwrite
|
|
4
|
-
---
|
|
5
|
-
export default {
|
|
6
|
-
preset: 'ts-jest/presets/default',
|
|
7
|
-
globals: {
|
|
8
|
-
'ts-jest': {
|
|
9
|
-
tsconfig: 'tsconfig.typecheck.json',
|
|
10
|
-
},
|
|
11
|
-
},
|
|
12
|
-
|
|
13
|
-
collectCoverage: true,
|
|
14
|
-
coverageDirectory: '<rootDir>/coverage/',
|
|
15
|
-
collectCoverageFrom: ['<rootDir>/src/**/*.{ts,tsx}'],
|
|
16
|
-
coverageThreshold: {
|
|
17
|
-
global: {
|
|
18
|
-
branches: 0,
|
|
19
|
-
functions: 0,
|
|
20
|
-
lines: 0,
|
|
21
|
-
statements: 0,
|
|
22
|
-
},
|
|
23
|
-
},
|
|
24
|
-
};
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
to: '.swcrc'
|
|
3
|
-
strategy: overwrite
|
|
4
|
-
---
|
|
5
|
-
{
|
|
6
|
-
"jsc": {
|
|
7
|
-
"parser": {
|
|
8
|
-
"syntax": "typescript",
|
|
9
|
-
"tsx": true,
|
|
10
|
-
"dynamicImport": true
|
|
11
|
-
},
|
|
12
|
-
"transform": {
|
|
13
|
-
"react": {
|
|
14
|
-
"runtime": "automatic"
|
|
15
|
-
}
|
|
16
|
-
},
|
|
17
|
-
"target": "es2022"
|
|
18
|
-
},
|
|
19
|
-
"module": {
|
|
20
|
-
"type": "commonjs",
|
|
21
|
-
"strict": true,
|
|
22
|
-
"noInterop": true
|
|
23
|
-
},
|
|
24
|
-
"sourceMaps": true
|
|
25
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
to: 'jest.config.ts'
|
|
3
|
-
strategy: overwrite
|
|
4
|
-
---
|
|
5
|
-
export default {
|
|
6
|
-
preset: 'ts-jest/presets/default',
|
|
7
|
-
globals: {
|
|
8
|
-
'ts-jest': {
|
|
9
|
-
tsconfig: 'tsconfig.typecheck.json',
|
|
10
|
-
},
|
|
11
|
-
},
|
|
12
|
-
|
|
13
|
-
collectCoverage: true,
|
|
14
|
-
coverageDirectory: '<rootDir>/coverage/',
|
|
15
|
-
collectCoverageFrom: ['<rootDir>/src/**/*.{ts,tsx}'],
|
|
16
|
-
coverageThreshold: {
|
|
17
|
-
global: {
|
|
18
|
-
branches: 50,
|
|
19
|
-
functions: 50,
|
|
20
|
-
lines: 50,
|
|
21
|
-
statements: 50,
|
|
22
|
-
},
|
|
23
|
-
},
|
|
24
|
-
};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
to: 'tests/tsconfig.json'
|
|
3
|
-
strategy: overwrite
|
|
4
|
-
---
|
|
5
|
-
{
|
|
6
|
-
"extends": "../../../tsconfig.options.json",
|
|
7
|
-
"compilerOptions": {
|
|
8
|
-
"composite": false,
|
|
9
|
-
"noEmit": true
|
|
10
|
-
},
|
|
11
|
-
"include": ["./**/*"],
|
|
12
|
-
"references": [
|
|
13
|
-
{
|
|
14
|
-
"path": ".."
|
|
15
|
-
}
|
|
16
|
-
]
|
|
17
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
to: '.swcrc'
|
|
3
|
-
strategy: overwrite
|
|
4
|
-
---
|
|
5
|
-
{
|
|
6
|
-
"jsc": {
|
|
7
|
-
"parser": {
|
|
8
|
-
"syntax": "typescript",
|
|
9
|
-
"tsx": true,
|
|
10
|
-
"dynamicImport": true
|
|
11
|
-
},
|
|
12
|
-
"transform": {
|
|
13
|
-
"react": {
|
|
14
|
-
"runtime": "automatic"
|
|
15
|
-
}
|
|
16
|
-
},
|
|
17
|
-
"target": "es2022"
|
|
18
|
-
},
|
|
19
|
-
"module": {
|
|
20
|
-
"type": "es6"
|
|
21
|
-
},
|
|
22
|
-
"sourceMaps": true
|
|
23
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
to: 'jest.config.ts'
|
|
3
|
-
strategy: overwrite
|
|
4
|
-
---
|
|
5
|
-
export default {
|
|
6
|
-
preset: 'ts-jest/presets/default-esm',
|
|
7
|
-
globals: {
|
|
8
|
-
'ts-jest': {
|
|
9
|
-
useESM: true,
|
|
10
|
-
isolatedModules: true,
|
|
11
|
-
tsconfig: 'tsconfig.typecheck.json',
|
|
12
|
-
},
|
|
13
|
-
},
|
|
14
|
-
extensionsToTreatAsEsm: ['.ts', '.tsx'],
|
|
15
|
-
moduleNameMapper: {
|
|
16
|
-
'^(\\.{1,2}/.*)\\.js$': '$1',
|
|
17
|
-
},
|
|
18
|
-
|
|
19
|
-
collectCoverage: true,
|
|
20
|
-
coverageDirectory: '<rootDir>/coverage/',
|
|
21
|
-
collectCoverageFrom: ['<rootDir>/src/**/*.{ts,tsx}'],
|
|
22
|
-
coverageThreshold: {
|
|
23
|
-
global: {
|
|
24
|
-
branches: 0,
|
|
25
|
-
functions: 0,
|
|
26
|
-
lines: 0,
|
|
27
|
-
statements: 0,
|
|
28
|
-
},
|
|
29
|
-
},
|
|
30
|
-
};
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
to: 'prettier.config.js'
|
|
3
|
-
strategy: overwrite
|
|
4
|
-
---
|
|
5
|
-
module.exports = {
|
|
6
|
-
arrowParens: 'always',
|
|
7
|
-
bracketSameLine: false,
|
|
8
|
-
bracketSpacing: false,
|
|
9
|
-
embeddedLanguageFormatting: 'auto',
|
|
10
|
-
htmlWhitespaceSensitivity: 'css',
|
|
11
|
-
jsxSingleQuote: false,
|
|
12
|
-
printWidth: 100,
|
|
13
|
-
proseWrap: 'always',
|
|
14
|
-
quoteProps: 'as-needed',
|
|
15
|
-
requirePragma: false,
|
|
16
|
-
semi: true,
|
|
17
|
-
singleQuote: true,
|
|
18
|
-
trailingComma: 'all',
|
|
19
|
-
};
|