@jakubmazanec/carson-templates 2.0.0 → 2.0.1-next.01330c0

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.
@@ -6,6 +6,7 @@ export declare const FORMAT_COMMAND = "prettier . --write --ignore-unknown";
6
6
  export declare const TEST_COMMAND = "vitest run --coverage --passWithNoTests";
7
7
  export declare const CARSON_PACKAGE_NAME = "@jakubmazanec/carson";
8
8
  export declare const TEMPLATE_PACKAGE_NAME = "@jakubmazanec/carson-templates";
9
+ export declare const LINTER_CONFIG_PACKAGE_NAME = "@jakubmazanec/eslint-config";
9
10
  export declare const MAIN_BRANCH_NAMES: Set<string>;
10
11
  export declare const DEVELOPMENT_BRANCH_NAMES: Set<string>;
11
12
  export declare const LINT_IGNORE_PATTERNS: string[];
@@ -7,6 +7,7 @@ export const FORMAT_COMMAND = "prettier . --write --ignore-unknown";
7
7
  export const TEST_COMMAND = "vitest run --coverage --passWithNoTests";
8
8
  export const CARSON_PACKAGE_NAME = "@jakubmazanec/carson";
9
9
  export const TEMPLATE_PACKAGE_NAME = "@jakubmazanec/carson-templates";
10
+ export const LINTER_CONFIG_PACKAGE_NAME = "@jakubmazanec/eslint-config";
10
11
  export const MAIN_BRANCH_NAMES = /* @__PURE__ */ new Set(["main", "master"]);
11
12
  export const DEVELOPMENT_BRANCH_NAMES = /* @__PURE__ */ new Set(["development", "develop", "dev"]);
12
13
  export const LINT_IGNORE_PATTERNS = [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../source/constants.ts"],
4
- "sourcesContent": ["export const BUILD_DIRECTORY = 'build';\nexport const SOURCE_DIRECTORY = 'source';\n\nexport const BUILD_TO_ESM_COMMAND = `esbuild \"${SOURCE_DIRECTORY}/**/*\" --platform=node --target=node20.8 --outdir=${BUILD_DIRECTORY} --sourcemap`;\nexport const BUILD_TO_CJS_COMMAND = `esbuild \"${SOURCE_DIRECTORY}/**/*\" --platform=node --target=node20.8 --format=cjs --outdir=${BUILD_DIRECTORY} --sourcemap`;\nexport const FORMAT_COMMAND = 'prettier . --write --ignore-unknown';\nexport const TEST_COMMAND = 'vitest run --coverage --passWithNoTests';\n\nexport const CARSON_PACKAGE_NAME = '@jakubmazanec/carson';\nexport const TEMPLATE_PACKAGE_NAME = '@jakubmazanec/carson-templates';\n\nexport const MAIN_BRANCH_NAMES = new Set(['main', 'master']);\nexport const DEVELOPMENT_BRANCH_NAMES = new Set(['development', 'develop', 'dev']);\n\nexport const LINT_IGNORE_PATTERNS = [\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', 'es2022'],\n module: 'node16',\n moduleResolution: 'node16',\n noEmitOnError: false, // TODO: change to `true` when this is fixed: https://github.com/kulshekhar/ts-jest/issues/4198\n noImplicitOverride: true,\n noImplicitReturns: true,\n noUncheckedIndexedAccess: true,\n skipLibCheck: true,\n strict: true,\n target: 'es2022',\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"],
5
- "mappings": ";AAAO,aAAM,kBAAkB;AACxB,aAAM,mBAAmB;AAEzB,aAAM,uBAAuB,YAAY,gBAAgB,qDAAqD,eAAe;AAC7H,aAAM,uBAAuB,YAAY,gBAAgB,kEAAkE,eAAe;AAC1I,aAAM,iBAAiB;AACvB,aAAM,eAAe;AAErB,aAAM,sBAAsB;AAC5B,aAAM,wBAAwB;AAE9B,aAAM,oBAAoB,oBAAI,IAAI,CAAC,QAAQ,QAAQ,CAAC;AACpD,aAAM,2BAA2B,oBAAI,IAAI,CAAC,eAAe,WAAW,KAAK,CAAC;AAE1E,aAAM,uBAAuB;AAAA,EAClC;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,QAAQ;AAAA,EACrC,QAAQ;AAAA,EACR,kBAAkB;AAAA,EAClB,eAAe;AAAA;AAAA,EACf,oBAAoB;AAAA,EACpB,mBAAmB;AAAA,EACnB,0BAA0B;AAAA,EAC1B,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,QAAQ;AACV;AAEO,aAAM,mBAAmB;AAAA,EAC9B,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,4BAA4B;AAAA,EAC5B,uBAAuB;AAAA,EACvB,2BAA2B;AAAA,EAC3B,gBAAgB;AAAA,EAChB,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,MAAM;AAAA,EACN,aAAa;AAAA,EACb,eAAe;AAAA;AAAA,EAEf,WAAW;AAAA,IACT;AAAA,MACE,OAAO,CAAC,eAAe;AAAA,MACvB,SAAS;AAAA,QACP,eAAe;AAAA,MACjB;AAAA,IACF;AAAA,EACF;AACF;AAEO,aAAM,iBAAiB;AAAA,EAC5B,QAAQ;AAAA,EACR,aAAa,CAAC,KAAK,gBAAgB,UAAU;AAAA,EAC7C,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,iBAAiB;AACnB;",
4
+ "sourcesContent": ["export const BUILD_DIRECTORY = 'build';\nexport const SOURCE_DIRECTORY = 'source';\n\nexport const BUILD_TO_ESM_COMMAND = `esbuild \"${SOURCE_DIRECTORY}/**/*\" --platform=node --target=node20.8 --outdir=${BUILD_DIRECTORY} --sourcemap`;\nexport const BUILD_TO_CJS_COMMAND = `esbuild \"${SOURCE_DIRECTORY}/**/*\" --platform=node --target=node20.8 --format=cjs --outdir=${BUILD_DIRECTORY} --sourcemap`;\nexport const FORMAT_COMMAND = 'prettier . --write --ignore-unknown';\nexport const TEST_COMMAND = 'vitest run --coverage --passWithNoTests';\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';\n\nexport const MAIN_BRANCH_NAMES = new Set(['main', 'master']);\nexport const DEVELOPMENT_BRANCH_NAMES = new Set(['development', 'develop', 'dev']);\n\nexport const LINT_IGNORE_PATTERNS = [\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', 'es2022'],\n module: 'node16',\n moduleResolution: 'node16',\n noEmitOnError: false, // TODO: change to `true` when this is fixed: https://github.com/kulshekhar/ts-jest/issues/4198\n noImplicitOverride: true,\n noImplicitReturns: true,\n noUncheckedIndexedAccess: true,\n skipLibCheck: true,\n strict: true,\n target: 'es2022',\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"],
5
+ "mappings": ";AAAO,aAAM,kBAAkB;AACxB,aAAM,mBAAmB;AAEzB,aAAM,uBAAuB,YAAY,gBAAgB,qDAAqD,eAAe;AAC7H,aAAM,uBAAuB,YAAY,gBAAgB,kEAAkE,eAAe;AAC1I,aAAM,iBAAiB;AACvB,aAAM,eAAe;AAErB,aAAM,sBAAsB;AAC5B,aAAM,wBAAwB;AAC9B,aAAM,6BAA6B;AAEnC,aAAM,oBAAoB,oBAAI,IAAI,CAAC,QAAQ,QAAQ,CAAC;AACpD,aAAM,2BAA2B,oBAAI,IAAI,CAAC,eAAe,WAAW,KAAK,CAAC;AAE1E,aAAM,uBAAuB;AAAA,EAClC;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,QAAQ;AAAA,EACrC,QAAQ;AAAA,EACR,kBAAkB;AAAA,EAClB,eAAe;AAAA;AAAA,EACf,oBAAoB;AAAA,EACpB,mBAAmB;AAAA,EACnB,0BAA0B;AAAA,EAC1B,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,QAAQ;AACV;AAEO,aAAM,mBAAmB;AAAA,EAC9B,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,4BAA4B;AAAA,EAC5B,uBAAuB;AAAA,EACvB,2BAA2B;AAAA,EAC3B,gBAAgB;AAAA,EAChB,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,MAAM;AAAA,EACN,aAAa;AAAA,EACb,eAAe;AAAA;AAAA,EAEf,WAAW;AAAA,IACT;AAAA,MACE,OAAO,CAAC,eAAe;AAAA,MACvB,SAAS;AAAA,QACP,eAAe;AAAA,MACjB;AAAA,IACF;AAAA,EACF;AACF;AAEO,aAAM,iBAAiB;AAAA,EAC5B,QAAQ;AAAA,EACR,aAAa,CAAC,KAAK,gBAAgB,UAAU;AAAA,EAC7C,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,iBAAiB;AACnB;",
6
6
  "names": []
7
7
  }
@@ -2,7 +2,11 @@
2
2
  import fs from "node:fs";
3
3
  import { createRequire } from "node:module";
4
4
  import semver from "semver";
5
- import { CARSON_PACKAGE_NAME, TEMPLATE_PACKAGE_NAME } from "./constants.js";
5
+ import {
6
+ CARSON_PACKAGE_NAME,
7
+ LINTER_CONFIG_PACKAGE_NAME,
8
+ TEMPLATE_PACKAGE_NAME
9
+ } from "./constants.js";
6
10
  let require = createRequire(import.meta.url);
7
11
  let carsonPackageVersion = semver.minVersion(
8
12
  JSON.parse(
@@ -21,6 +25,7 @@ let isTemplatesPackageVersionPrerelease = !!semver.prerelease(templatesPackageVe
21
25
  export const DEPENDENCY_VERSIONS = {
22
26
  [CARSON_PACKAGE_NAME]: isCarsonPackageVersionPrerelease ? carsonPackageVersion : `^${carsonPackageVersion}`,
23
27
  [TEMPLATE_PACKAGE_NAME]: isTemplatesPackageVersionPrerelease ? templatesPackageVersion : `^${templatesPackageVersion}`,
28
+ [LINTER_CONFIG_PACKAGE_NAME]: "^3.0.0",
24
29
  "@changesets/cli": "^2.0.0",
25
30
  "@remix-run/dev": "^2.0.0",
26
31
  "@remix-run/express": "^2.0.0",
@@ -28,6 +33,7 @@ export const DEPENDENCY_VERSIONS = {
28
33
  "@remix-run/react": "^2.0.0",
29
34
  "@remix-run/serve": "^2.0.0",
30
35
  "@testing-library/jest-dom": "^5.0.0",
36
+ "@testing-library/react": "^14.0.0",
31
37
  "@types/lodash": "^4.0.0",
32
38
  "@types/node": "^20.0.0",
33
39
  "@types/react": "^18.0.0",
@@ -39,6 +45,7 @@ export const DEPENDENCY_VERSIONS = {
39
45
  "del-cli": "^5.0.0",
40
46
  esbuild: "^0.19.0",
41
47
  eslint: "^8.0.0",
48
+ "happy-dom": "^13.0.0",
42
49
  lodash: "^4.0.0",
43
50
  isbot: "^4.0.0",
44
51
  "patch-package": "^6.0.0",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../source/dependency-versions.ts"],
4
- "sourcesContent": ["import fs from 'node:fs';\nimport {createRequire} from 'node:module';\nimport semver from 'semver';\n\nimport {CARSON_PACKAGE_NAME, TEMPLATE_PACKAGE_NAME} from './constants.js';\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\nexport const DEPENDENCY_VERSIONS: Record<string, string> = {\n [CARSON_PACKAGE_NAME]:\n isCarsonPackageVersionPrerelease ? carsonPackageVersion : `^${carsonPackageVersion}`,\n [TEMPLATE_PACKAGE_NAME]:\n isTemplatesPackageVersionPrerelease ? templatesPackageVersion : `^${templatesPackageVersion}`,\n\n '@changesets/cli': '^2.0.0',\n '@remix-run/dev': '^2.0.0',\n '@remix-run/express': '^2.0.0',\n '@remix-run/node': '^2.0.0',\n '@remix-run/react': '^2.0.0',\n '@remix-run/serve': '^2.0.0',\n '@testing-library/jest-dom': '^5.0.0',\n '@types/lodash': '^4.0.0',\n '@types/node': '^20.0.0',\n '@types/react': '^18.0.0',\n '@types/react-dom': '^18.0.0',\n '@vitest/coverage-v8': '^1.0.0',\n autoprefixer: '^10.0.0',\n concurrently: '^8.0.0',\n 'cross-env': '^7.0.0',\n 'del-cli': '^5.0.0',\n esbuild: '^0.19.0',\n eslint: '^8.0.0',\n lodash: '^4.0.0',\n isbot: '^4.0.0',\n 'patch-package': '^6.0.0',\n prettier: '^3.0.0',\n 'prettier-plugin-packagejson': '^2.0.0',\n 'prettier-plugin-tailwindcss': '^0.5.0',\n react: '^18.0.0',\n 'react-dom': '^18.0.0',\n tailwindcss: '^3.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 vite: '^5.0.0',\n vitest: '^1.0.0',\n};\n"],
5
- "mappings": ";AAAA,OAAO,QAAQ;AACf,SAAQ,qBAAoB;AAC5B,OAAO,YAAY;AAEnB,SAAQ,qBAAqB,6BAA4B;AAEzD,IAAI,UAAU,cAAc,YAAY,GAAG;AAC3C,IAAI,uBACF,OACG;AAAA,EAEG,KAAK;AAAA,IACH,GAAG,aAAa,QAAQ,QAAQ,GAAG,qBAAqB,eAAe,GAAG;AAAA,MACxE,UAAU;AAAA,IACZ,CAAC;AAAA,EACH,EACA,iBAAiB,mBAAmB,KAAK;AAC7C,GACE,OAAO,KAAK;AAClB,IAAI,mCAAmC,CAAC,CAAC,OAAO,WAAW,oBAAoB,GAAG;AAClF,IAAI,0BACF,KAAK;AAAA,EACH,GAAG,aAAa,QAAQ,QAAQ,GAAG,qBAAqB,eAAe,GAAG;AAAA,IACxE,UAAU;AAAA,EACZ,CAAC;AACH,EACA;AACF,IAAI,sCAAsC,CAAC,CAAC,OAAO,WAAW,uBAAuB,GAAG;AAEjF,aAAM,sBAA8C;AAAA,EACzD,CAAC,mBAAmB,GAClB,mCAAmC,uBAAuB,IAAI,oBAAoB;AAAA,EACpF,CAAC,qBAAqB,GACpB,sCAAsC,0BAA0B,IAAI,uBAAuB;AAAA,EAE7F,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,sBAAsB;AAAA,EACtB,mBAAmB;AAAA,EACnB,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,6BAA6B;AAAA,EAC7B,iBAAiB;AAAA,EACjB,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,uBAAuB;AAAA,EACvB,cAAc;AAAA,EACd,cAAc;AAAA,EACd,aAAa;AAAA,EACb,WAAW;AAAA,EACX,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,iBAAiB;AAAA,EACjB,UAAU;AAAA,EACV,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,OAAO;AAAA,EACP,aAAa;AAAA,EACb,aAAa;AAAA,EACb,OAAO;AAAA,EACP,SAAS;AAAA,EACT,2BAA2B;AAAA,EAC3B,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,QAAQ;AACV;",
4
+ "sourcesContent": ["import fs from 'node:fs';\nimport {createRequire} from 'node:module';\nimport semver from 'semver';\n\nimport {\n CARSON_PACKAGE_NAME,\n LINTER_CONFIG_PACKAGE_NAME,\n TEMPLATE_PACKAGE_NAME,\n} from './constants.js';\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\nexport const DEPENDENCY_VERSIONS: Record<string, string> = {\n [CARSON_PACKAGE_NAME]:\n isCarsonPackageVersionPrerelease ? carsonPackageVersion : `^${carsonPackageVersion}`,\n [TEMPLATE_PACKAGE_NAME]:\n isTemplatesPackageVersionPrerelease ? templatesPackageVersion : `^${templatesPackageVersion}`,\n [LINTER_CONFIG_PACKAGE_NAME]: '^3.0.0',\n\n '@changesets/cli': '^2.0.0',\n '@remix-run/dev': '^2.0.0',\n '@remix-run/express': '^2.0.0',\n '@remix-run/node': '^2.0.0',\n '@remix-run/react': '^2.0.0',\n '@remix-run/serve': '^2.0.0',\n '@testing-library/jest-dom': '^5.0.0',\n '@testing-library/react': '^14.0.0',\n '@types/lodash': '^4.0.0',\n '@types/node': '^20.0.0',\n '@types/react': '^18.0.0',\n '@types/react-dom': '^18.0.0',\n '@vitest/coverage-v8': '^1.0.0',\n autoprefixer: '^10.0.0',\n concurrently: '^8.0.0',\n 'cross-env': '^7.0.0',\n 'del-cli': '^5.0.0',\n esbuild: '^0.19.0',\n eslint: '^8.0.0',\n 'happy-dom': '^13.0.0',\n lodash: '^4.0.0',\n isbot: '^4.0.0',\n 'patch-package': '^6.0.0',\n prettier: '^3.0.0',\n 'prettier-plugin-packagejson': '^2.0.0',\n 'prettier-plugin-tailwindcss': '^0.5.0',\n react: '^18.0.0',\n 'react-dom': '^18.0.0',\n tailwindcss: '^3.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 vite: '^5.0.0',\n vitest: '^1.0.0',\n};\n"],
5
+ "mappings": ";AAAA,OAAO,QAAQ;AACf,SAAQ,qBAAoB;AAC5B,OAAO,YAAY;AAEnB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,IAAI,UAAU,cAAc,YAAY,GAAG;AAC3C,IAAI,uBACF,OACG;AAAA,EAEG,KAAK;AAAA,IACH,GAAG,aAAa,QAAQ,QAAQ,GAAG,qBAAqB,eAAe,GAAG;AAAA,MACxE,UAAU;AAAA,IACZ,CAAC;AAAA,EACH,EACA,iBAAiB,mBAAmB,KAAK;AAC7C,GACE,OAAO,KAAK;AAClB,IAAI,mCAAmC,CAAC,CAAC,OAAO,WAAW,oBAAoB,GAAG;AAClF,IAAI,0BACF,KAAK;AAAA,EACH,GAAG,aAAa,QAAQ,QAAQ,GAAG,qBAAqB,eAAe,GAAG;AAAA,IACxE,UAAU;AAAA,EACZ,CAAC;AACH,EACA;AACF,IAAI,sCAAsC,CAAC,CAAC,OAAO,WAAW,uBAAuB,GAAG;AAEjF,aAAM,sBAA8C;AAAA,EACzD,CAAC,mBAAmB,GAClB,mCAAmC,uBAAuB,IAAI,oBAAoB;AAAA,EACpF,CAAC,qBAAqB,GACpB,sCAAsC,0BAA0B,IAAI,uBAAuB;AAAA,EAC7F,CAAC,0BAA0B,GAAG;AAAA,EAE9B,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,sBAAsB;AAAA,EACtB,mBAAmB;AAAA,EACnB,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,6BAA6B;AAAA,EAC7B,0BAA0B;AAAA,EAC1B,iBAAiB;AAAA,EACjB,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,uBAAuB;AAAA,EACvB,cAAc;AAAA,EACd,cAAc;AAAA,EACd,aAAa;AAAA,EACb,WAAW;AAAA,EACX,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,iBAAiB;AAAA,EACjB,UAAU;AAAA,EACV,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,OAAO;AAAA,EACP,aAAa;AAAA,EACb,aAAa;AAAA,EACb,OAAO;AAAA,EACP,SAAS;AAAA,EACT,2BAA2B;AAAA,EAC3B,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,QAAQ;AACV;",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jakubmazanec/carson-templates",
3
- "version": "2.0.0",
3
+ "version": "2.0.1-next.01330c0",
4
4
  "description": "Collection of Carson templates.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -31,11 +31,12 @@
31
31
  },
32
32
  "dependencies": {
33
33
  "lodash": "^4.17.21",
34
- "semver": "^7.5.4"
34
+ "semver": "^7.6.0"
35
35
  },
36
36
  "devDependencies": {
37
- "@jakubmazanec/carson": "^1.0.0",
38
- "@jakubmazanec/fs-utils": "^0.2.0",
37
+ "@jakubmazanec/carson": "1.0.1-next.01330c0",
38
+ "@jakubmazanec/eslint-config": "3.0.1-next.01330c0",
39
+ "@jakubmazanec/fs-utils": "0.2.1-next.01330c0",
39
40
  "@types/fs-extra": "^11.0.4",
40
41
  "@types/lodash": "^4.14.202",
41
42
  "@types/node": "^20.8.5",
@@ -49,14 +50,14 @@
49
50
  "fs-extra": "^11.2.0",
50
51
  "prettier": "^3.2.5",
51
52
  "prettier-plugin-packagejson": "^2.4.10",
52
- "typedoc": "^0.25.7",
53
+ "typedoc": "^0.25.10",
53
54
  "typedoc-plugin-markdown": "^3.17.1",
54
55
  "typescript": "^5.3.3",
55
56
  "vitest": "^1.2.2",
56
57
  "zen-observable": "^0.10.0"
57
58
  },
58
59
  "peerDependencies": {
59
- "@jakubmazanec/carson": "^1.0.0"
60
+ "@jakubmazanec/carson": "1.0.1-next.01330c0"
60
61
  },
61
62
  "packageManager": "npm@10.1.0",
62
63
  "engines": {
@@ -8,6 +8,7 @@ export const TEST_COMMAND = 'vitest run --coverage --passWithNoTests';
8
8
 
9
9
  export const CARSON_PACKAGE_NAME = '@jakubmazanec/carson';
10
10
  export const TEMPLATE_PACKAGE_NAME = '@jakubmazanec/carson-templates';
11
+ export const LINTER_CONFIG_PACKAGE_NAME = '@jakubmazanec/eslint-config';
11
12
 
12
13
  export const MAIN_BRANCH_NAMES = new Set(['main', 'master']);
13
14
  export const DEVELOPMENT_BRANCH_NAMES = new Set(['development', 'develop', 'dev']);
@@ -2,7 +2,11 @@ import fs from 'node:fs';
2
2
  import {createRequire} from 'node:module';
3
3
  import semver from 'semver';
4
4
 
5
- import {CARSON_PACKAGE_NAME, TEMPLATE_PACKAGE_NAME} from './constants.js';
5
+ import {
6
+ CARSON_PACKAGE_NAME,
7
+ LINTER_CONFIG_PACKAGE_NAME,
8
+ TEMPLATE_PACKAGE_NAME,
9
+ } from './constants.js';
6
10
 
7
11
  let require = createRequire(import.meta.url);
8
12
  let carsonPackageVersion =
@@ -32,6 +36,7 @@ export const DEPENDENCY_VERSIONS: Record<string, string> = {
32
36
  isCarsonPackageVersionPrerelease ? carsonPackageVersion : `^${carsonPackageVersion}`,
33
37
  [TEMPLATE_PACKAGE_NAME]:
34
38
  isTemplatesPackageVersionPrerelease ? templatesPackageVersion : `^${templatesPackageVersion}`,
39
+ [LINTER_CONFIG_PACKAGE_NAME]: '^3.0.0',
35
40
 
36
41
  '@changesets/cli': '^2.0.0',
37
42
  '@remix-run/dev': '^2.0.0',
@@ -40,6 +45,7 @@ export const DEPENDENCY_VERSIONS: Record<string, string> = {
40
45
  '@remix-run/react': '^2.0.0',
41
46
  '@remix-run/serve': '^2.0.0',
42
47
  '@testing-library/jest-dom': '^5.0.0',
48
+ '@testing-library/react': '^14.0.0',
43
49
  '@types/lodash': '^4.0.0',
44
50
  '@types/node': '^20.0.0',
45
51
  '@types/react': '^18.0.0',
@@ -51,6 +57,7 @@ export const DEPENDENCY_VERSIONS: Record<string, string> = {
51
57
  'del-cli': '^5.0.0',
52
58
  esbuild: '^0.19.0',
53
59
  eslint: '^8.0.0',
60
+ 'happy-dom': '^13.0.0',
54
61
  lodash: '^4.0.0',
55
62
  isbot: '^4.0.0',
56
63
  'patch-package': '^6.0.0',
@@ -0,0 +1,20 @@
1
+ ---
2
+ to: '.editorconfig'
3
+ strategy: overwrite
4
+ ---
5
+ root = true
6
+
7
+ [*]
8
+ end_of_line = lf
9
+ insert_final_newline = true
10
+ charset = utf-8
11
+
12
+ [**.{js,jsx,mjs,cjs,ts,tsx,cts,mts,css,graphql,json,yaml,yml}]
13
+ indent_style = space
14
+ indent_size = 2
15
+ trim_trailing_whitespace = true
16
+
17
+ [**.{md,mdx}]
18
+ indent_style = space
19
+ indent_size = 2
20
+ trim_trailing_whitespace = false
@@ -5,6 +5,7 @@ strategy: merge
5
5
  <%
6
6
  let developmentDependencies = getDependencies(
7
7
  [
8
+ LINTER_CONFIG_PACKAGE_NAME,
8
9
  '@types/node',
9
10
  '@vitest/coverage-v8',
10
11
  'del-cli',
@@ -0,0 +1,20 @@
1
+ ---
2
+ to: '.editorconfig'
3
+ strategy: overwrite
4
+ ---
5
+ root = true
6
+
7
+ [*]
8
+ end_of_line = lf
9
+ insert_final_newline = true
10
+ charset = utf-8
11
+
12
+ [**.{js,jsx,mjs,cjs,ts,tsx,cts,mts,css,graphql,json,yaml,yml}]
13
+ indent_style = space
14
+ indent_size = 2
15
+ trim_trailing_whitespace = true
16
+
17
+ [**.{md,mdx}]
18
+ indent_style = space
19
+ indent_size = 2
20
+ trim_trailing_whitespace = false
@@ -5,6 +5,7 @@ strategy: merge
5
5
  <%
6
6
  let developmentDependencies = getDependencies(
7
7
  [
8
+ LINTER_CONFIG_PACKAGE_NAME,
8
9
  '@types/node',
9
10
  '@vitest/coverage-v8',
10
11
  'del-cli',
@@ -0,0 +1,20 @@
1
+ ---
2
+ to: '.editorconfig'
3
+ strategy: overwrite
4
+ ---
5
+ root = true
6
+
7
+ [*]
8
+ end_of_line = lf
9
+ insert_final_newline = true
10
+ charset = utf-8
11
+
12
+ [**.{js,jsx,mjs,cjs,ts,tsx,cts,mts,css,graphql,json,yaml,yml}]
13
+ indent_style = space
14
+ indent_size = 2
15
+ trim_trailing_whitespace = true
16
+
17
+ [**.{md,mdx}]
18
+ indent_style = space
19
+ indent_size = 2
20
+ trim_trailing_whitespace = false
@@ -0,0 +1,20 @@
1
+ ---
2
+ to: '.editorconfig'
3
+ strategy: overwrite
4
+ ---
5
+ root = true
6
+
7
+ [*]
8
+ end_of_line = lf
9
+ insert_final_newline = true
10
+ charset = utf-8
11
+
12
+ [**.{js,jsx,mjs,cjs,ts,tsx,cts,mts,css,graphql,json,yaml,yml}]
13
+ indent_style = space
14
+ indent_size = 2
15
+ trim_trailing_whitespace = true
16
+
17
+ [**.{md,mdx}]
18
+ indent_style = space
19
+ indent_size = 2
20
+ trim_trailing_whitespace = false
@@ -13,6 +13,7 @@ files.sort();
13
13
 
14
14
  let developmentDependencies = getDependencies(
15
15
  [
16
+ LINTER_CONFIG_PACKAGE_NAME,
16
17
  '@types/node',
17
18
  '@vitest/coverage-v8',
18
19
  'concurrently',
@@ -0,0 +1,20 @@
1
+ ---
2
+ to: '.editorconfig'
3
+ strategy: overwrite
4
+ ---
5
+ root = true
6
+
7
+ [*]
8
+ end_of_line = lf
9
+ insert_final_newline = true
10
+ charset = utf-8
11
+
12
+ [**.{js,jsx,mjs,cjs,ts,tsx,cts,mts,css,graphql,json,yaml,yml}]
13
+ indent_style = space
14
+ indent_size = 2
15
+ trim_trailing_whitespace = true
16
+
17
+ [**.{md,mdx}]
18
+ indent_style = space
19
+ indent_size = 2
20
+ trim_trailing_whitespace = false
@@ -14,7 +14,10 @@ let dependencies = [
14
14
  'react-dom'
15
15
  ];
16
16
  let developmentDependencies = [
17
+ LINTER_CONFIG_PACKAGE_NAME,
17
18
  '@remix-run/dev',
19
+ '@testing-library/jest-dom',
20
+ '@testing-library/react',
18
21
  '@types/node',
19
22
  '@types/react',
20
23
  '@types/react-dom',
@@ -23,13 +26,14 @@ let developmentDependencies = [
23
26
  'cross-env',
24
27
  'del-cli',
25
28
  'eslint',
29
+ 'happy-dom',
26
30
  'prettier',
27
31
  'prettier-plugin-packagejson',
28
32
  'prettier-plugin-tailwindcss',
29
33
  'tailwindcss',
34
+ 'typescript',
30
35
  'vite',
31
36
  'vitest',
32
- 'typescript',
33
37
  ];
34
38
 
35
39
  let packageJson = lodash.merge(
@@ -43,10 +47,11 @@ let packageJson = lodash.merge(
43
47
  scripts: {
44
48
  build: 'del-cli build && remix vite:build',
45
49
  clean: 'del-cli coverage build *.tsbuildinfo',
46
- develop: 'cross-env PORT=5000 remix vite:dev',
50
+ develop: 'remix vite:dev --port 5000',
47
51
  format: FORMAT_COMMAND,
52
+ lint: 'eslint .',
48
53
  start:
49
- 'cross-env NODE_ENV=production PORT=5000 remix-serve ./build/server/index.js --port 5000',
54
+ 'cross-env NODE_ENV=production PORT=5000 remix-serve ./build/server/index.js',
50
55
  test: 'del-cli coverage && vitest run --coverage',
51
56
  typecheck: 'tsc --project tsconfig.typecheck.json',
52
57
  },
@@ -10,7 +10,7 @@ strategy: overwrite
10
10
  * Run `npx carson update workspace` to regenerate.
11
11
  */
12
12
 
13
- import {unstable_vitePlugin as remix} from '@remix-run/dev';
13
+ import {vitePlugin as remix} from '@remix-run/dev';
14
14
  import {installGlobals} from '@remix-run/node';
15
15
  import _ from 'lodash';
16
16
  import {defineConfig} from 'vitest/config';
@@ -24,7 +24,7 @@ export default defineConfig(
24
24
  port: 5000,
25
25
  strictPort: true,
26
26
  },
27
- plugins: [remix({
27
+ plugins: [!process.env.VITEST && remix({
28
28
  future: {
29
29
  v3_fetcherPersist: true,
30
30
  v3_relativeSplatPath: true,
@@ -32,6 +32,7 @@ export default defineConfig(
32
32
  },
33
33
  })],
34
34
  test: {
35
+ environment: 'happy-dom',
35
36
  setupFiles: ['tests/setup.ts'],
36
37
  },
37
38
  },