@jakubmazanec/carson-templates 3.4.0-next.1fd7238e → 4.0.0-next.1ccffc71
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 +4 -1
- package/build/constants.d.ts +3 -0
- package/build/constants.js +18 -15
- package/build/constants.js.map +2 -2
- package/build/getAppUrl.js +2 -1
- package/build/getAppUrl.js.map +2 -2
- package/package.json +13 -14
- package/source/constants.ts +21 -14
- package/source/getAppUrl.ts +3 -1
- package/templates/.editorconfig.ejs +28 -0
- package/templates/.prettierignore.ejs +13 -0
- package/templates/CONTRIBUTING.md.ejs +17 -0
- package/templates/README.md.insert.header.ejs +12 -0
- package/templates/README.md.insert.prerequisites.ejs +9 -0
- package/templates/main.ts.check.ejs +4 -0
- package/templates/main.ts.create.ejs +5 -0
- package/templates/prettier.config.cjs.ejs +19 -0
- package/templates/projects/carson-templates/.editorconfig.ejs +1 -26
- package/templates/projects/carson-templates/.prettierignore.ejs +1 -1
- package/templates/projects/carson-templates/CONTRIBUTING.md.ejs +1 -1
- package/templates/projects/carson-templates/README.md.insert.header.ejs +1 -10
- package/templates/projects/carson-templates/README.md.insert.prerequisites.ejs +8 -0
- package/templates/projects/carson-templates/package.json.create.ejs +1 -1
- package/templates/projects/carson-templates/package.json.ejs +19 -20
- package/templates/projects/carson-templates/prettier.config.cjs.ejs +1 -1
- package/templates/projects/carson-templates/source/main.ts.check.ejs +1 -2
- package/templates/projects/carson-templates/source/main.ts.create.ejs +1 -4
- package/templates/projects/carson-templates/tests/tsconfig.json.ejs +1 -22
- package/templates/projects/carson-templates/tsconfig.json.ejs +1 -26
- package/templates/projects/carson-templates/typedoc.config.cjs.ejs +1 -1
- package/templates/projects/changesets-changelog/.editorconfig.ejs +1 -26
- package/templates/projects/changesets-changelog/.prettierignore.ejs +1 -1
- package/templates/projects/changesets-changelog/CONTRIBUTING.md.ejs +1 -1
- package/templates/projects/changesets-changelog/README.md.insert.header.ejs +1 -10
- package/templates/projects/changesets-changelog/README.md.insert.prerequisites.ejs +8 -0
- package/templates/projects/changesets-changelog/package.json.create.ejs +1 -1
- package/templates/projects/changesets-changelog/package.json.ejs +17 -18
- package/templates/projects/changesets-changelog/prettier.config.cjs.ejs +1 -1
- package/templates/projects/changesets-changelog/source/main.ts.check.ejs +1 -2
- package/templates/projects/changesets-changelog/source/main.ts.create.ejs +1 -4
- package/templates/projects/changesets-changelog/tests/tsconfig.json.ejs +1 -22
- package/templates/projects/changesets-changelog/tsconfig.json.ejs +1 -26
- package/templates/projects/eslint-config/.editorconfig.ejs +1 -26
- package/templates/projects/eslint-config/.prettierignore.ejs +1 -1
- package/templates/projects/eslint-config/CONTRIBUTING.md.ejs +1 -1
- package/templates/projects/eslint-config/README.md.insert.header.ejs +1 -10
- package/templates/projects/eslint-config/README.md.insert.prerequisites.ejs +3 -0
- package/templates/projects/eslint-config/package.json.create.ejs +1 -1
- package/templates/projects/eslint-config/package.json.ejs +12 -13
- package/templates/projects/eslint-config/prettier.config.cjs.ejs +1 -1
- package/templates/projects/eslint-config/source/main.ts.check.ejs +1 -2
- package/templates/projects/eslint-config/source/main.ts.create.ejs +1 -4
- package/templates/projects/eslint-config/tsconfig.json.ejs +1 -26
- package/templates/projects/library/.editorconfig.ejs +1 -26
- package/templates/projects/library/.prettierignore.ejs +1 -1
- package/templates/projects/library/CONTRIBUTING.md.ejs +1 -16
- package/templates/projects/library/README.md.insert.header.ejs +1 -10
- package/templates/projects/library/README.md.insert.prerequisites.ejs +3 -0
- package/templates/projects/library/package.json.create.ejs +1 -1
- package/templates/projects/library/package.json.ejs +20 -21
- package/templates/projects/library/prettier.config.cjs.ejs +1 -1
- package/templates/projects/library/source/main.ts.check.ejs +1 -2
- package/templates/projects/library/source/main.ts.create.ejs +1 -3
- package/templates/projects/library/tests/tsconfig.json.ejs +1 -22
- package/templates/projects/library/tsconfig.json.ejs +1 -26
- package/templates/projects/library/typedoc.config.cjs.ejs +1 -16
- package/templates/projects/react-library/.editorconfig.ejs +1 -1
- package/templates/projects/react-library/CONTRIBUTING.md.ejs +1 -1
- package/templates/projects/react-library/README.md.insert.header.ejs +1 -10
- package/templates/projects/react-library/README.md.insert.prerequisites.ejs +3 -0
- package/templates/projects/react-library/package.json.ejs +4 -3
- package/templates/projects/react-library/source/main.ts.check.ejs +1 -1
- package/templates/projects/react-library/source/main.ts.create.ejs +1 -1
- package/templates/projects/react-library/tests/tsconfig.json.ejs +1 -22
- package/templates/projects/react-library/tsconfig.json.ejs +1 -1
- package/templates/projects/react-library/typedoc.config.cjs.ejs +1 -1
- package/templates/projects/remix-app/.editorconfig.ejs +1 -26
- package/templates/projects/remix-app/.prettierignore.ejs +11 -1
- package/templates/projects/remix-app/CONTRIBUTING.md.ejs +1 -1
- package/templates/projects/remix-app/Dockerfile.ejs +1 -1
- package/templates/projects/remix-app/README.md.insert.header.ejs +1 -10
- package/templates/projects/remix-app/env.d.ts.ejs +1 -1
- package/templates/projects/remix-app/eslint.config.js.ejs +1 -1
- package/templates/projects/remix-app/fly.toml.ejs +1 -1
- package/templates/projects/remix-app/package.json.create.ejs +1 -1
- package/templates/projects/remix-app/package.json.ejs +17 -11
- package/templates/projects/remix-app/react-router.config.ts.ejs +22 -0
- package/templates/projects/remix-app/{app → source}/entry.client.tsx.create.ejs +3 -3
- package/templates/projects/remix-app/{app → source}/root.tsx.create.ejs +2 -2
- package/templates/projects/remix-app/{app → source}/routes/_index.tsx.create.ejs +2 -2
- package/templates/projects/remix-app/source/routes.ts.create.ejs +8 -0
- package/templates/projects/remix-app/{app → source}/tailwind.css.create.ejs +1 -1
- package/templates/projects/remix-app/{app → source}/tailwindConfig.ts.create.ejs +2 -2
- package/templates/projects/remix-app/tailwind.config.ts.ejs +1 -1
- package/templates/projects/remix-app/tests/tsconfig.json.ejs +1 -22
- package/templates/projects/remix-app/tsconfig.json.ejs +4 -2
- package/templates/projects/remix-app/tsconfig.typecheck.json.ejs +3 -1
- package/templates/projects/remix-app/vite.config.ts.ejs +4 -21
- package/templates/tsconfig.json.ejs +28 -0
- package/templates/tsconfig.test.json.ejs +24 -0
- package/templates/typedoc.config.cjs.ejs +18 -0
- package/templates/workspace/.dockerignore.ejs +13 -13
- package/templates/workspace/.editorconfig.ejs +1 -26
- package/templates/workspace/.github/workflows/update-pull-request.yaml.ejs +4 -4
- package/templates/workspace/.gitignore.ejs +3 -1
- package/templates/workspace/.prettierignore.ejs +1 -11
- package/templates/workspace/package.json.create.ejs +1 -1
- package/templates/workspace/package.json.ejs +2 -3
- package/templates/workspace/prettier.config.cjs.ejs +1 -17
- package/templates/workspace/turbo.json.ejs +3 -3
package/README.md
CHANGED
package/build/constants.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
export declare const AUTHOR = "Jakub Mazanec <jakub@mazanec.dev>";
|
|
1
2
|
export declare const BUILD_DIRECTORY = "build";
|
|
2
3
|
export declare const STORYBOOK_BUILD_DIRECTORY = "storybook-static";
|
|
3
4
|
export declare const SOURCE_DIRECTORY = "source";
|
|
5
|
+
export declare const APP_PORT = 5000;
|
|
4
6
|
export declare const CARSON_PACKAGE_NAME = "@jakubmazanec/carson";
|
|
5
7
|
export declare const TEMPLATE_PACKAGE_NAME = "@jakubmazanec/carson-templates";
|
|
6
8
|
export declare const LINTER_CONFIG_PACKAGE_NAME = "@jakubmazanec/eslint-config";
|
|
@@ -9,6 +11,7 @@ export declare const MAIN_BRANCH_NAMES: Set<string>;
|
|
|
9
11
|
export declare const DEVELOPMENT_BRANCH_NAMES: Set<string>;
|
|
10
12
|
export declare const LINT_IGNORES: string[];
|
|
11
13
|
export declare const FORMAT_IGNORE_PATTERNS: string[];
|
|
14
|
+
export declare const ECMASCRIPT_VERSION = 2024;
|
|
12
15
|
export declare const TSCONFIG_COMPILER_OPTIONS: {
|
|
13
16
|
allowSyntheticDefaultImports: boolean;
|
|
14
17
|
composite: boolean;
|
package/build/constants.js
CHANGED
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
import fs from "node:fs";
|
|
3
3
|
import { createRequire } from "node:module";
|
|
4
4
|
import semver from "semver";
|
|
5
|
+
export const AUTHOR = "Jakub Mazanec <jakub@mazanec.dev>";
|
|
5
6
|
export const BUILD_DIRECTORY = "build";
|
|
6
7
|
export const STORYBOOK_BUILD_DIRECTORY = "storybook-static";
|
|
7
8
|
export const SOURCE_DIRECTORY = "source";
|
|
9
|
+
export const APP_PORT = 5e3;
|
|
8
10
|
export const CARSON_PACKAGE_NAME = "@jakubmazanec/carson";
|
|
9
11
|
export const TEMPLATE_PACKAGE_NAME = "@jakubmazanec/carson-templates";
|
|
10
12
|
export const LINTER_CONFIG_PACKAGE_NAME = "@jakubmazanec/eslint-config";
|
|
@@ -36,6 +38,7 @@ export const FORMAT_IGNORE_PATTERNS = [
|
|
|
36
38
|
"LICENSE.md",
|
|
37
39
|
`${BUILD_DIRECTORY}/`
|
|
38
40
|
].sort();
|
|
41
|
+
export const ECMASCRIPT_VERSION = 2024;
|
|
39
42
|
export const TSCONFIG_COMPILER_OPTIONS = {
|
|
40
43
|
allowSyntheticDefaultImports: true,
|
|
41
44
|
composite: true,
|
|
@@ -43,17 +46,16 @@ export const TSCONFIG_COMPILER_OPTIONS = {
|
|
|
43
46
|
forceConsistentCasingInFileNames: true,
|
|
44
47
|
isolatedModules: true,
|
|
45
48
|
jsx: "react-jsx",
|
|
46
|
-
lib: ["dom", "dom.iterable",
|
|
49
|
+
lib: ["dom", "dom.iterable", `es${ECMASCRIPT_VERSION}`],
|
|
47
50
|
module: "node16",
|
|
48
51
|
moduleResolution: "node16",
|
|
49
|
-
noEmitOnError:
|
|
50
|
-
// TODO: change to `true` when this is fixed: https://github.com/kulshekhar/ts-jest/issues/4198
|
|
52
|
+
noEmitOnError: true,
|
|
51
53
|
noImplicitOverride: true,
|
|
52
54
|
noImplicitReturns: true,
|
|
53
55
|
noUncheckedIndexedAccess: true,
|
|
54
56
|
skipLibCheck: true,
|
|
55
57
|
strict: true,
|
|
56
|
-
target:
|
|
58
|
+
target: `es${ECMASCRIPT_VERSION}`
|
|
57
59
|
};
|
|
58
60
|
export const PRETTIER_OPTIONS = {
|
|
59
61
|
arrowParens: "always",
|
|
@@ -110,11 +112,10 @@ export const DEPENDENCY_VERSIONS = {
|
|
|
110
112
|
[LINTER_CONFIG_PACKAGE_NAME]: "^4.0.0",
|
|
111
113
|
"@changesets/cli": "^2.0.0",
|
|
112
114
|
"@chromatic-com/storybook": "^3.0.0",
|
|
113
|
-
"@
|
|
114
|
-
"@
|
|
115
|
-
"@
|
|
116
|
-
"@
|
|
117
|
-
"@remix-run/serve": "^2.0.0",
|
|
115
|
+
"@react-router/dev": "^7.0.0",
|
|
116
|
+
"@react-router/fs-routes": "^7.0.0",
|
|
117
|
+
"@react-router/node": "^7.0.0",
|
|
118
|
+
"@react-router/serve": "^7.0.0",
|
|
118
119
|
"@storybook/addon-controls": "^8.0.0",
|
|
119
120
|
"@storybook/addon-essentials": "^8.0.0",
|
|
120
121
|
"@storybook/addon-interactions": "^8.0.0",
|
|
@@ -128,10 +129,11 @@ export const DEPENDENCY_VERSIONS = {
|
|
|
128
129
|
"@testing-library/react": "^16.0.0",
|
|
129
130
|
"@types/lodash": "^4.0.0",
|
|
130
131
|
"@types/node": "^22.0.0",
|
|
131
|
-
"@types/react": "^
|
|
132
|
-
"@types/react-dom": "^
|
|
132
|
+
"@types/react": "^19.0.0",
|
|
133
|
+
"@types/react-dom": "^19.0.0",
|
|
133
134
|
"@vitest/coverage-v8": "^2.0.0",
|
|
134
135
|
autoprefixer: "^10.0.0",
|
|
136
|
+
chromatic: "^11.0.0",
|
|
135
137
|
concurrently: "^9.0.0",
|
|
136
138
|
"cross-env": "^7.0.0",
|
|
137
139
|
"del-cli": "^6.0.0",
|
|
@@ -144,17 +146,18 @@ export const DEPENDENCY_VERSIONS = {
|
|
|
144
146
|
prettier: "^3.0.0",
|
|
145
147
|
"prettier-plugin-packagejson": "^2.0.0",
|
|
146
148
|
"prettier-plugin-tailwindcss": "^0.6.0",
|
|
147
|
-
react: "^
|
|
148
|
-
"react-dom": "^
|
|
149
|
+
react: "^19.0.0",
|
|
150
|
+
"react-dom": "^19.0.0",
|
|
151
|
+
"react-router": "^7.0.0",
|
|
149
152
|
storybook: "^8.0.0",
|
|
150
153
|
tailwindcss: "^3.0.0",
|
|
151
154
|
turbo: "^2.0.0",
|
|
152
155
|
typedoc: "^0.27.0",
|
|
153
156
|
"typedoc-plugin-markdown": "^4.0.0",
|
|
154
157
|
typescript: "^5.0.0",
|
|
155
|
-
vite: "^
|
|
158
|
+
vite: "^6.0.0",
|
|
156
159
|
vitest: "^2.0.0",
|
|
157
|
-
node: "^22.
|
|
160
|
+
node: "^22.13.0",
|
|
158
161
|
npm: "^10.9.0"
|
|
159
162
|
};
|
|
160
163
|
export const BUILD_TO_ESM_COMMAND = `esbuild "${SOURCE_DIRECTORY}/**/*" --platform=node --target=node${semver.major(semver.minVersion(DEPENDENCY_VERSIONS.node))}.${semver.minor(semver.minVersion(DEPENDENCY_VERSIONS.node))} --outdir=${BUILD_DIRECTORY} --sourcemap`;
|
package/build/constants.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../source/constants.ts"],
|
|
4
|
-
"sourcesContent": ["import fs from 'node:fs';\nimport {createRequire} from 'node:module';\nimport semver from 'semver';\n\nexport const BUILD_DIRECTORY = 'build';\nexport const STORYBOOK_BUILD_DIRECTORY = 'storybook-static';\nexport const SOURCE_DIRECTORY = 'source';\n\nexport const CARSON_PACKAGE_NAME = '@jakubmazanec/carson';\nexport const TEMPLATE_PACKAGE_NAME = '@jakubmazanec/carson-templates';\nexport const LINTER_CONFIG_PACKAGE_NAME = '@jakubmazanec/eslint-config';\nexport const CHANGELOG_PACKAGE_NAME = '@jakubmazanec/changesets-changelog';\n\nexport const MAIN_BRANCH_NAMES = new Set(['main', 'master']);\nexport const DEVELOPMENT_BRANCH_NAMES = new Set(['dev', 'develop', 'development']);\n\nexport const LINT_IGNORES = [\n '.cache/**',\n '.turbo/**',\n 'bin/**',\n 'coverage/**',\n 'node_modules/**',\n 'public/**',\n '**/*.d.ts',\n '**/*.json',\n '**/*.md',\n '**/*.mdx',\n `${BUILD_DIRECTORY}/**`,\n].sort();\n\nexport const FORMAT_IGNORE_PATTERNS = [\n '.cache/',\n '.turbo/',\n 'coverage/',\n 'node_modules/',\n 'public/',\n 'npm-shrinkwrap.json',\n 'package-lock.json',\n 'CHANGELOG.md',\n 'LICENSE.md',\n `${BUILD_DIRECTORY}/`,\n].sort();\n\nexport const TSCONFIG_COMPILER_OPTIONS = {\n allowSyntheticDefaultImports: true,\n composite: true,\n exactOptionalPropertyTypes: true,\n forceConsistentCasingInFileNames: true,\n isolatedModules: true,\n jsx: 'react-jsx',\n lib: ['dom', 'dom.iterable',
|
|
5
|
-
"mappings": ";AAAA,OAAO,QAAQ;AACf,SAAQ,qBAAoB;AAC5B,OAAO,YAAY;AAEZ,aAAM,kBAAkB;AACxB,aAAM,4BAA4B;AAClC,aAAM,mBAAmB;AAEzB,aAAM,sBAAsB;AAC5B,aAAM,wBAAwB;AAC9B,aAAM,6BAA6B;AACnC,aAAM,yBAAyB;AAE/B,aAAM,oBAAoB,oBAAI,IAAI,CAAC,QAAQ,QAAQ,CAAC;AACpD,aAAM,2BAA2B,oBAAI,IAAI,CAAC,OAAO,WAAW,aAAa,CAAC;AAE1E,aAAM,eAAe;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG,eAAe;AACpB,EAAE,KAAK;AAEA,aAAM,yBAAyB;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG,eAAe;AACpB,EAAE,KAAK;AAEA,aAAM,4BAA4B;AAAA,EACvC,8BAA8B;AAAA,EAC9B,WAAW;AAAA,EACX,4BAA4B;AAAA,EAC5B,kCAAkC;AAAA,EAClC,iBAAiB;AAAA,EACjB,KAAK;AAAA,EACL,KAAK,CAAC,OAAO,gBAAgB,
|
|
4
|
+
"sourcesContent": ["import fs from 'node:fs';\nimport {createRequire} from 'node:module';\nimport semver from 'semver';\n\nexport const AUTHOR = 'Jakub Mazanec <jakub@mazanec.dev>';\n\nexport const BUILD_DIRECTORY = 'build';\nexport const STORYBOOK_BUILD_DIRECTORY = 'storybook-static';\nexport const SOURCE_DIRECTORY = 'source';\n\nexport const APP_PORT = 5000;\n\nexport const CARSON_PACKAGE_NAME = '@jakubmazanec/carson';\nexport const TEMPLATE_PACKAGE_NAME = '@jakubmazanec/carson-templates';\nexport const LINTER_CONFIG_PACKAGE_NAME = '@jakubmazanec/eslint-config';\nexport const CHANGELOG_PACKAGE_NAME = '@jakubmazanec/changesets-changelog';\n\nexport const MAIN_BRANCH_NAMES = new Set(['main', 'master']);\nexport const DEVELOPMENT_BRANCH_NAMES = new Set(['dev', 'develop', 'development']);\n\nexport const LINT_IGNORES = [\n '.cache/**',\n '.turbo/**',\n 'bin/**',\n 'coverage/**',\n 'node_modules/**',\n 'public/**',\n '**/*.d.ts',\n '**/*.json',\n '**/*.md',\n '**/*.mdx',\n `${BUILD_DIRECTORY}/**`,\n].sort();\n\nexport const FORMAT_IGNORE_PATTERNS = [\n '.cache/',\n '.turbo/',\n 'coverage/',\n 'node_modules/',\n 'public/',\n 'npm-shrinkwrap.json',\n 'package-lock.json',\n 'CHANGELOG.md',\n 'LICENSE.md',\n `${BUILD_DIRECTORY}/`,\n].sort();\n\nexport const ECMASCRIPT_VERSION = 2024;\n\nexport const TSCONFIG_COMPILER_OPTIONS = {\n allowSyntheticDefaultImports: true,\n composite: true,\n exactOptionalPropertyTypes: true,\n forceConsistentCasingInFileNames: true,\n isolatedModules: true,\n jsx: 'react-jsx',\n lib: ['dom', 'dom.iterable', `es${ECMASCRIPT_VERSION}`],\n module: 'node16',\n moduleResolution: 'node16',\n noEmitOnError: true,\n noImplicitOverride: true,\n noImplicitReturns: true,\n noUncheckedIndexedAccess: true,\n skipLibCheck: true,\n strict: true,\n target: `es${ECMASCRIPT_VERSION}`,\n};\n\nexport const PRETTIER_OPTIONS = {\n arrowParens: 'always',\n bracketSameLine: false,\n bracketSpacing: false,\n embeddedLanguageFormatting: 'auto',\n experimentalTernaries: true,\n htmlWhitespaceSensitivity: 'css',\n jsxSingleQuote: false,\n printWidth: 100,\n proseWrap: 'always',\n quoteProps: 'as-needed',\n requirePragma: false,\n semi: true,\n singleQuote: true,\n trailingComma: 'all',\n // TODO: remove when this is fixed: https://github.com/prettier/prettier/issues/15956\n overrides: [\n {\n files: ['tsconfig.json'],\n options: {\n trailingComma: 'none',\n },\n },\n ],\n};\n\nexport const TYPEDOC_CONFIG = {\n plugin: 'typedoc-plugin-markdown',\n entryPoints: [`./${SOURCE_DIRECTORY}/main.ts`],\n out: 'docs',\n readme: 'none',\n githubPages: false,\n hideBreadcrumbs: true,\n};\n\n// dependencies\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\nexport const DEPENDENCY_VERSIONS: Record<string, string> = {\n [CARSON_PACKAGE_NAME]:\n isCarsonPackageVersionPrerelease ? carsonPackageVersion : `^${carsonPackageVersion}`,\n [TEMPLATE_PACKAGE_NAME]:\n isTemplatesPackageVersionPrerelease ? templatesPackageVersion : `^${templatesPackageVersion}`,\n [CHANGELOG_PACKAGE_NAME]: '^2.0.0',\n [LINTER_CONFIG_PACKAGE_NAME]: '^4.0.0',\n\n '@changesets/cli': '^2.0.0',\n '@chromatic-com/storybook': '^3.0.0',\n '@react-router/dev': '^7.0.0',\n '@react-router/fs-routes': '^7.0.0',\n '@react-router/node': '^7.0.0',\n '@react-router/serve': '^7.0.0',\n '@storybook/addon-controls': '^8.0.0',\n '@storybook/addon-essentials': '^8.0.0',\n '@storybook/addon-interactions': '^8.0.0',\n '@storybook/addon-links': '^8.0.0',\n '@storybook/blocks': '^8.0.0',\n '@storybook/preview-api': '^8.0.0',\n '@storybook/react': '^8.0.0',\n '@storybook/react-vite': '^8.0.0',\n '@storybook/test': '^8.0.0',\n '@testing-library/jest-dom': '^6.0.0',\n '@testing-library/react': '^16.0.0',\n '@types/lodash': '^4.0.0',\n '@types/node': '^22.0.0',\n '@types/react': '^19.0.0',\n '@types/react-dom': '^19.0.0',\n '@vitest/coverage-v8': '^2.0.0',\n autoprefixer: '^10.0.0',\n chromatic: '^11.0.0',\n concurrently: '^9.0.0',\n 'cross-env': '^7.0.0',\n 'del-cli': '^6.0.0',\n esbuild: '^0.24.0',\n eslint: '^9.0.0',\n 'happy-dom': '^16.0.0',\n isbot: '^5.0.0',\n lodash: '^4.0.0',\n 'patch-package': '^8.0.0',\n prettier: '^3.0.0',\n 'prettier-plugin-packagejson': '^2.0.0',\n 'prettier-plugin-tailwindcss': '^0.6.0',\n react: '^19.0.0',\n 'react-dom': '^19.0.0',\n 'react-router': '^7.0.0',\n storybook: '^8.0.0',\n tailwindcss: '^3.0.0',\n turbo: '^2.0.0',\n typedoc: '^0.27.0',\n 'typedoc-plugin-markdown': '^4.0.0',\n typescript: '^5.0.0',\n vite: '^6.0.0',\n vitest: '^2.0.0',\n\n node: '^22.13.0',\n npm: '^10.9.0',\n};\n\n// commands\nexport const BUILD_TO_ESM_COMMAND = `esbuild \"${SOURCE_DIRECTORY}/**/*\" --platform=node --target=node${semver.major(semver.minVersion(DEPENDENCY_VERSIONS.node!)!)}.${semver.minor(semver.minVersion(DEPENDENCY_VERSIONS.node!)!)} --outdir=${BUILD_DIRECTORY} --sourcemap`;\nexport const BUILD_TO_CJS_COMMAND = `esbuild \"${SOURCE_DIRECTORY}/**/*\" --platform=node --target=node${semver.major(semver.minVersion(DEPENDENCY_VERSIONS.node!)!)}.${semver.minor(semver.minVersion(DEPENDENCY_VERSIONS.node!)!)} --format=cjs --outdir=${BUILD_DIRECTORY} --sourcemap`;\nexport const FORMAT_COMMAND = 'prettier . --write --ignore-unknown';\nexport const TEST_COMMAND = 'vitest run --coverage --passWithNoTests';\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/build/getAppUrl.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
import { APP_PORT } from "./constants.js";
|
|
2
3
|
export function getAppUrl(project, deploymentEnvironment) {
|
|
3
4
|
let appName = project.config.deployment?.appName;
|
|
4
5
|
let appUrl = project.config.deployment?.appUrl;
|
|
@@ -6,7 +7,7 @@ export function getAppUrl(project, deploymentEnvironment) {
|
|
|
6
7
|
return appUrl;
|
|
7
8
|
}
|
|
8
9
|
if (!appName) {
|
|
9
|
-
return `http://localhost
|
|
10
|
+
return `http://localhost:${APP_PORT}`;
|
|
10
11
|
}
|
|
11
12
|
return `https://${deploymentEnvironment ? `${appName}-${deploymentEnvironment}` : appName}.fly.dev`;
|
|
12
13
|
}
|
package/build/getAppUrl.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../source/getAppUrl.ts"],
|
|
4
|
-
"sourcesContent": ["import {type Project} from '@jakubmazanec/carson';\n\nexport function getAppUrl(project: Project, deploymentEnvironment?: string) {\n let appName = (project.config as {deployment?: {appName?: string}}).deployment?.appName;\n let appUrl = (project.config as {deployment?: {appUrl?: string}}).deployment?.appUrl;\n\n if ((appUrl && deploymentEnvironment === undefined) || (!appName && appUrl)) {\n return appUrl;\n }\n\n if (!appName) {\n return `http://localhost
|
|
5
|
-
"mappings": ";
|
|
4
|
+
"sourcesContent": ["import {type Project} from '@jakubmazanec/carson';\n\nimport {APP_PORT} from './constants.js';\n\nexport function getAppUrl(project: Project, deploymentEnvironment?: string) {\n let appName = (project.config as {deployment?: {appName?: string}}).deployment?.appName;\n let appUrl = (project.config as {deployment?: {appUrl?: string}}).deployment?.appUrl;\n\n if ((appUrl && deploymentEnvironment === undefined) || (!appName && appUrl)) {\n return appUrl;\n }\n\n if (!appName) {\n return `http://localhost:${APP_PORT}`;\n }\n\n return `https://${deploymentEnvironment ? `${appName}-${deploymentEnvironment}` : appName}.fly.dev`;\n}\n"],
|
|
5
|
+
"mappings": ";AAEA,SAAQ,gBAAe;AAEhB,gBAAS,UAAU,SAAkB,uBAAgC;AAC1E,MAAI,UAAW,QAAQ,OAA6C,YAAY;AAChF,MAAI,SAAU,QAAQ,OAA4C,YAAY;AAE9E,MAAK,UAAU,0BAA0B,UAAe,CAAC,WAAW,QAAS;AAC3E,WAAO;AAAA,EACT;AAEA,MAAI,CAAC,SAAS;AACZ,WAAO,oBAAoB,QAAQ;AAAA,EACrC;AAEA,SAAO,WAAW,wBAAwB,GAAG,OAAO,IAAI,qBAAqB,KAAK,OAAO;AAC3F;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jakubmazanec/carson-templates",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0-next.1ccffc71",
|
|
4
4
|
"description": "Collection of Carson templates.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"templates"
|
|
22
22
|
],
|
|
23
23
|
"scripts": {
|
|
24
|
-
"build": "del-cli build tsconfig.tsbuildinfo && esbuild \"source/**/*\" --platform=node --target=node22.
|
|
24
|
+
"build": "del-cli build tsconfig.tsbuildinfo && esbuild \"source/**/*\" --platform=node --target=node22.13 --outdir=build --sourcemap && tsc",
|
|
25
25
|
"clean": "del-cli coverage build *.tsbuildinfo",
|
|
26
26
|
"document": "del-cli docs && typedoc --options typedoc.config.cjs",
|
|
27
27
|
"format": "prettier . --write --ignore-unknown",
|
|
@@ -34,34 +34,33 @@
|
|
|
34
34
|
"semver": "^7.6.3"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@jakubmazanec/carson": "
|
|
38
|
-
"@jakubmazanec/eslint-config": "
|
|
39
|
-
"@jakubmazanec/fs-utils": "
|
|
37
|
+
"@jakubmazanec/carson": "2.0.0-next.1ccffc71",
|
|
38
|
+
"@jakubmazanec/eslint-config": "4.1.3-next.1ccffc71",
|
|
39
|
+
"@jakubmazanec/fs-utils": "0.2.9-next.1ccffc71",
|
|
40
40
|
"@types/fs-extra": "^11.0.4",
|
|
41
|
-
"@types/lodash": "^4.17.
|
|
42
|
-
"@types/node": "^22.10.
|
|
41
|
+
"@types/lodash": "^4.17.14",
|
|
42
|
+
"@types/node": "^22.10.5",
|
|
43
43
|
"@types/zen-observable": "^0.8.7",
|
|
44
44
|
"@vitest/coverage-v8": "^2.1.8",
|
|
45
45
|
"del-cli": "^6.0.0",
|
|
46
46
|
"esbuild": "^0.24.2",
|
|
47
|
-
"eslint": "^9.
|
|
47
|
+
"eslint": "^9.18.0",
|
|
48
48
|
"execa": "^9.5.2",
|
|
49
|
-
"fast-glob": "^3.3.
|
|
49
|
+
"fast-glob": "^3.3.3",
|
|
50
50
|
"fs-extra": "^11.2.0",
|
|
51
|
-
"lodash": "^4.17.21",
|
|
52
51
|
"prettier": "^3.4.2",
|
|
53
52
|
"prettier-plugin-packagejson": "^2.5.6",
|
|
54
53
|
"typedoc": "^0.27.6",
|
|
55
|
-
"typedoc-plugin-markdown": "^4.4.
|
|
56
|
-
"typescript": "^5.7.
|
|
54
|
+
"typedoc-plugin-markdown": "^4.4.1",
|
|
55
|
+
"typescript": "^5.7.3",
|
|
57
56
|
"vitest": "^2.1.8",
|
|
58
57
|
"zen-observable": "^0.10.0"
|
|
59
58
|
},
|
|
60
59
|
"peerDependencies": {
|
|
61
|
-
"@jakubmazanec/carson": "
|
|
60
|
+
"@jakubmazanec/carson": "2.0.0-next.1ccffc71"
|
|
62
61
|
},
|
|
63
62
|
"packageManager": "npm@10.9.0",
|
|
64
63
|
"engines": {
|
|
65
|
-
"node": "^22.
|
|
64
|
+
"node": "^22.13.0"
|
|
66
65
|
}
|
|
67
66
|
}
|
package/source/constants.ts
CHANGED
|
@@ -2,10 +2,14 @@ import fs from 'node:fs';
|
|
|
2
2
|
import {createRequire} from 'node:module';
|
|
3
3
|
import semver from 'semver';
|
|
4
4
|
|
|
5
|
+
export const AUTHOR = 'Jakub Mazanec <jakub@mazanec.dev>';
|
|
6
|
+
|
|
5
7
|
export const BUILD_DIRECTORY = 'build';
|
|
6
8
|
export const STORYBOOK_BUILD_DIRECTORY = 'storybook-static';
|
|
7
9
|
export const SOURCE_DIRECTORY = 'source';
|
|
8
10
|
|
|
11
|
+
export const APP_PORT = 5000;
|
|
12
|
+
|
|
9
13
|
export const CARSON_PACKAGE_NAME = '@jakubmazanec/carson';
|
|
10
14
|
export const TEMPLATE_PACKAGE_NAME = '@jakubmazanec/carson-templates';
|
|
11
15
|
export const LINTER_CONFIG_PACKAGE_NAME = '@jakubmazanec/eslint-config';
|
|
@@ -41,6 +45,8 @@ export const FORMAT_IGNORE_PATTERNS = [
|
|
|
41
45
|
`${BUILD_DIRECTORY}/`,
|
|
42
46
|
].sort();
|
|
43
47
|
|
|
48
|
+
export const ECMASCRIPT_VERSION = 2024;
|
|
49
|
+
|
|
44
50
|
export const TSCONFIG_COMPILER_OPTIONS = {
|
|
45
51
|
allowSyntheticDefaultImports: true,
|
|
46
52
|
composite: true,
|
|
@@ -48,16 +54,16 @@ export const TSCONFIG_COMPILER_OPTIONS = {
|
|
|
48
54
|
forceConsistentCasingInFileNames: true,
|
|
49
55
|
isolatedModules: true,
|
|
50
56
|
jsx: 'react-jsx',
|
|
51
|
-
lib: ['dom', 'dom.iterable',
|
|
57
|
+
lib: ['dom', 'dom.iterable', `es${ECMASCRIPT_VERSION}`],
|
|
52
58
|
module: 'node16',
|
|
53
59
|
moduleResolution: 'node16',
|
|
54
|
-
noEmitOnError:
|
|
60
|
+
noEmitOnError: true,
|
|
55
61
|
noImplicitOverride: true,
|
|
56
62
|
noImplicitReturns: true,
|
|
57
63
|
noUncheckedIndexedAccess: true,
|
|
58
64
|
skipLibCheck: true,
|
|
59
65
|
strict: true,
|
|
60
|
-
target:
|
|
66
|
+
target: `es${ECMASCRIPT_VERSION}`,
|
|
61
67
|
};
|
|
62
68
|
|
|
63
69
|
export const PRETTIER_OPTIONS = {
|
|
@@ -129,11 +135,10 @@ export const DEPENDENCY_VERSIONS: Record<string, string> = {
|
|
|
129
135
|
|
|
130
136
|
'@changesets/cli': '^2.0.0',
|
|
131
137
|
'@chromatic-com/storybook': '^3.0.0',
|
|
132
|
-
'@
|
|
133
|
-
'@
|
|
134
|
-
'@
|
|
135
|
-
'@
|
|
136
|
-
'@remix-run/serve': '^2.0.0',
|
|
138
|
+
'@react-router/dev': '^7.0.0',
|
|
139
|
+
'@react-router/fs-routes': '^7.0.0',
|
|
140
|
+
'@react-router/node': '^7.0.0',
|
|
141
|
+
'@react-router/serve': '^7.0.0',
|
|
137
142
|
'@storybook/addon-controls': '^8.0.0',
|
|
138
143
|
'@storybook/addon-essentials': '^8.0.0',
|
|
139
144
|
'@storybook/addon-interactions': '^8.0.0',
|
|
@@ -147,10 +152,11 @@ export const DEPENDENCY_VERSIONS: Record<string, string> = {
|
|
|
147
152
|
'@testing-library/react': '^16.0.0',
|
|
148
153
|
'@types/lodash': '^4.0.0',
|
|
149
154
|
'@types/node': '^22.0.0',
|
|
150
|
-
'@types/react': '^
|
|
151
|
-
'@types/react-dom': '^
|
|
155
|
+
'@types/react': '^19.0.0',
|
|
156
|
+
'@types/react-dom': '^19.0.0',
|
|
152
157
|
'@vitest/coverage-v8': '^2.0.0',
|
|
153
158
|
autoprefixer: '^10.0.0',
|
|
159
|
+
chromatic: '^11.0.0',
|
|
154
160
|
concurrently: '^9.0.0',
|
|
155
161
|
'cross-env': '^7.0.0',
|
|
156
162
|
'del-cli': '^6.0.0',
|
|
@@ -163,18 +169,19 @@ export const DEPENDENCY_VERSIONS: Record<string, string> = {
|
|
|
163
169
|
prettier: '^3.0.0',
|
|
164
170
|
'prettier-plugin-packagejson': '^2.0.0',
|
|
165
171
|
'prettier-plugin-tailwindcss': '^0.6.0',
|
|
166
|
-
react: '^
|
|
167
|
-
'react-dom': '^
|
|
172
|
+
react: '^19.0.0',
|
|
173
|
+
'react-dom': '^19.0.0',
|
|
174
|
+
'react-router': '^7.0.0',
|
|
168
175
|
storybook: '^8.0.0',
|
|
169
176
|
tailwindcss: '^3.0.0',
|
|
170
177
|
turbo: '^2.0.0',
|
|
171
178
|
typedoc: '^0.27.0',
|
|
172
179
|
'typedoc-plugin-markdown': '^4.0.0',
|
|
173
180
|
typescript: '^5.0.0',
|
|
174
|
-
vite: '^
|
|
181
|
+
vite: '^6.0.0',
|
|
175
182
|
vitest: '^2.0.0',
|
|
176
183
|
|
|
177
|
-
node: '^22.
|
|
184
|
+
node: '^22.13.0',
|
|
178
185
|
npm: '^10.9.0',
|
|
179
186
|
};
|
|
180
187
|
|
package/source/getAppUrl.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {type Project} from '@jakubmazanec/carson';
|
|
2
2
|
|
|
3
|
+
import {APP_PORT} from './constants.js';
|
|
4
|
+
|
|
3
5
|
export function getAppUrl(project: Project, deploymentEnvironment?: string) {
|
|
4
6
|
let appName = (project.config as {deployment?: {appName?: string}}).deployment?.appName;
|
|
5
7
|
let appUrl = (project.config as {deployment?: {appUrl?: string}}).deployment?.appUrl;
|
|
@@ -9,7 +11,7 @@ export function getAppUrl(project: Project, deploymentEnvironment?: string) {
|
|
|
9
11
|
}
|
|
10
12
|
|
|
11
13
|
if (!appName) {
|
|
12
|
-
return `http://localhost
|
|
14
|
+
return `http://localhost:${APP_PORT}`;
|
|
13
15
|
}
|
|
14
16
|
|
|
15
17
|
return `https://${deploymentEnvironment ? `${appName}-${deploymentEnvironment}` : appName}.fly.dev`;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
to: '.editorconfig'
|
|
3
|
+
strategy: overwrite
|
|
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
|
+
|
|
13
|
+
root = true
|
|
14
|
+
|
|
15
|
+
[*]
|
|
16
|
+
end_of_line = lf
|
|
17
|
+
insert_final_newline = true
|
|
18
|
+
charset = utf-8
|
|
19
|
+
|
|
20
|
+
[**.{js,jsx,mjs,cjs,ts,tsx,cts,mts,css,graphql,json,yaml,yml}]
|
|
21
|
+
indent_style = space
|
|
22
|
+
indent_size = 2
|
|
23
|
+
trim_trailing_whitespace = true
|
|
24
|
+
|
|
25
|
+
[**.{md,mdx}]
|
|
26
|
+
indent_style = space
|
|
27
|
+
indent_size = 2
|
|
28
|
+
trim_trailing_whitespace = false
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
to: '.prettierignore'
|
|
3
|
+
strategy: overwrite
|
|
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
|
+
|
|
13
|
+
<%- FORMAT_IGNORE_PATTERNS.join('\n') %>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
to: 'CONTRIBUTING.md'
|
|
3
|
+
strategy: overwrite
|
|
4
|
+
---
|
|
5
|
+
# Contributing
|
|
6
|
+
|
|
7
|
+
Thank you for your interest in contributing to this project! Your help is greatly appreciated.
|
|
8
|
+
|
|
9
|
+
## Reporting Bugs
|
|
10
|
+
|
|
11
|
+
If you encounter a bug, please let me know by opening an issue with a detailed description. You can
|
|
12
|
+
also create a repository with a minimal reproducible example to help me fix it more quickly.
|
|
13
|
+
|
|
14
|
+
## Pull Requests
|
|
15
|
+
|
|
16
|
+
At this time, I am not accepting pull requests from external contributors. However, if you have a
|
|
17
|
+
feature request, please feel free to open an issue to discuss it.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
to: 'README.md'
|
|
3
|
+
strategy: [insert, prerequisites]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
#### Prerequisites
|
|
7
|
+
|
|
8
|
+
- Node.js <%- semver.major(semver.minVersion(DEPENDENCY_VERSIONS.node)) %> or later
|
|
9
|
+
- TypeScript <%- semver.major(semver.minVersion(DEPENDENCY_VERSIONS.typescript)) %> or later
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
to: 'prettier.config.cjs'
|
|
3
|
+
strategy: overwrite
|
|
4
|
+
---
|
|
5
|
+
<%
|
|
6
|
+
let prettierConfig = {
|
|
7
|
+
...PRETTIER_OPTIONS,
|
|
8
|
+
plugins: ['prettier-plugin-packagejson'],
|
|
9
|
+
};
|
|
10
|
+
-%>
|
|
11
|
+
/**
|
|
12
|
+
* DO NOT EDIT!
|
|
13
|
+
* This file was autogenerated by Carson.
|
|
14
|
+
* Changes may cause incorrect behavior and will be lost when the file is regenerated.
|
|
15
|
+
*
|
|
16
|
+
* Run `npx carson update workspace` to regenerate.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
module.exports = <%- JSON.stringify(prettierConfig, null, 2) %>;
|
|
@@ -1,28 +1,3 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
strategy: overwrite
|
|
2
|
+
extends: '../../.editorconfig.ejs'
|
|
4
3
|
---
|
|
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
|
-
|
|
13
|
-
root = true
|
|
14
|
-
|
|
15
|
-
[*]
|
|
16
|
-
end_of_line = lf
|
|
17
|
-
insert_final_newline = true
|
|
18
|
-
charset = utf-8
|
|
19
|
-
|
|
20
|
-
[**.{js,jsx,mjs,cjs,ts,tsx,cts,mts,css,graphql,json,yaml,yml}]
|
|
21
|
-
indent_style = space
|
|
22
|
-
indent_size = 2
|
|
23
|
-
trim_trailing_whitespace = true
|
|
24
|
-
|
|
25
|
-
[**.{md,mdx}]
|
|
26
|
-
indent_style = space
|
|
27
|
-
indent_size = 2
|
|
28
|
-
trim_trailing_whitespace = false
|
|
@@ -3,25 +3,24 @@ to: 'package.json'
|
|
|
3
3
|
strategy: merge
|
|
4
4
|
---
|
|
5
5
|
<%
|
|
6
|
-
let developmentDependencies =
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
);
|
|
6
|
+
let developmentDependencies = [
|
|
7
|
+
LINTER_CONFIG_PACKAGE_NAME,
|
|
8
|
+
'@types/lodash',
|
|
9
|
+
'@types/node',
|
|
10
|
+
'@vitest/coverage-v8',
|
|
11
|
+
'del-cli',
|
|
12
|
+
'esbuild',
|
|
13
|
+
'eslint',
|
|
14
|
+
'lodash',
|
|
15
|
+
'prettier',
|
|
16
|
+
'prettier-plugin-packagejson',
|
|
17
|
+
'typedoc',
|
|
18
|
+
'typedoc-plugin-markdown',
|
|
19
|
+
'typescript',
|
|
20
|
+
'vitest',
|
|
21
|
+
].filter((dependency) => {
|
|
22
|
+
return !Object.keys(project.packageJson.dependencies ?? {}).some((key) => key === dependency); // if the project package.json already contains dependency, we don't need to add it
|
|
23
|
+
});
|
|
25
24
|
let packageJson = {
|
|
26
25
|
repository: {
|
|
27
26
|
type: 'git',
|
|
@@ -42,7 +41,7 @@ let packageJson = {
|
|
|
42
41
|
test: `del-cli coverage && ${TEST_COMMAND}`,
|
|
43
42
|
typecheck: 'tsc --project tsconfig.typecheck.json',
|
|
44
43
|
},
|
|
45
|
-
devDependencies: developmentDependencies,
|
|
44
|
+
devDependencies: getDependencies(developmentDependencies, workspace),
|
|
46
45
|
packageManager: `npm@${semver.minVersion(DEPENDENCY_VERSIONS.npm)}`,
|
|
47
46
|
engines: {
|
|
48
47
|
node: DEPENDENCY_VERSIONS.node,
|