<commit_before>module.exports = {
  rules: {
    // Stylistic Issues

    // [semicolon-less style](https://www.youtube.com/watch?v=gsfbh17Ax9I)
    'semi': ['warn', 'never'],

    // 分号前不得有空格，分号后（如果有内容）必须有空格
    'semi-spacing': ['warn', { before: false, after: true }],

    // 逗号只能出现在行中或行末，不能出现在行首
    'comma-style': ['warn', 'last'],

    // 逗号前不得有空格，逗号后（如果有内容）必须有空格
    'comma-spacing': ['warn', { before: false, after: true }],

    // 如果在点号 . 处换行，点号应当在下一行行首
    'dot-location': ['warn', 'property'],

    // 如果在操作符（比如 +）处换行，操作符应当在下一行行首nt
    // 对于一长串字符串的拼接，感觉在行末更舒服
    'operator-linebreak': 'off',    // [1, before]

    // Enforces empty newlines after var, let or const
    // 在变量定义后应当跟着一行空行
    'newline-after-var': 'off', // [1, 'always'],

    // requires a blank line before `return` statements,
    // except when the `return` is alone inside a statement group (such as an if statement).
    'newline-before-return': 'off',

    // Chained method calls with a depth greater than 3 should be followd by newline per call
    // Seems somewhat annoying in real life
    'newline-per-chained-call': 'off', // [1, { ignoreChainWithDepth: 3 }],

    // 一律使用单引号，除非字符串的值中有单引号
    // 只在必要时（用到了变量替换、换行或者 tagged templates 这几个特性之一）使用 template literals
    'quotes': ['warn', 'single', { avoidEscape: true, allowTemplateLiterals: false }],

    // 2 spaces for indentation
    // As Google, npm, Node.js, Idiomatic all follow this convention
    // The default package.json and .travis.yml use 2 space indent, too
    'indent': ['warn', 2, { SwitchCase: 1 }],   // eslint-disable-line no-magic-numbers

    // 严禁空格和 Tab 混用
    'no-mixed-spaces-and-tabs': 'error',
<commit_msg>Enable operator-linebreak rule<commit_after>module.exports = {
  rules: {
    // Stylistic Issues

    // [semicolon-less style](https://www.youtube.com/watch?v=gsfbh17Ax9I)
    'semi': ['warn', 'never'],

    // 分号前不得有空格，分号后（如果有内容）必须有空格
    'semi-spacing': ['warn', { before: false, after: true }],

    // 逗号只能出现在行中或行末，不能出现在行首
    'comma-style': ['warn', 'last'],

    // 逗号前不得有空格，逗号后（如果有内容）必须有空格
    'comma-spacing': ['warn', { before: false, after: true }],

    // 如果在点号 . 处换行，点号应当在下一行行首
    'dot-location': ['warn', 'property'],

    // 如果在操作符（比如 +）处换行，操作符应当在行末，三元操作符除外
    // Follows semicolon-less coding style's best practices
    'operator-linebreak': ['error', 'after', { overrides: { '?': 'ignore' } }],

    // Enforces empty newlines after var, let or const
    // 在变量定义后应当跟着一行空行
    'newline-after-var': 'off', // [1, 'always'],

    // requires a blank line before `return` statements,
    // except when the `return` is alone inside a statement group (such as an if statement).
    'newline-before-return': 'off',

    // Chained method calls with a depth greater than 3 should be followd by newline per call
    // Seems somewhat annoying in real life
    'newline-per-chained-call': 'off', // [1, { ignoreChainWithDepth: 3 }],

    // 一律使用单引号，除非字符串的值中有单引号
    // 只在必要时（用到了变量替换、换行或者 tagged templates 这几个特性之一）使用 template literals
    'quotes': ['warn', 'single', { avoidEscape: true, allowTemplateLiterals: false }],

    // 2 spaces for indentation
    // As Google, npm, Node.js, Idiomatic all follow this convention
    // The default package.json and .travis.yml use 2 space indent, too
    'indent': ['warn', 2, { SwitchCase: 1 }],   // eslint-disable-line no-magic-numbers

    // 严禁空格和 Tab 混用
    'no-mixed-spaces-and-tabs': 'error',

{'fraction_non_alphanumeric': 0.15633187772925763, 'fraction_numerical': 0.006695778748180495, 'mean_word_length': 3.061465721040189, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3547386', 'n_tokens_mistral': 1438, 'n_tokens_neox': 1406, 'n_words': 312}