forked from AxTps/Starlight_Lancher
feat:移除了弹窗,服务器添加sls
This commit is contained in:
27
packages/tooling-config/app-lib.prettier.config.cjs
Normal file
27
packages/tooling-config/app-lib.prettier.config.cjs
Normal file
@ -0,0 +1,27 @@
|
||||
/**
|
||||
* @see https://prettier.io/docs/configuration
|
||||
* @type {import("prettier").Config}
|
||||
*/
|
||||
module.exports = {
|
||||
semi: false,
|
||||
singleQuote: true,
|
||||
plugins: ['prettier-plugin-toml', 'prettier-plugin-sql-cst', '@prettier/plugin-xml'],
|
||||
overrides: [
|
||||
{
|
||||
files: ['*.sql'],
|
||||
options: {
|
||||
parser: 'sqlite',
|
||||
sqlAcceptUnsupportedGrammar: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
files: ['*.jsonc'],
|
||||
options: {
|
||||
parser: 'jsonc',
|
||||
// By spec, JSONC only extends JSON with comment support, not trailing commas as Prettier likes to add
|
||||
trailingComma: 'none',
|
||||
},
|
||||
},
|
||||
],
|
||||
xmlWhitespaceSensitivity: 'ignore',
|
||||
}
|
||||
20
packages/tooling-config/eslint/base.mjs
Normal file
20
packages/tooling-config/eslint/base.mjs
Normal file
@ -0,0 +1,20 @@
|
||||
import eslint from '@eslint/js'
|
||||
import prettierEslint from 'eslint-plugin-prettier/recommended'
|
||||
import tseslint from 'typescript-eslint'
|
||||
import common from './common.mjs'
|
||||
|
||||
export default tseslint.config(
|
||||
eslint.configs.recommended,
|
||||
prettierEslint,
|
||||
...common,
|
||||
{
|
||||
languageOptions: {
|
||||
parserOptions: {
|
||||
warnOnUnsupportedTypeScriptVersion: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
ignores: ['node_modules/', 'dist/', 'build/'],
|
||||
},
|
||||
)
|
||||
22
packages/tooling-config/eslint/common.mjs
Normal file
22
packages/tooling-config/eslint/common.mjs
Normal file
@ -0,0 +1,22 @@
|
||||
import simpleImportSort from 'eslint-plugin-simple-import-sort'
|
||||
|
||||
export default [
|
||||
{
|
||||
plugins: {
|
||||
'simple-import-sort': simpleImportSort,
|
||||
},
|
||||
rules: {
|
||||
'simple-import-sort/imports': 'error',
|
||||
'simple-import-sort/exports': 'error',
|
||||
},
|
||||
},
|
||||
{
|
||||
rules: {
|
||||
'@typescript-eslint/no-type-alias': 'off',
|
||||
'@typescript-eslint/ban-ts-comment': 'off',
|
||||
'@typescript-eslint/prefer-literal-enum-member': 'off',
|
||||
'@typescript-eslint/no-namespace': 'off',
|
||||
'@typescript-eslint/no-invalid-void-type': 'off',
|
||||
},
|
||||
},
|
||||
]
|
||||
53
packages/tooling-config/eslint/nuxt.mjs
Normal file
53
packages/tooling-config/eslint/nuxt.mjs
Normal file
@ -0,0 +1,53 @@
|
||||
import { fixupPluginRules } from '@eslint/compat'
|
||||
import { createConfigForNuxt } from '@nuxt/eslint-config/flat'
|
||||
import turboPlugin from 'eslint-plugin-turbo'
|
||||
import common from './common.mjs'
|
||||
|
||||
export const configurationNuxtToAppend = [
|
||||
...common,
|
||||
{
|
||||
name: 'turbo',
|
||||
plugins: {
|
||||
turbo: fixupPluginRules(turboPlugin),
|
||||
},
|
||||
rules: {
|
||||
'turbo/no-undeclared-env-vars': 'error',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'modrinth',
|
||||
rules: {
|
||||
'vue/html-self-closing': 'off',
|
||||
'vue/multi-word-component-names': 'off',
|
||||
'vue/no-undef-components': [
|
||||
'error',
|
||||
{
|
||||
ignorePatterns: [
|
||||
'NuxtPage',
|
||||
'NuxtLayout',
|
||||
'NuxtLink',
|
||||
'NuxtRouteAnnouncer',
|
||||
'ClientOnly',
|
||||
'Teleport',
|
||||
'Transition',
|
||||
'TransitionGroup',
|
||||
'Head',
|
||||
'Title',
|
||||
'router-link',
|
||||
'RouterView',
|
||||
'RouterLink',
|
||||
'nuxt-link',
|
||||
],
|
||||
},
|
||||
],
|
||||
'vue/no-undef-properties': 'warn',
|
||||
},
|
||||
languageOptions: {
|
||||
parserOptions: {
|
||||
warnOnUnsupportedTypeScriptVersion: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
]
|
||||
|
||||
export default createConfigForNuxt().append(configurationNuxtToAppend)
|
||||
33
packages/tooling-config/frontend.prettier.config.cjs
Normal file
33
packages/tooling-config/frontend.prettier.config.cjs
Normal file
@ -0,0 +1,33 @@
|
||||
/**
|
||||
* @see https://prettier.io/docs/configuration
|
||||
* @type {import("prettier").Config}
|
||||
*/
|
||||
module.exports = {
|
||||
semi: false,
|
||||
singleQuote: true,
|
||||
plugins: [
|
||||
// In typical JS/TS britleness fashion, the Tailwind CSS plugin
|
||||
// has a transitive dependency on an import sort plugin that breaks
|
||||
// TypeScript type annotations, for reasons unbeknownst to anyone.
|
||||
// Our frontend project was the only one enabling such plugin, so
|
||||
// to avoid this bug spreading to other parts of the monorepo, let's
|
||||
// keep it contained to it. See:
|
||||
// https://github.com/tailwindlabs/prettier-plugin-tailwindcss/issues/338
|
||||
// https://github.com/prettier/prettier-vscode/issues/3578
|
||||
'prettier-plugin-tailwindcss',
|
||||
'prettier-plugin-toml',
|
||||
'prettier-plugin-sql-cst',
|
||||
'@prettier/plugin-xml',
|
||||
],
|
||||
overrides: [
|
||||
{
|
||||
files: ['*.jsonc'],
|
||||
options: {
|
||||
parser: 'jsonc',
|
||||
// By spec, JSONC only extends JSON with comment support, not trailing commas as Prettier likes to add
|
||||
trailingComma: 'none',
|
||||
},
|
||||
},
|
||||
],
|
||||
xmlWhitespaceSensitivity: 'ignore',
|
||||
}
|
||||
27
packages/tooling-config/labrinth.prettier.config.cjs
Normal file
27
packages/tooling-config/labrinth.prettier.config.cjs
Normal file
@ -0,0 +1,27 @@
|
||||
/**
|
||||
* @see https://prettier.io/docs/configuration
|
||||
* @type {import("prettier").Config}
|
||||
*/
|
||||
module.exports = {
|
||||
semi: false,
|
||||
singleQuote: true,
|
||||
plugins: ['prettier-plugin-toml', 'prettier-plugin-sql-cst', '@prettier/plugin-xml'],
|
||||
overrides: [
|
||||
{
|
||||
files: ['*.sql'],
|
||||
options: {
|
||||
parser: 'postgresql',
|
||||
sqlAcceptUnsupportedGrammar: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
files: ['*.jsonc'],
|
||||
options: {
|
||||
parser: 'jsonc',
|
||||
// By spec, JSONC only extends JSON with comment support, not trailing commas as Prettier likes to add
|
||||
trailingComma: 'none',
|
||||
},
|
||||
},
|
||||
],
|
||||
xmlWhitespaceSensitivity: 'ignore',
|
||||
}
|
||||
54
packages/tooling-config/package.json
Normal file
54
packages/tooling-config/package.json
Normal file
@ -0,0 +1,54 @@
|
||||
{
|
||||
"name": "@modrinth/tooling-config",
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"private": true,
|
||||
"description": "Unified tooling configuration for Modrinth monorepo",
|
||||
"main": "./index.js",
|
||||
"scripts": {
|
||||
"lint": "prettier --check .",
|
||||
"fix": "prettier --write ."
|
||||
},
|
||||
"exports": {
|
||||
"./eslint/*": "./eslint/*",
|
||||
"./typescript/*": "./typescript/*",
|
||||
"./prettier.config.cjs": "./prettier.config.cjs",
|
||||
"./frontend.prettier.config.cjs": "./frontend.prettier.config.cjs",
|
||||
"./app-lib.prettier.config.cjs": "./app-lib.prettier.config.cjs",
|
||||
"./labrinth.prettier.config.cjs": "./labrinth.prettier.config.cjs",
|
||||
"./tailwind/*": "./tailwind/*",
|
||||
"./script-utils/*": "./script-utils/*"
|
||||
},
|
||||
"files": [
|
||||
"eslint/",
|
||||
"typescript/",
|
||||
"prettier/",
|
||||
"tailwind/",
|
||||
"index.js"
|
||||
],
|
||||
"peerDependencies": {
|
||||
"eslint": "^9.31.0",
|
||||
"prettier": "^3.6.2",
|
||||
"typescript": ">=5.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@prettier/plugin-xml": "^3.4.2",
|
||||
"prettier-plugin-sql-cst": "^0.13.0",
|
||||
"prettier-plugin-toml": "^2.0.6"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/compat": "^1.4.1",
|
||||
"@eslint/js": "^9.32.0",
|
||||
"@nuxt/eslint-config": "^0.5.7",
|
||||
"@vue/tsconfig": "^0.7.0",
|
||||
"eslint": "^9.32.0",
|
||||
"eslint-config-prettier": "^10.1.8",
|
||||
"eslint-plugin-prettier": "^5.5.3",
|
||||
"eslint-plugin-simple-import-sort": "^12.1.1",
|
||||
"eslint-plugin-turbo": "^2.5.4",
|
||||
"eslint-plugin-vue": "^10.4.0",
|
||||
"vue-eslint-parser": "^10.1.3",
|
||||
"globals": "^16.3.0",
|
||||
"typescript-eslint": "^8.38.0"
|
||||
}
|
||||
}
|
||||
20
packages/tooling-config/prettier.config.cjs
Normal file
20
packages/tooling-config/prettier.config.cjs
Normal file
@ -0,0 +1,20 @@
|
||||
/**
|
||||
* @see https://prettier.io/docs/configuration
|
||||
* @type {import("prettier").Config}
|
||||
*/
|
||||
module.exports = {
|
||||
semi: false,
|
||||
singleQuote: true,
|
||||
plugins: ['prettier-plugin-toml', 'prettier-plugin-sql-cst', '@prettier/plugin-xml'],
|
||||
overrides: [
|
||||
{
|
||||
files: ['*.jsonc'],
|
||||
options: {
|
||||
parser: 'jsonc',
|
||||
// By spec, JSONC only extends JSON with comment support, not trailing commas as Prettier likes to add
|
||||
trailingComma: 'none',
|
||||
},
|
||||
},
|
||||
],
|
||||
xmlWhitespaceSensitivity: 'ignore',
|
||||
}
|
||||
73
packages/tooling-config/script-utils/import-sort.ts
Normal file
73
packages/tooling-config/script-utils/import-sort.ts
Normal file
@ -0,0 +1,73 @@
|
||||
/**
|
||||
* Import sorting utility that matches eslint-plugin-simple-import-sort's algorithm.
|
||||
* Use this to pre-sort generated imports so ESLint doesn't need to reformat them - which can cause it to have different diffs
|
||||
*/
|
||||
|
||||
const collator = new Intl.Collator('en', {
|
||||
sensitivity: 'base',
|
||||
numeric: true,
|
||||
})
|
||||
|
||||
function compare(a: string, b: string): number {
|
||||
return collator.compare(a, b) || (a < b ? -1 : a > b ? 1 : 0)
|
||||
}
|
||||
|
||||
/**
|
||||
* Transforms an import source path the same way simple-import-sort does internally.
|
||||
* This swaps certain characters to achieve the desired sort order:
|
||||
* - `.` and `/` sort before other punctuation
|
||||
* - `..` sorts like `../,` to come after `../../` but before `../a`
|
||||
*/
|
||||
function transformSource(source: string): string {
|
||||
return source
|
||||
.replace(/^[./]*\.$/, '$&/')
|
||||
.replace(/^[./]*\/$/, '$&,')
|
||||
.replace(/[./_-]/g, (char) => {
|
||||
switch (char) {
|
||||
case '.':
|
||||
return '_'
|
||||
case '/':
|
||||
return '-'
|
||||
case '_':
|
||||
return '.'
|
||||
case '-':
|
||||
return '/'
|
||||
default:
|
||||
return char
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* Compares two import source paths using the same algorithm as simple-import-sort.
|
||||
* Use this as a comparator function for Array.sort().
|
||||
*
|
||||
* @example
|
||||
* const imports = ['./foo', './bar', './baz'];
|
||||
* imports.sort(compareImportSources);
|
||||
*/
|
||||
export function compareImportSources(a: string, b: string): number {
|
||||
return compare(transformSource(a), transformSource(b))
|
||||
}
|
||||
|
||||
/**
|
||||
* Sorts an array of import source paths using the same algorithm as simple-import-sort.
|
||||
*
|
||||
* @example
|
||||
* const sorted = sortImportSources(['./z', './a', './m']);
|
||||
* // Returns: ['./a', './m', './z']
|
||||
*/
|
||||
export function sortImportSources<T extends string>(sources: T[]): T[] {
|
||||
return sources.slice().sort(compareImportSources)
|
||||
}
|
||||
|
||||
/**
|
||||
* Sorts an array of items by their import source path.
|
||||
*
|
||||
* @example
|
||||
* const items = [{ path: './z' }, { path: './a' }];
|
||||
* const sorted = sortByImportSource(items, item => item.path);
|
||||
*/
|
||||
export function sortByImportSource<T>(items: T[], getSource: (item: T) => string): T[] {
|
||||
return items.slice().sort((a, b) => compareImportSources(getSource(a), getSource(b)))
|
||||
}
|
||||
264
packages/tooling-config/tailwind/tailwind-preset.ts
Normal file
264
packages/tooling-config/tailwind/tailwind-preset.ts
Normal file
@ -0,0 +1,264 @@
|
||||
import containerQueries from '@tailwindcss/container-queries'
|
||||
import type { Config } from 'tailwindcss'
|
||||
|
||||
const config: Config = {
|
||||
theme: {
|
||||
extend: {
|
||||
colors: {
|
||||
surface: {
|
||||
1: 'var(--surface-1)',
|
||||
1.5: 'var(--surface-1-5)',
|
||||
2: 'var(--surface-2)',
|
||||
2.5: 'var(--surface-2-5)',
|
||||
3: 'var(--surface-3)',
|
||||
4: 'var(--surface-4)',
|
||||
5: 'var(--surface-5)',
|
||||
},
|
||||
|
||||
/// TODO: Clean up these aliases within codebase to use default, primary, tertiary.
|
||||
// text-default
|
||||
primary: 'var(--color-text-default)',
|
||||
|
||||
// text-primary
|
||||
contrast: 'var(--color-text-primary)',
|
||||
|
||||
// text-tertiary
|
||||
secondary: 'var(--color-text-tertiary)',
|
||||
|
||||
red: {
|
||||
DEFAULT: 'var(--color-red)',
|
||||
50: 'var(--color-red-50)',
|
||||
100: 'var(--color-red-100)',
|
||||
200: 'var(--color-red-200)',
|
||||
300: 'var(--color-red-300)',
|
||||
400: 'var(--color-red-400)',
|
||||
500: 'var(--color-red-500)',
|
||||
600: 'var(--color-red-600)',
|
||||
700: 'var(--color-red-700)',
|
||||
800: 'var(--color-red-800)',
|
||||
900: 'var(--color-red-900)',
|
||||
950: 'var(--color-red-950)',
|
||||
},
|
||||
orange: {
|
||||
DEFAULT: 'var(--color-orange)',
|
||||
50: 'var(--color-orange-50)',
|
||||
100: 'var(--color-orange-100)',
|
||||
200: 'var(--color-orange-200)',
|
||||
300: 'var(--color-orange-300)',
|
||||
400: 'var(--color-orange-400)',
|
||||
500: 'var(--color-orange-500)',
|
||||
600: 'var(--color-orange-600)',
|
||||
700: 'var(--color-orange-700)',
|
||||
800: 'var(--color-orange-800)',
|
||||
900: 'var(--color-orange-900)',
|
||||
950: 'var(--color-orange-950)',
|
||||
},
|
||||
green: {
|
||||
DEFAULT: 'var(--color-green)',
|
||||
50: 'var(--color-green-50)',
|
||||
100: 'var(--color-green-100)',
|
||||
200: 'var(--color-green-200)',
|
||||
300: 'var(--color-green-300)',
|
||||
400: 'var(--color-green-400)',
|
||||
500: 'var(--color-green-500)',
|
||||
600: 'var(--color-green-600)',
|
||||
700: 'var(--color-green-700)',
|
||||
800: 'var(--color-green-800)',
|
||||
900: 'var(--color-green-900)',
|
||||
950: 'var(--color-green-950)',
|
||||
},
|
||||
blue: {
|
||||
DEFAULT: 'var(--color-blue)',
|
||||
50: 'var(--color-blue-50)',
|
||||
100: 'var(--color-blue-100)',
|
||||
200: 'var(--color-blue-200)',
|
||||
300: 'var(--color-blue-300)',
|
||||
400: 'var(--color-blue-400)',
|
||||
500: 'var(--color-blue-500)',
|
||||
600: 'var(--color-blue-600)',
|
||||
700: 'var(--color-blue-700)',
|
||||
800: 'var(--color-blue-800)',
|
||||
900: 'var(--color-blue-900)',
|
||||
950: 'var(--color-blue-950)',
|
||||
},
|
||||
purple: {
|
||||
DEFAULT: 'var(--color-purple)',
|
||||
50: 'var(--color-purple-50)',
|
||||
100: 'var(--color-purple-100)',
|
||||
200: 'var(--color-purple-200)',
|
||||
300: 'var(--color-purple-300)',
|
||||
400: 'var(--color-purple-400)',
|
||||
500: 'var(--color-purple-500)',
|
||||
600: 'var(--color-purple-600)',
|
||||
700: 'var(--color-purple-700)',
|
||||
800: 'var(--color-purple-800)',
|
||||
900: 'var(--color-purple-900)',
|
||||
950: 'var(--color-purple-950)',
|
||||
},
|
||||
gray: {
|
||||
DEFAULT: 'var(--color-gray)',
|
||||
50: 'var(--color-gray-50)',
|
||||
100: 'var(--color-gray-100)',
|
||||
200: 'var(--color-gray-200)',
|
||||
300: 'var(--color-gray-300)',
|
||||
400: 'var(--color-gray-400)',
|
||||
500: 'var(--color-gray-500)',
|
||||
600: 'var(--color-gray-600)',
|
||||
700: 'var(--color-gray-700)',
|
||||
800: 'var(--color-gray-800)',
|
||||
900: 'var(--color-gray-900)',
|
||||
950: 'var(--color-gray-950)',
|
||||
},
|
||||
|
||||
/// === LEGACY ===
|
||||
icon: 'var(--color-base)',
|
||||
// Text
|
||||
inactive: 'var(--color-text-inactive)',
|
||||
dark: 'var(--color-text-dark)',
|
||||
inverted: 'var(--color-text-inverted)',
|
||||
heading: 'var(--color-heading)',
|
||||
bg: {
|
||||
DEFAULT: 'var(--surface-1)', // var(--color-bg)
|
||||
red: 'var(--color-red-bg)',
|
||||
orange: 'var(--color-orange-bg)',
|
||||
green: 'var(--color-green-bg)',
|
||||
blue: 'var(--color-blue-bg)',
|
||||
purple: 'var(--color-purple-bg)',
|
||||
raised: 'var(--surface-3)', // var(--color-raised-bg)
|
||||
},
|
||||
banners: {
|
||||
error: {
|
||||
bg: 'var(--banner-error-bg)',
|
||||
text: 'var(--banner-error-text)',
|
||||
border: 'var(--banner-error-border)',
|
||||
},
|
||||
warning: {
|
||||
bg: 'var(--banner-warning-bg)',
|
||||
text: 'var(--banner-warning-text)',
|
||||
border: 'var(--banner-warning-border)',
|
||||
},
|
||||
info: {
|
||||
bg: 'var(--banner-info-bg)',
|
||||
text: 'var(--banner-info-text)',
|
||||
border: 'var(--banner-info-border)',
|
||||
},
|
||||
},
|
||||
highlight: {
|
||||
DEFAULT: 'var(--color-brand-highlight)',
|
||||
red: 'var(--color-red-highlight)',
|
||||
orange: 'var(--color-orange-highlight)',
|
||||
green: 'var(--color-green-highlight)',
|
||||
blue: 'var(--color-blue-highlight)',
|
||||
purple: 'var(--color-purple-highlight)',
|
||||
},
|
||||
divider: {
|
||||
DEFAULT: 'var(--color-divider)',
|
||||
dark: 'var(--color-divider-dark)',
|
||||
},
|
||||
brand: {
|
||||
DEFAULT: 'var(--color-brand)',
|
||||
red: 'var(--color-red)',
|
||||
orange: 'var(--color-orange)',
|
||||
green: 'var(--color-green)',
|
||||
blue: 'var(--color-blue)',
|
||||
purple: 'var(--color-purple)',
|
||||
highlight: 'var(--color-brand-highlight)',
|
||||
shadow: 'var(--color-brand-shadow)',
|
||||
inverted: 'var(--color-accent-contrast)',
|
||||
},
|
||||
tabUnderlineHovered: 'var(--tab-underline-hovered)',
|
||||
button: {
|
||||
bg: 'var(--color-button-bg)',
|
||||
text: 'var(--color-button-text)',
|
||||
bgHover: 'var(--color-button-bg-hover)',
|
||||
textHover: 'var(--color-button-text-hover)',
|
||||
bgActive: 'var(--color-button-bg-active)',
|
||||
textActive: 'var(--color-button-text-active)',
|
||||
border: 'var(--color-button-border)',
|
||||
bgSelected: 'var(--color-button-bg-selected)',
|
||||
textSelected: 'var(--color-button-text-selected)',
|
||||
},
|
||||
toggleHandle: 'var(--color-toggle-handle)',
|
||||
dropdown: {
|
||||
bg: 'var(--color-dropdown-bg)',
|
||||
text: 'var(--color-dropdown-text)',
|
||||
},
|
||||
tooltip: {
|
||||
bg: 'var(--color-tooltip-bg)',
|
||||
text: 'var(--color-tooltip-text)',
|
||||
},
|
||||
code: {
|
||||
bg: 'var(--color-code-bg)',
|
||||
text: 'var(--color-code-text)',
|
||||
},
|
||||
kbdShadow: 'var(--color-kbd-shadow)',
|
||||
ad: {
|
||||
DEFAULT: 'var(--color-ad)',
|
||||
raised: 'var(--color-ad-raised)',
|
||||
contrast: 'var(--color-ad-contrast)',
|
||||
highlight: 'var(--color-ad-highlight)',
|
||||
},
|
||||
greyLink: {
|
||||
DEFAULT: 'var(--color-grey-link)',
|
||||
hover: 'var(--color-grey-link-hover)',
|
||||
active: 'var(--color-grey-link-active)',
|
||||
},
|
||||
link: {
|
||||
DEFAULT: 'var(--color-link)',
|
||||
hover: 'var(--color-link-hover)',
|
||||
active: 'var(--color-link-active)',
|
||||
},
|
||||
warning: {
|
||||
bg: 'var(--color-warning-bg)',
|
||||
text: 'var(--color-warning-text)',
|
||||
banner: {
|
||||
text: 'var(--color-warning-banner-text)',
|
||||
bg: 'var(--color-warning-banner-bg)',
|
||||
side: 'var(--color-warning-banner-side)',
|
||||
},
|
||||
},
|
||||
infoBanner: {
|
||||
text: 'var(--color-info-banner-text)',
|
||||
bg: 'var(--color-info-banner-bg)',
|
||||
side: 'var(--color-info-banner-side)',
|
||||
},
|
||||
blockQuote: 'var(--color-block-quote)',
|
||||
headerUnderline: 'var(--color-header-underline)',
|
||||
hr: 'var(--color-hr)',
|
||||
table: {
|
||||
border: 'var(--color-table-border)',
|
||||
alternateRow: 'var(--color-table-alternate-row)',
|
||||
},
|
||||
},
|
||||
backgroundImage: {
|
||||
mazeBg: 'var(--landing-maze-bg)',
|
||||
mazeGradientBg: 'var(--landing-maze-gradient-bg)',
|
||||
// @ts-ignore
|
||||
landing: {
|
||||
mazeOuterBg: 'var(--landing-maze-outer-bg)',
|
||||
colorHeading: 'var(--landing-color-heading)',
|
||||
colorSubheading: 'var(--landing-color-subheading)',
|
||||
transitionGradientStart: 'var(--landing-transition-gradient-start)',
|
||||
transitionGradientEnd: 'var(--landing-transition-gradient-end)',
|
||||
hoverCardGradient: 'var(--landing-hover-card-gradient)',
|
||||
borderGradient: 'var(--landing-border-gradient)',
|
||||
borderColor: 'var(--landing-border-color)',
|
||||
creatorGradient: 'var(--landing-creator-gradient)',
|
||||
blobGradient: 'var(--landing-blob-gradient)',
|
||||
cardBg: 'var(--landing-card-bg)',
|
||||
blueLabel: 'var(--landing-blue-label)',
|
||||
blueLabelBg: 'var(--landing-blue-label-bg)',
|
||||
greenLabel: 'var(--landing-green-label)',
|
||||
greenLabelBg: 'var(--landing-green-label-bg)',
|
||||
rawBg: 'var(--landing-raw-bg)',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
plugins: [containerQueries],
|
||||
corePlugins: {
|
||||
preflight: false,
|
||||
},
|
||||
}
|
||||
|
||||
export default config
|
||||
17
packages/tooling-config/typescript/base.json
Normal file
17
packages/tooling-config/typescript/base.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"$schema": "https://www.schemastore.org/tsconfig",
|
||||
"compilerOptions": {
|
||||
"target": "ES2020",
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "bundler",
|
||||
"strict": true,
|
||||
"esModuleInterop": true,
|
||||
"skipLibCheck": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"resolveJsonModule": true,
|
||||
"isolatedModules": true,
|
||||
"noEmit": true,
|
||||
"lib": ["esnext", "dom"],
|
||||
"allowSyntheticDefaultImports": true
|
||||
}
|
||||
}
|
||||
9
packages/tooling-config/typescript/vue.json
Normal file
9
packages/tooling-config/typescript/vue.json
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"$schema": "https://www.schemastore.org/tsconfig",
|
||||
"extends": "@vue/tsconfig/tsconfig.dom.json",
|
||||
"compilerOptions": {
|
||||
"lib": ["ESNext", "DOM"],
|
||||
"moduleResolution": "bundler",
|
||||
"noImplicitAny": false
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user