B2B-88: add starter kit structure and elements

This commit is contained in:
devmc-ee
2025-06-08 16:18:30 +03:00
parent 657a36a298
commit e7b25600cb
1280 changed files with 77893 additions and 5688 deletions

20
tooling/eslint/apps.js Normal file
View File

@@ -0,0 +1,20 @@
export default [
{
files: ['app/**/*.{ts,tsx}'],
rules: {
'no-restricted-imports': [
'error',
{
paths: [
{
name: '@kit/supabase/database',
importNames: ['Database'],
message:
'Please use the application types from your app "~/lib/database.types" instead',
},
],
},
],
},
},
];

73
tooling/eslint/base.js Normal file
View File

@@ -0,0 +1,73 @@
import eslint from '@eslint/js';
import turboConfig from 'eslint-config-turbo/flat';
import tsEsLint from 'typescript-eslint';
import nextConfig from './nextjs.js';
export default tsEsLint.config(
eslint.configs.recommended,
nextConfig,
turboConfig,
{
settings: {
react: {
version: '19.0',
},
},
languageOptions: {
parserOptions: {
warnOnUnsupportedTypeScriptVersion: false,
},
},
},
{
rules: {
'react/react-in-jsx-scope': 'off',
'import/no-anonymous-default-export': 'off',
'import/named': 'off',
'import/namespace': 'off',
'import/default': 'off',
'import/no-unresolved': 'off',
'import/no-named-as-default-member': 'off',
'import/no-named-as-default': 'off',
'import/no-cycle': 'off',
'import/no-unused-modules': 'off',
'import/no-deprecated': 'off',
'turbo/no-undeclared-env-vars': 'off',
'@typescript-eslint/array-type': 'off',
'@typescript-eslint/no-unsafe-assignment': 'off',
'@typescript-eslint/no-unsafe-argument': 'off',
'@typescript-eslint/consistent-type-definitions': 'off',
'@typescript-eslint/no-unsafe-member-access': 'off',
'@typescript-eslint/non-nullable-type-assertion-style': 'off',
'@typescript-eslint/only-throw-error': 'off',
'@typescript-eslint/prefer-nullish-coalescing': 'off',
'@typescript-eslint/no-unused-vars': [
'error',
{ argsIgnorePattern: '^_', varsIgnorePattern: '^_' },
],
'no-restricted-imports': [
'error',
{
paths: [
{
name: 'react-i18next',
importNames: ['Trans'],
message: 'Please use `@kit/ui/trans` instead',
},
],
},
],
},
},
{
ignores: [
'**/node_modules',
'**/database.types.ts',
'**/.next',
'**/public',
'dist',
'pnpm-lock.yaml',
],
},
);

17
tooling/eslint/nextjs.js Normal file
View File

@@ -0,0 +1,17 @@
import { FlatCompat } from '@eslint/eslintrc';
const compat = new FlatCompat({
baseDirectory: import.meta.dirname,
});
const nextEslintConfig = [
...compat.config({
extends: ['next/core-web-vitals', 'next/typescript'],
rules: {
'@next/next/no-html-link-for-pages': 'off',
'no-undef': 'off',
},
}),
];
export default nextEslintConfig;

17
tooling/eslint/node_modules/.bin/eslint generated vendored Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
case `uname` in
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
esac
if [ -z "$NODE_PATH" ]; then
export NODE_PATH="/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/eslint@9.28.0_jiti@2.4.2/node_modules/eslint/bin/node_modules:/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/eslint@9.28.0_jiti@2.4.2/node_modules/eslint/node_modules:/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/eslint@9.28.0_jiti@2.4.2/node_modules:/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/node_modules"
else
export NODE_PATH="/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/eslint@9.28.0_jiti@2.4.2/node_modules/eslint/bin/node_modules:/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/eslint@9.28.0_jiti@2.4.2/node_modules/eslint/node_modules:/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/eslint@9.28.0_jiti@2.4.2/node_modules:/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../eslint/bin/eslint.js" "$@"
else
exec node "$basedir/../eslint/bin/eslint.js" "$@"
fi

17
tooling/eslint/node_modules/.bin/jiti generated vendored Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
case `uname` in
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
esac
if [ -z "$NODE_PATH" ]; then
export NODE_PATH="/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/jiti@2.4.2/node_modules/jiti/lib/node_modules:/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/jiti@2.4.2/node_modules/jiti/node_modules:/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/jiti@2.4.2/node_modules:/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/node_modules"
else
export NODE_PATH="/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/jiti@2.4.2/node_modules/jiti/lib/node_modules:/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/jiti@2.4.2/node_modules/jiti/node_modules:/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/jiti@2.4.2/node_modules:/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../../../../node_modules/.pnpm/jiti@2.4.2/node_modules/jiti/lib/jiti-cli.mjs" "$@"
else
exec node "$basedir/../../../../node_modules/.pnpm/jiti@2.4.2/node_modules/jiti/lib/jiti-cli.mjs" "$@"
fi

17
tooling/eslint/node_modules/.bin/tsc generated vendored Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
case `uname` in
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
esac
if [ -z "$NODE_PATH" ]; then
export NODE_PATH="/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/bin/node_modules:/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/node_modules:/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/typescript@5.8.3/node_modules:/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/node_modules"
else
export NODE_PATH="/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/bin/node_modules:/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/node_modules:/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/typescript@5.8.3/node_modules:/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../typescript/bin/tsc" "$@"
else
exec node "$basedir/../typescript/bin/tsc" "$@"
fi

17
tooling/eslint/node_modules/.bin/tsserver generated vendored Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
case `uname` in
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
esac
if [ -z "$NODE_PATH" ]; then
export NODE_PATH="/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/bin/node_modules:/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/node_modules:/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/typescript@5.8.3/node_modules:/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/node_modules"
else
export NODE_PATH="/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/bin/node_modules:/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/node_modules:/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/typescript@5.8.3/node_modules:/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../typescript/bin/tsserver" "$@"
else
exec node "$basedir/../typescript/bin/tsserver" "$@"
fi

17
tooling/eslint/node_modules/.bin/turbo generated vendored Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
case `uname` in
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
esac
if [ -z "$NODE_PATH" ]; then
export NODE_PATH="/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/turbo@2.5.4/node_modules/turbo/bin/node_modules:/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/turbo@2.5.4/node_modules/turbo/node_modules:/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/turbo@2.5.4/node_modules:/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/node_modules"
else
export NODE_PATH="/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/turbo@2.5.4/node_modules/turbo/bin/node_modules:/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/turbo@2.5.4/node_modules/turbo/node_modules:/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/turbo@2.5.4/node_modules:/Users/devmcee/dev/mountbirch/MRB2B/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../../../../node_modules/.pnpm/turbo@2.5.4/node_modules/turbo/bin/turbo" "$@"
else
exec node "$basedir/../../../../node_modules/.pnpm/turbo@2.5.4/node_modules/turbo/bin/turbo" "$@"
fi

1
tooling/eslint/node_modules/@kit/prettier-config generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../../../prettier

1
tooling/eslint/node_modules/@kit/tsconfig generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../../../typescript

1
tooling/eslint/node_modules/@next/eslint-plugin-next generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../../../../node_modules/.pnpm/@next+eslint-plugin-next@15.3.2/node_modules/@next/eslint-plugin-next

1
tooling/eslint/node_modules/@types/eslint generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../../../../node_modules/.pnpm/@types+eslint@9.6.1/node_modules/@types/eslint

1
tooling/eslint/node_modules/eslint generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../../../node_modules/.pnpm/eslint@9.28.0_jiti@2.4.2/node_modules/eslint

1
tooling/eslint/node_modules/eslint-config-next generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../../../node_modules/.pnpm/eslint-config-next@15.3.2_eslint@9.28.0_jiti@2.4.2__typescript@5.8.3/node_modules/eslint-config-next

1
tooling/eslint/node_modules/eslint-config-turbo generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../../../node_modules/.pnpm/eslint-config-turbo@2.5.4_eslint@9.28.0_jiti@2.4.2__turbo@2.5.4/node_modules/eslint-config-turbo

1
tooling/eslint/node_modules/typescript generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript

1
tooling/eslint/node_modules/typescript-eslint generated vendored Symbolic link
View File

@@ -0,0 +1 @@
../../../node_modules/.pnpm/typescript-eslint@8.32.1_eslint@9.28.0_jiti@2.4.2__typescript@5.8.3/node_modules/typescript-eslint

View File

@@ -0,0 +1,29 @@
{
"name": "@kit/eslint-config",
"version": "0.2.0",
"private": true,
"type": "module",
"files": [
"./apps.js",
"./base.js",
"./nextjs.js"
],
"scripts": {
"clean": "rm -rf .turbo node_modules",
"format": "prettier --check \"**/*.{js,json}\""
},
"dependencies": {
"@next/eslint-plugin-next": "15.3.2",
"@types/eslint": "9.6.1",
"eslint-config-next": "15.3.2",
"eslint-config-turbo": "^2.5.3",
"typescript-eslint": "8.32.1"
},
"devDependencies": {
"@kit/prettier-config": "workspace:*",
"@kit/tsconfig": "workspace:*",
"eslint": "^9.26.0",
"typescript": "^5.8.3"
},
"prettier": "@kit/prettier-config"
}