diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index 55f99a2..0000000 --- a/.eslintrc +++ /dev/null @@ -1,12 +0,0 @@ -{ - "root": true, - "parserOptions": { - "project": [ - "./tsconfig.eslint.json", - "./packages/*/tsconfig.json" - ] - }, - "extends": [ - "lxsmnsyc/typescript" - ] -} \ No newline at end of file diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4aaea3b..7651d83 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -6,18 +6,17 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v2.2.2 + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 with: version: 8 - run_install: | - - args: [--frozen-lockfile] + run_install: true - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: 20 - cache: 'pnpm' - + cache: "pnpm" + - name: Clean run: pnpm recursive run clean env: diff --git a/.npmrc b/.npmrc index fa4e095..5f51e61 100644 --- a/.npmrc +++ b/.npmrc @@ -1 +1,3 @@ -strict-peer-dependencies=false \ No newline at end of file +strict-peer-dependencies=false +prefer-workspace-packages=true +link-workspace-packages=true \ No newline at end of file diff --git a/biome.json b/biome.json new file mode 100644 index 0000000..8a94ba5 --- /dev/null +++ b/biome.json @@ -0,0 +1,270 @@ +{ + "$schema": "https://unpkg.com/@biomejs/biome/configuration_schema.json", + "files": { + "ignore": ["node_modules/**/*"] + }, + "vcs": { + "useIgnoreFile": true + }, + "linter": { + "enabled": true, + "ignore": ["node_modules/**/*"], + "rules": { + "a11y": { + "noAccessKey": "error", + "noAriaHiddenOnFocusable": "off", + "noAriaUnsupportedElements": "error", + "noAutofocus": "error", + "noBlankTarget": "error", + "noDistractingElements": "error", + "noHeaderScope": "error", + "noInteractiveElementToNoninteractiveRole": "error", + "noNoninteractiveElementToInteractiveRole": "error", + "noNoninteractiveTabindex": "error", + "noPositiveTabindex": "error", + "noRedundantAlt": "error", + "noRedundantRoles": "error", + "noSvgWithoutTitle": "error", + "useAltText": "error", + "useAnchorContent": "error", + "useAriaActivedescendantWithTabindex": "error", + "useAriaPropsForRole": "error", + "useButtonType": "error", + "useHeadingContent": "error", + "useHtmlLang": "error", + "useIframeTitle": "warn", + "useKeyWithClickEvents": "warn", + "useKeyWithMouseEvents": "warn", + "useMediaCaption": "error", + "useValidAnchor": "error", + "useValidAriaProps": "error", + "useValidAriaRole": "error", + "useValidAriaValues": "error", + "useValidLang": "error" + }, + "complexity": { + "noBannedTypes": "error", + "noEmptyTypeParameters": "error", + "noExcessiveCognitiveComplexity": "error", + "noExtraBooleanCast": "error", + "noForEach": "error", + "noMultipleSpacesInRegularExpressionLiterals": "warn", + "noStaticOnlyClass": "error", + "noThisInStatic": "error", + "noUselessCatch": "error", + "noUselessConstructor": "error", + "noUselessLoneBlockStatements": "error", + "noUselessEmptyExport": "error", + "noUselessFragments": "error", + "noUselessLabel": "error", + "noUselessRename": "error", + "noUselessSwitchCase": "error", + "noUselessTernary": "error", + "noUselessThisAlias": "error", + "noUselessTypeConstraint": "error", + "noVoid": "off", + "noWith": "error", + "useArrowFunction": "error", + "useFlatMap": "error", + "useLiteralKeys": "error", + "useOptionalChain": "warn", + "useRegexLiterals": "error", + "useSimpleNumberKeys": "error", + "useSimplifiedLogicExpression": "error" + }, + "correctness": { + "noChildrenProp": "error", + "noConstantCondition": "error", + "noConstantMathMinMaxClamp": "error", + "noConstAssign": "error", + "noConstructorReturn": "error", + "noEmptyCharacterClassInRegex": "error", + "noEmptyPattern": "error", + "noFlatMapIdentity": "error", + "noGlobalObjectCalls": "error", + "noInnerDeclarations": "error", + "noInvalidConstructorSuper": "error", + "noInvalidNewBuiltin": "error", + "noInvalidUseBeforeDeclaration": "error", + "noNewSymbol": "error", + "noNodejsModules": "off", + "noNonoctalDecimalEscape": "error", + "noPrecisionLoss": "error", + "noRenderReturnValue": "error", + "noSelfAssign": "error", + "noSetterReturn": "error", + "noStringCaseMismatch": "error", + "noSwitchDeclarations": "error", + "noUndeclaredVariables": "error", + "noUnnecessaryContinue": "error", + "noUnreachable": "error", + "noUnreachableSuper": "error", + "noUnsafeFinally": "error", + "noUnsafeOptionalChaining": "error", + "noUnusedImports": "error", + "noUnusedLabels": "error", + "noUnusedPrivateClassMembers": "error", + "noUnusedVariables": "error", + "noVoidElementsWithChildren": "error", + "noVoidTypeReturn": "error", + "useArrayLiterals": "error", + "useExhaustiveDependencies": "error", + "useHookAtTopLevel": "error", + "useIsNan": "error", + "useValidForDirection": "error", + "useYield": "error" + }, + "performance": { + "noAccumulatingSpread": "error", + "noDelete": "off" + }, + "security": { + "noDangerouslySetInnerHtml": "error", + "noDangerouslySetInnerHtmlWithChildren": "error", + "noGlobalEval": "off" + }, + "style": { + "noArguments": "error", + "noCommaOperator": "off", + "noDefaultExport": "off", + "noImplicitBoolean": "error", + "noInferrableTypes": "error", + "noNamespace": "error", + "noNegationElse": "error", + "noNonNullAssertion": "off", + "noParameterAssign": "off", + "noParameterProperties": "off", + "noRestrictedGlobals": "error", + "noShoutyConstants": "error", + "noUnusedTemplateLiteral": "error", + "noUselessElse": "error", + "noVar": "error", + "useAsConstAssertion": "error", + "useBlockStatements": "error", + "useCollapsedElseIf": "error", + "useConsistentArrayType": "error", + "useConst": "error", + "useDefaultParameterLast": "error", + "useEnumInitializers": "error", + "useExponentiationOperator": "error", + "useExportType": "error", + "useFragmentSyntax": "error", + "useFilenamingConvention": "off", + "useForOf": "warn", + "useImportType": "error", + "useLiteralEnumMembers": "error", + "useNamingConvention": "off", + "useNodejsImportProtocol": "warn", + "useNumberNamespace": "error", + "useNumericLiterals": "error", + "useSelfClosingElements": "error", + "useShorthandArrayType": "error", + "useShorthandAssign": "error", + "useShorthandFunctionType": "warn", + "useSingleCaseStatement": "error", + "useSingleVarDeclarator": "error", + "useTemplate": "off", + "useWhile": "error" + }, + "suspicious": { + "noApproximativeNumericConstant": "error", + "noArrayIndexKey": "error", + "noAssignInExpressions": "error", + "noAsyncPromiseExecutor": "error", + "noCatchAssign": "error", + "noClassAssign": "error", + "noCommentText": "error", + "noCompareNegZero": "error", + "noConfusingLabels": "error", + "noConfusingVoidType": "error", + "noConsoleLog": "warn", + "noConstEnum": "off", + "noControlCharactersInRegex": "error", + "noDebugger": "off", + "noDoubleEquals": "error", + "noDuplicateCase": "error", + "noDuplicateClassMembers": "error", + "noDuplicateJsxProps": "error", + "noDuplicateObjectKeys": "error", + "noDuplicateParameters": "error", + "noEmptyBlockStatements": "error", + "noEmptyInterface": "error", + "noExplicitAny": "warn", + "noExtraNonNullAssertion": "error", + "noFallthroughSwitchClause": "error", + "noFunctionAssign": "error", + "noGlobalAssign": "error", + "noGlobalIsFinite": "error", + "noGlobalIsNan": "error", + "noImplicitAnyLet": "off", + "noImportAssign": "error", + "noLabelVar": "error", + "noMisleadingCharacterClass": "error", + "noMisleadingInstantiator": "error", + "noMisrefactoredShorthandAssign": "off", + "noPrototypeBuiltins": "error", + "noRedeclare": "error", + "noRedundantUseStrict": "error", + "noSelfCompare": "off", + "noShadowRestrictedNames": "error", + "noSparseArray": "off", + "noThenProperty": "warn", + "noUnsafeDeclarationMerging": "error", + "noUnsafeNegation": "error", + "useAwait": "error", + "useDefaultSwitchClauseLast": "error", + "useGetterReturn": "error", + "useIsArray": "error", + "useNamespaceKeyword": "error", + "useValidTypeof": "error" + } + } + }, + "formatter": { + "enabled": true, + "ignore": ["node_modules/**/*"], + "formatWithErrors": false, + "indentWidth": 2, + "indentStyle": "space", + "lineEnding": "lf", + "lineWidth": 80 + }, + "organizeImports": { + "enabled": true, + "ignore": ["node_modules/**/*"] + }, + "javascript": { + "formatter": { + "enabled": true, + "arrowParentheses": "asNeeded", + "bracketSameLine": false, + "bracketSpacing": true, + "indentWidth": 2, + "indentStyle": "space", + "jsxQuoteStyle": "double", + "lineEnding": "lf", + "lineWidth": 80, + "quoteProperties": "asNeeded", + "quoteStyle": "single", + "semicolons": "always", + "trailingCommas": "all" + }, + "globals": [], + "parser": { + "unsafeParameterDecoratorsEnabled": true + } + }, + "json": { + "formatter": { + "enabled": true, + "indentWidth": 2, + "indentStyle": "space", + "lineEnding": "lf", + "lineWidth": 80 + }, + "parser": { + "allowComments": false, + "allowTrailingCommas": false + } + } +} diff --git a/examples/comments/.eslintrc.cjs b/examples/comments/.eslintrc.cjs deleted file mode 100644 index 83570b9..0000000 --- a/examples/comments/.eslintrc.cjs +++ /dev/null @@ -1,13 +0,0 @@ -module.exports = { - "root": true, - "extends": [ - "lxsmnsyc/typescript/solid" - ], - "parserOptions": { - "project": "./tsconfig.eslint.json", - "tsconfigRootDir": __dirname, - }, - "rules": { - "no-lone-blocks": "off" - } -}; diff --git a/examples/comments/index.html b/examples/comments/index.html index 78ed111..b1c352e 100644 --- a/examples/comments/index.html +++ b/examples/comments/index.html @@ -1,13 +1,16 @@ -
- - - -