@j1n/lint-a-lot
Version:
The purpose of this package is to wrap common eslint and stylelint extensions in order to set them up as quickly as possible for a angular-project. Also this project contains a `.editorconfig` that should be used.
3 lines (2 loc) • 3.35 kB
JavaScript
import e from"fs";import r,{dirname as s}from"path";import{fileURLToPath as n}from"url";import*as t from"angular-eslint";import o from"globals";import i from"@typescript-eslint/eslint-plugin";import l from"eslint-plugin-import-x";import*as a from"eslint-import-resolver-typescript";import m from"@eslint/js";import p from"eslint-plugin-prettier/recommended";import c from"eslint-plugin-jasmine";const g=[m.configs.recommended,...t.configs.tsRecommended,{files:["**/*.ts"],ignores:["eslint.config.js"],languageOptions:{globals:o.browser},processor:t.processInlineTemplates,plugins:{"@typescript-eslint":i,"import-x":l},settings:{"import-x/resolver":{typescript:!0,name:"tsResolver",resolver:a}},rules:{"no-console":"error","no-alert":"error","no-debugger":"error",eqeqeq:"error",yoda:"error",radix:"error","@typescript-eslint/naming-convention":["error",{selector:"enumMember",format:["UPPER_CASE"]},{selector:"enum",format:["PascalCase"]}],"@typescript-eslint/explicit-function-return-type":"error",...i.configs.recommended.rules,...l.configs.recommended.rules,...l.flatConfigs.typescript.rules,"import-x/order":["error",{groups:[["builtin","external"],["internal"],["parent","sibling","index"]],"newlines-between":"always",alphabetize:{order:"asc",caseInsensitive:!0}}],"@angular-eslint/directive-selector":["error",{type:"attribute",prefix:"app",style:"camelCase"}],"@angular-eslint/component-selector":["error",{type:"element",prefix:"app",style:"kebab-case"}]}}],u=[...t.configs.templateRecommended,...t.configs.templateAccessibility,p,{rules:{"@angular-eslint/template/attributes-order":["warn",{order:["TEMPLATE_REFERENCE","STRUCTURAL_DIRECTIVE","OUTPUT_BINDING","TWO_WAY_BINDING","INPUT_BINDING","ATTRIBUTE_BINDING"]}],"@angular-eslint/template/prefer-control-flow":"error","@angular-eslint/template/prefer-self-closing-tags":"error","prettier/prettier":["error",{parser:"angular"}]}}],d={files:["**/*.spec.ts"],plugins:{jasmine:c},languageOptions:{globals:{...o.jasmine}},rules:{"jasmine/no-focused-tests":"error","jasmine/expect-matcher":"error","jasmine/missing-expect":"error","jasmine/named-spy":"error","jasmine/new-line-between-declarations":"error","jasmine/no-suite-dupes":"error","jasmine/no-spec-dupes":"error","jasmine/prefer-toBeUndefined":"error","jasmine/no-unsafe-spy":"error","jasmine/no-disabled-tests":"warn"}},f=n(import.meta.url),y=r.dirname(f),b=[r.resolve(y,"../package.json"),r.resolve(y,"../../package.json")].find((r=>e.existsSync(r))),v=JSON.parse(e.readFileSync(b,"utf8")),j={meta:{name:v.name,version:v.version},configs:{},rules:{}};Object.assign(j.configs,{angular:{tsRecommended:g,htmlRecommended:u},shared:{testingRecommended:d}});var x={esLintConfig:j,stylelintConfig:{plugins:["stylelint-order","stylelint-no-unsupported-browser-features"],rules:{"plugin/no-unsupported-browser-features":[!0,{browsers:["last 2 Edge versions","last 2 Chrome versions","last 2 Firefox versions","last 2 Safari versions","last 2 Samsung versions","last 2 Opera versions"],severity:"warning",ignore:["css-nesting","css-variables","multicolumn","font-unicode-range","viewport-units"]}],"selector-class-pattern":null},extends:["stylelint-config-standard-scss","stylelint-config-clean-order/error","stylelint-prettier/recommended"],configBasedir:s(n(import.meta.url))}};export{x as default};
//# sourceMappingURL=bundle.mjs.map