3.0.1 • Published 11 months ago

@ito-frontend/eslint-config v3.0.1

Weekly downloads
-
License
ISC
Repository
github
Last release
11 months ago

OneAd ITO ESLint Config

Powered by @antfu/eslint-config

Install

  1. pnpm add -D @ito-frontend/eslint-config
  2. cmd+shift+p > Preferences: Open Workspace Settings (JSON) > 貼上。
{
  "editor.formatOnSave": false,

  // Auto fix
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": "explicit",
    "source.organizeImports": "never"
  },

  // Silent the stylistic rules in you IDE, but still auto fix them
  "eslint.rules.customizations": [
    { "rule": "style/*", "severity": "off", "fixable": true },
    { "rule": "format/*", "severity": "off", "fixable": true },
    { "rule": "*-indent", "severity": "off", "fixable": true },
    { "rule": "*-spacing", "severity": "off", "fixable": true },
    { "rule": "*-spaces", "severity": "off", "fixable": true },
    { "rule": "*-order", "severity": "off", "fixable": true },
    { "rule": "*-dangle", "severity": "off", "fixable": true },
    { "rule": "*-newline", "severity": "off", "fixable": true },
    { "rule": "*quotes", "severity": "off", "fixable": true },
    { "rule": "*semi", "severity": "off", "fixable": true }
  ],

  // Enable eslint for all supported languages
  "eslint.validate": [
    "javascript",
    "javascriptreact",
    "typescript",
    "typescriptreact",
    "vue",
    "html",
    "markdown",
    "json",
    "jsonc",
    "yaml",
    "toml",
    "xml",
    "gql",
    "graphql",
    "astro",
    "svelte",
    "css",
    "less",
    "scss",
    "pcss",
    "postcss"
  ]
}
  1. 專案新增eslint.config.mjs
// ito工廠函數的參數
type ItoConfigParams = {
  /**
   * 框架
   * @default 'vue'
   */
  framework?: 'vue' | 'react' | 'astro';
  /**
   * Vue的版本號
   * @default 3
   */
  vueVersion?: 2 | 3;
  /**
   * 是否有使用Tailwind
   * @default false
   */
  tailwind?: boolean;
  /**
   * 是否有使用TypeScript
   * @default true
   */
  typescript?: boolean;
  /**
   * 是否要啟用檔案命名規則
   * @default false
   */
  checkFile?:
    | boolean
    | { enabled: boolean; ignores?: []; files?: []; fileNamingStyle?: string; folderNamingStyle?: string };
  /**
  /**
   * 其他自定義ESLint Flat Configs
   * @default []
   */
  otherConfigs?: TypedFlatConfigItem[];
};
// eslint.config.mjs
import ito from '@ito-frontend/eslint-config';

export default ito({
  framework: 'react',
  typescript: false,
  tailwind: true,
  checkFile: { enabled: true, ignores: ['README.md', 'src/routes/**/*'] },
});
// eslint.config.mjs
import ito from '@onead-ito/eslint-config';
import pluginCypress from 'eslint-plugin-cypress/flat';
import sonarjs from 'eslint-plugin-sonarjs';

const cypressConfig = [
  pluginCypress.configs.recommended,
  {
    rules: {
      'cypress/no-unnecessary-waiting': 'off',
    },
  },
];

const sonarConfigs = [
  sonarjs.configs.recommended,
  {
    plugins: {
      sonarjs,
    },
  },
];

export default ito({
  otherConfigs: [...cypressConfig, ...sonarConfigs],
});

Publish

  1. pnpm releasebumpp會自動提升版號。
  2. 到 Github 中新增 release,之後觸發 Github Actions 自動發布 package。
2.0.3

1 year ago

2.0.5

11 months ago

2.0.4

12 months ago

2.0.7

11 months ago

2.0.6

11 months ago

2.0.8

11 months ago

3.0.1

11 months ago

3.0.0

11 months ago

2.0.2

1 year ago

1.0.11

1 year ago

1.0.14

1 year ago

2.0.1

1 year ago

1.0.13

1 year ago

2.0.0

1 year ago

1.0.12

1 year ago

1.0.10

1 year ago

1.0.9

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago