mirror of
				https://github.com/zadam/trilium.git
				synced 2025-11-04 05:28:59 +01:00 
			
		
		
		
	chore: add eslint config
This commit is contained in:
		
							parent
							
								
									dba0c9f373
								
							
						
					
					
						commit
						cfb04f7d8a
					
				
							
								
								
									
										9
									
								
								.eslintignore
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								.eslintignore
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					node_modules
 | 
				
			||||||
 | 
					dist
 | 
				
			||||||
 | 
					bin
 | 
				
			||||||
 | 
					docs
 | 
				
			||||||
 | 
					libraries
 | 
				
			||||||
 | 
					spec
 | 
				
			||||||
 | 
					spec-es6
 | 
				
			||||||
 | 
					coverage
 | 
				
			||||||
 | 
					play
 | 
				
			||||||
							
								
								
									
										223
									
								
								.eslintrc.js
									
									
									
									
									
								
							
							
						
						
									
										223
									
								
								.eslintrc.js
									
									
									
									
									
								
							@ -1,16 +1,215 @@
 | 
				
			|||||||
module.exports = {
 | 
					module.exports = {
 | 
				
			||||||
    "env": {
 | 
					    env: {
 | 
				
			||||||
        "browser": true,
 | 
					        browser: true,
 | 
				
			||||||
        "commonjs": true,
 | 
					        commonjs: true,
 | 
				
			||||||
        "es2021": true,
 | 
					        es2021: true,
 | 
				
			||||||
        "node": true
 | 
					        node: true,
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "extends": "eslint:recommended",
 | 
					    plugins: ['prettier'],
 | 
				
			||||||
    "overrides": [
 | 
					
 | 
				
			||||||
 | 
					    extends: ['eslint:recommended', 'airbnb-base', 'plugin:jsonc/recommended-with-jsonc', 'prettier'],
 | 
				
			||||||
 | 
					    overrides: [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            files: ['*.json', '*.json5', '*.jsonc'],
 | 
				
			||||||
 | 
					            parser: 'jsonc-eslint-parser',
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            files: ['package.json'],
 | 
				
			||||||
 | 
					            parser: 'jsonc-eslint-parser',
 | 
				
			||||||
 | 
					            rules: {
 | 
				
			||||||
 | 
					                'jsonc/sort-keys': [
 | 
				
			||||||
 | 
					                    'error',
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        pathPattern: '^$',
 | 
				
			||||||
 | 
					                        order: [
 | 
				
			||||||
 | 
					                            'name',
 | 
				
			||||||
 | 
					                            'version',
 | 
				
			||||||
 | 
					                            'private',
 | 
				
			||||||
 | 
					                            'packageManager',
 | 
				
			||||||
 | 
					                            'description',
 | 
				
			||||||
 | 
					                            'type',
 | 
				
			||||||
 | 
					                            'keywords',
 | 
				
			||||||
 | 
					                            'homepage',
 | 
				
			||||||
 | 
					                            'bugs',
 | 
				
			||||||
 | 
					                            'license',
 | 
				
			||||||
 | 
					                            'author',
 | 
				
			||||||
 | 
					                            'contributors',
 | 
				
			||||||
 | 
					                            'funding',
 | 
				
			||||||
 | 
					                            'files',
 | 
				
			||||||
 | 
					                            'main',
 | 
				
			||||||
 | 
					                            'module',
 | 
				
			||||||
 | 
					                            'exports',
 | 
				
			||||||
 | 
					                            'unpkg',
 | 
				
			||||||
 | 
					                            'jsdelivr',
 | 
				
			||||||
 | 
					                            'browser',
 | 
				
			||||||
 | 
					                            'bin',
 | 
				
			||||||
 | 
					                            'man',
 | 
				
			||||||
 | 
					                            'directories',
 | 
				
			||||||
 | 
					                            'repository',
 | 
				
			||||||
 | 
					                            'publishConfig',
 | 
				
			||||||
 | 
					                            'scripts',
 | 
				
			||||||
 | 
					                            'peerDependencies',
 | 
				
			||||||
 | 
					                            'peerDependenciesMeta',
 | 
				
			||||||
 | 
					                            'optionalDependencies',
 | 
				
			||||||
 | 
					                            'dependencies',
 | 
				
			||||||
 | 
					                            'devDependencies',
 | 
				
			||||||
 | 
					                            'engines',
 | 
				
			||||||
 | 
					                            'config',
 | 
				
			||||||
 | 
					                            'overrides',
 | 
				
			||||||
 | 
					                            'pnpm',
 | 
				
			||||||
 | 
					                            'husky',
 | 
				
			||||||
 | 
					                            'lint-staged',
 | 
				
			||||||
 | 
					                            'eslintConfig',
 | 
				
			||||||
 | 
					                        ],
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        pathPattern: '^(?:dev|peer|optional|bundled)?[Dd]ependencies$',
 | 
				
			||||||
 | 
					                        order: { type: 'asc' },
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                ],
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "parserOptions": {
 | 
					    globals: {
 | 
				
			||||||
        "ecmaVersion": "latest"
 | 
					        $: true,
 | 
				
			||||||
 | 
					        jQuery: true,
 | 
				
			||||||
 | 
					        glob: true,
 | 
				
			||||||
 | 
					        log: true,
 | 
				
			||||||
 | 
					        EditorWatchdog: true,
 | 
				
			||||||
 | 
					        baseApiUrl: true,
 | 
				
			||||||
 | 
					        // \src\share\canvas_share.js
 | 
				
			||||||
 | 
					        React: true,
 | 
				
			||||||
 | 
					        appState: true,
 | 
				
			||||||
 | 
					        ExcalidrawLib: true,
 | 
				
			||||||
 | 
					        elements: true,
 | 
				
			||||||
 | 
					        files: true,
 | 
				
			||||||
 | 
					        ReactDOM: true,
 | 
				
			||||||
 | 
					        // src\public\app\widgets\type_widgets\relation_map.js
 | 
				
			||||||
 | 
					        jsPlumb: true,
 | 
				
			||||||
 | 
					        panzoom: true,
 | 
				
			||||||
 | 
					        logError: true,
 | 
				
			||||||
 | 
					        // src\public\app\widgets\type_widgets\image.js
 | 
				
			||||||
 | 
					        WZoom: true,
 | 
				
			||||||
 | 
					        // \src\public\app\widgets\type_widgets\read_only_text.js
 | 
				
			||||||
 | 
					        renderMathInElement: true,
 | 
				
			||||||
 | 
					        // \src\public\app\widgets\type_widgets\editable_text.js
 | 
				
			||||||
 | 
					        BalloonEditor: true,
 | 
				
			||||||
 | 
					        CKEditorInspector: true,
 | 
				
			||||||
 | 
					        // \src\public\app\widgets\type_widgets\editable_code.js
 | 
				
			||||||
 | 
					        CodeMirror: true,
 | 
				
			||||||
 | 
					        // \src\public\app\services\resizer.js
 | 
				
			||||||
 | 
					        Split: true,
 | 
				
			||||||
 | 
					        // \src\public\app\services\note_content_renderer.js
 | 
				
			||||||
 | 
					        mermaid: true,
 | 
				
			||||||
 | 
					        // src\public\app\services\frontend_script_api.js
 | 
				
			||||||
 | 
					        dayjs: true,
 | 
				
			||||||
 | 
					        // \src\public\app\widgets\dialogs\markdown_import.js
 | 
				
			||||||
 | 
					        commonmark: true,
 | 
				
			||||||
 | 
					        // \src\public\app\widgets\note_map.js
 | 
				
			||||||
 | 
					        ForceGraph: true,
 | 
				
			||||||
 | 
					        // \src\public\app\setup.js
 | 
				
			||||||
 | 
					        ko: true,
 | 
				
			||||||
 | 
					        syncInProgress: true,
 | 
				
			||||||
 | 
					        // src\public\app\services\utils.js
 | 
				
			||||||
 | 
					        logInfo: true,
 | 
				
			||||||
 | 
					        __non_webpack_require__: true,
 | 
				
			||||||
 | 
					        //
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "rules": {
 | 
					    parserOptions: {
 | 
				
			||||||
    }
 | 
					        ecmaVersion: 'latest',
 | 
				
			||||||
}
 | 
					        sourceType: 'module',
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    rules: {
 | 
				
			||||||
 | 
					        // hi adam, those rules are //temporary off, you can turn them on one by one to check if we really need it. (to be deleted)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // eslint:recommended
 | 
				
			||||||
 | 
					        'no-unused-vars': 'off',
 | 
				
			||||||
 | 
					        'linebreak-style': 'off',
 | 
				
			||||||
 | 
					        'no-useless-escape': 'off',
 | 
				
			||||||
 | 
					        'no-empty': 'off',
 | 
				
			||||||
 | 
					        'no-constant-condition': 'off',
 | 
				
			||||||
 | 
					        'getter-return': 'off',
 | 
				
			||||||
 | 
					        'no-cond-assign': 'off',
 | 
				
			||||||
 | 
					        'no-async-promise-executor': 'off',
 | 
				
			||||||
 | 
					        'no-extra-semi': 'off',
 | 
				
			||||||
 | 
					        'no-inner-declarations': 'off',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // prettier
 | 
				
			||||||
 | 
					        'prettier/prettier': ['error', { endOfLine: 'auto' }],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // airbnb-base
 | 
				
			||||||
 | 
					        'no-console': 'off',
 | 
				
			||||||
 | 
					        'no-plusplus': 'off',
 | 
				
			||||||
 | 
					        'no-param-reassign': 'off',
 | 
				
			||||||
 | 
					        'global-require': 'off',
 | 
				
			||||||
 | 
					        'no-use-before-define': 'off',
 | 
				
			||||||
 | 
					        'no-await-in-loop': 'off',
 | 
				
			||||||
 | 
					        radix: 'off',
 | 
				
			||||||
 | 
					        'import/order': 'off',
 | 
				
			||||||
 | 
					        'import/no-extraneous-dependencies': 'off',
 | 
				
			||||||
 | 
					        'prefer-destructuring': 'off',
 | 
				
			||||||
 | 
					        'no-shadow': 'off',
 | 
				
			||||||
 | 
					        'no-new': 'off',
 | 
				
			||||||
 | 
					        'no-restricted-syntax': 'off',
 | 
				
			||||||
 | 
					        strict: 'off',
 | 
				
			||||||
 | 
					        'class-methods-use-this': 'off',
 | 
				
			||||||
 | 
					        'no-else-return': 'off',
 | 
				
			||||||
 | 
					        'import/no-dynamic-require': 'off',
 | 
				
			||||||
 | 
					        'no-underscore-dangle': 'off',
 | 
				
			||||||
 | 
					        'prefer-template': 'off',
 | 
				
			||||||
 | 
					        'consistent-return': 'off',
 | 
				
			||||||
 | 
					        'no-continue': 'off',
 | 
				
			||||||
 | 
					        'object-shorthand': 'off',
 | 
				
			||||||
 | 
					        'one-var': 'off',
 | 
				
			||||||
 | 
					        'prefer-const': 'off',
 | 
				
			||||||
 | 
					        'spaced-comment': 'off',
 | 
				
			||||||
 | 
					        'no-loop-func': 'off',
 | 
				
			||||||
 | 
					        'arrow-body-style': 'off',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        'guard-for-in': 'off',
 | 
				
			||||||
 | 
					        'no-return-assign': 'off',
 | 
				
			||||||
 | 
					        'dot-notation': 'off',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        'func-names': 'off',
 | 
				
			||||||
 | 
					        'import/no-useless-path-segments': 'off',
 | 
				
			||||||
 | 
					        'default-param-last': 'off',
 | 
				
			||||||
 | 
					        'prefer-arrow-callback': 'off',
 | 
				
			||||||
 | 
					        'no-unneeded-ternary': 'off',
 | 
				
			||||||
 | 
					        'no-return-await': 'off',
 | 
				
			||||||
 | 
					        'import/extensions': 'off',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        'no-var': 'off',
 | 
				
			||||||
 | 
					        'import/newline-after-import': 'off',
 | 
				
			||||||
 | 
					        'no-restricted-globals': 'off',
 | 
				
			||||||
 | 
					        'operator-assignment': 'off',
 | 
				
			||||||
 | 
					        'no-eval': 'off',
 | 
				
			||||||
 | 
					        'max-classes-per-file': 'off',
 | 
				
			||||||
 | 
					        'vars-on-top': 'off',
 | 
				
			||||||
 | 
					        'no-bitwise': 'off',
 | 
				
			||||||
 | 
					        'no-lonely-if': 'off',
 | 
				
			||||||
 | 
					        'no-multi-assign': 'off',
 | 
				
			||||||
 | 
					        'no-promise-executor-return': 'off',
 | 
				
			||||||
 | 
					        'no-empty-function': 'off',
 | 
				
			||||||
 | 
					        'import/no-unresolved': 'off',
 | 
				
			||||||
 | 
					        camelcase: 'off',
 | 
				
			||||||
 | 
					        eqeqeq: 'off',
 | 
				
			||||||
 | 
					        'lines-between-class-members': 'off',
 | 
				
			||||||
 | 
					        'import/no-cycle': 'off',
 | 
				
			||||||
 | 
					        'new-cap': 'off',
 | 
				
			||||||
 | 
					        'prefer-object-spread': 'off',
 | 
				
			||||||
 | 
					        'no-new-func': 'off',
 | 
				
			||||||
 | 
					        'no-unused-expressions': 'off',
 | 
				
			||||||
 | 
					        'lines-around-directive': 'off',
 | 
				
			||||||
 | 
					        'prefer-exponentiation-operator': 'off',
 | 
				
			||||||
 | 
					        'no-restricted-properties': 'off',
 | 
				
			||||||
 | 
					        'prefer-rest-params': 'off',
 | 
				
			||||||
 | 
					        'no-unreachable-loop': 'off',
 | 
				
			||||||
 | 
					        'no-alert': 'off',
 | 
				
			||||||
 | 
					        'no-useless-return': 'off',
 | 
				
			||||||
 | 
					        'no-nested-ternary': 'off',
 | 
				
			||||||
 | 
					        'prefer-regex-literals': 'off',
 | 
				
			||||||
 | 
					        'import/no-named-as-default-member': 'off',
 | 
				
			||||||
 | 
					        yoda: 'off',
 | 
				
			||||||
 | 
					        'no-script-url': 'off',
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@ -12,3 +12,4 @@ server-package.json
 | 
				
			|||||||
.idea/httpRequests/
 | 
					.idea/httpRequests/
 | 
				
			||||||
data/
 | 
					data/
 | 
				
			||||||
tmp/
 | 
					tmp/
 | 
				
			||||||
 | 
					.eslintcache
 | 
				
			||||||
							
								
								
									
										1
									
								
								.husky/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								.husky/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					_
 | 
				
			||||||
							
								
								
									
										11
									
								
								.prettierrc.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								.prettierrc.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					//https://prettier.io/docs/en/options.html 
 | 
				
			||||||
 | 
					module.exports = {
 | 
				
			||||||
 | 
						semi: true,
 | 
				
			||||||
 | 
						trailingComma: 'es5',
 | 
				
			||||||
 | 
						singleQuote: true,
 | 
				
			||||||
 | 
						printWidth: 120,
 | 
				
			||||||
 | 
						tabWidth: 4,
 | 
				
			||||||
 | 
						// useTabs: false,
 | 
				
			||||||
 | 
						// bracketSpacing: true,
 | 
				
			||||||
 | 
						// htmlWhitespaceSensitivity: 'ignore',
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
							
								
								
									
										16
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								package.json
									
									
									
									
									
								
							@ -26,7 +26,9 @@
 | 
				
			|||||||
    "test-jasmine": "jasmine",
 | 
					    "test-jasmine": "jasmine",
 | 
				
			||||||
    "test-es6": "node -r esm spec-es6/attribute_parser.spec.js ",
 | 
					    "test-es6": "node -r esm spec-es6/attribute_parser.spec.js ",
 | 
				
			||||||
    "test": "npm run test-jasmine && npm run test-es6",
 | 
					    "test": "npm run test-jasmine && npm run test-es6",
 | 
				
			||||||
    "postinstall": "rimraf ./node_modules/canvas"
 | 
					    "postinstall": "rimraf ./node_modules/canvas",
 | 
				
			||||||
 | 
					    "lint": "eslint .  --cache",
 | 
				
			||||||
 | 
					    "prepare": "husky install"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "dependencies": {
 | 
					  "dependencies": {
 | 
				
			||||||
    "@braintree/sanitize-url": "6.0.2",
 | 
					    "@braintree/sanitize-url": "6.0.2",
 | 
				
			||||||
@ -100,15 +102,27 @@
 | 
				
			|||||||
    "electron-packager": "17.1.1",
 | 
					    "electron-packager": "17.1.1",
 | 
				
			||||||
    "electron-rebuild": "3.2.9",
 | 
					    "electron-rebuild": "3.2.9",
 | 
				
			||||||
    "eslint": "^8.38.0",
 | 
					    "eslint": "^8.38.0",
 | 
				
			||||||
 | 
					    "eslint-config-airbnb-base": "^15.0.0",
 | 
				
			||||||
 | 
					    "eslint-config-prettier": "^8.8.0",
 | 
				
			||||||
 | 
					    "eslint-plugin-import": "^2.27.5",
 | 
				
			||||||
 | 
					    "eslint-plugin-jsonc": "^2.7.0",
 | 
				
			||||||
 | 
					    "eslint-plugin-prettier": "^4.2.1",
 | 
				
			||||||
    "esm": "3.2.25",
 | 
					    "esm": "3.2.25",
 | 
				
			||||||
 | 
					    "husky": "^8.0.3",
 | 
				
			||||||
    "jasmine": "4.5.0",
 | 
					    "jasmine": "4.5.0",
 | 
				
			||||||
    "jsdoc": "4.0.1",
 | 
					    "jsdoc": "4.0.1",
 | 
				
			||||||
 | 
					    "jsonc-eslint-parser": "^2.2.0",
 | 
				
			||||||
 | 
					    "lint-staged": "^13.2.1",
 | 
				
			||||||
    "lorem-ipsum": "2.0.8",
 | 
					    "lorem-ipsum": "2.0.8",
 | 
				
			||||||
 | 
					    "prettier": "2.8.7",
 | 
				
			||||||
    "rcedit": "3.0.1",
 | 
					    "rcedit": "3.0.1",
 | 
				
			||||||
    "webpack": "5.75.0",
 | 
					    "webpack": "5.75.0",
 | 
				
			||||||
    "webpack-cli": "5.0.1"
 | 
					    "webpack-cli": "5.0.1"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "optionalDependencies": {
 | 
					  "optionalDependencies": {
 | 
				
			||||||
    "electron-installer-debian": "3.1.0"
 | 
					    "electron-installer-debian": "3.1.0"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "lint-staged": {
 | 
				
			||||||
 | 
					    "*.js": "eslint --cache --fix"
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user