🎉 Major modernization release bringing AdminLTE to current standards ## Key Improvements: - 🔒 Zero security vulnerabilities (all dependencies updated) - ⚡ ESLint v9 with modern flat configuration - 📦 Astro 5.x, Bootstrap 5.3.7, 50+ package updates - 🛠️ New npm scripts: 'npm start', 'npm run build' - 🧹 700+ linting issues resolved, technical debt cleaned - 🎯 ES modules, modern tooling, optimal bundles ## Infrastructure: - Upgraded to ES modules with proper configurations - Migrated ESLint to v9 flat config format - Enhanced build scripts and developer experience - Added comprehensive CHANGELOG.md - Updated README.md with v4.0.0-rc1 highlights ## Quality & Security: - All npm vulnerabilities resolved - Zero linting errors across JS/TS/CSS/Astro - Updated browserslist and build dependencies - Removed deprecated patterns and dead code ## Compatibility: - No breaking changes for end users - Full Bootstrap 5.3.7 compatibility maintained - All HTML templates remain compatible - Enhanced developer experience with modern tooling See CHANGELOG.md for complete details.
81 lines
2.2 KiB
JavaScript
81 lines
2.2 KiB
JavaScript
import globals from 'globals'
|
|
import pluginJs from '@eslint/js'
|
|
import tseslint from 'typescript-eslint'
|
|
import pluginUnicorn from 'eslint-plugin-unicorn'
|
|
import astroPlugin from 'eslint-plugin-astro'
|
|
|
|
export default [
|
|
{
|
|
ignores: [
|
|
"dist/",
|
|
"node_modules/",
|
|
".cache/",
|
|
".astro/",
|
|
"**/*.min.js",
|
|
"**/plugins/",
|
|
"/.temp/",
|
|
"src/html/docs/",
|
|
"docs_html/"
|
|
]
|
|
},
|
|
...tseslint.config(
|
|
pluginJs.configs.recommended,
|
|
...tseslint.configs.recommended
|
|
),
|
|
{
|
|
...pluginUnicorn.configs['flat/recommended']
|
|
},
|
|
...astroPlugin.configs['flat/recommended'],
|
|
{
|
|
files: ['**/*.{js,mjs,cjs,ts,mts,cts,astro}'],
|
|
languageOptions: {
|
|
globals: {
|
|
...globals.browser,
|
|
...globals.node
|
|
}
|
|
},
|
|
rules: {
|
|
'arrow-body-style': 'off',
|
|
'capitalized-comments': 'off',
|
|
'comma-dangle': ['error', 'never'],
|
|
'indent': ['error', 2, { 'MemberExpression': 'off', 'SwitchCase': 1 }],
|
|
'max-params': ['warn', 5],
|
|
'multiline-ternary': ['error', 'always-multiline'],
|
|
'new-cap': 'off',
|
|
'no-console': 'off',
|
|
'no-negated-condition': 'off',
|
|
'object-curly-spacing': ['error', 'always'],
|
|
'operator-linebreak': ['error', 'after'],
|
|
'no-unused-vars': 'warn',
|
|
'no-new': 'off',
|
|
'semi': 'off',
|
|
'unicorn/explicit-length-check': 'off',
|
|
'unicorn/no-array-callback-reference': 'off',
|
|
'unicorn/no-array-for-each': 'off',
|
|
'unicorn/no-array-method-this-argument': 'off',
|
|
'unicorn/no-null': 'off',
|
|
'unicorn/no-unused-properties': 'off',
|
|
'unicorn/prefer-array-flat': 'off',
|
|
'unicorn/prefer-dom-node-dataset': 'off',
|
|
'unicorn/prefer-export-from': 'off',
|
|
'unicorn/prefer-module': 'off',
|
|
'unicorn/prefer-query-selector': 'off',
|
|
'unicorn/prefer-spread': 'off',
|
|
'unicorn/prefer-string-replace-all': 'off',
|
|
'unicorn/prevent-abbreviations': 'off',
|
|
'astro/no-set-html-directive': 'off'
|
|
}
|
|
},
|
|
{
|
|
files: ['src/config/**'],
|
|
languageOptions: {
|
|
globals: {
|
|
...globals.node
|
|
}
|
|
},
|
|
rules: {
|
|
'no-console': 'off',
|
|
'unicorn/prefer-top-level-await': 'off'
|
|
}
|
|
}
|
|
]
|