- Add full React + Vite UI (src/pages: Sources, Rules, Mappings, Records, Import) - Sidebar layout with source selector persisted to localStorage - Sources: unified field table with Dedup/In-view checkboxes, CSV suggest, generate dfv view - Rules: extract/replace function types, regex flags, input field picklist, test results - Mappings: unmapped values with sample records, inline key/value editor, edit existing mappings - Records: expanded row shows per-rule extraction and mapping output breakdown - Import: drag-drop CSV, transform/reprocess buttons, import history - Backend: add flags/function_type to rules, get_unmapped_values with samples, generate_source_view, fields endpoint, reprocess endpoint - database/functions.sql: apply_transformations supports replace mode and flags; generate_source_view builds typed dfv views - Server bound to 0.0.0.0, SPA fallback for client-side routing Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
30 lines
758 B
JavaScript
30 lines
758 B
JavaScript
import js from '@eslint/js'
|
|
import globals from 'globals'
|
|
import reactHooks from 'eslint-plugin-react-hooks'
|
|
import reactRefresh from 'eslint-plugin-react-refresh'
|
|
import { defineConfig, globalIgnores } from 'eslint/config'
|
|
|
|
export default defineConfig([
|
|
globalIgnores(['dist']),
|
|
{
|
|
files: ['**/*.{js,jsx}'],
|
|
extends: [
|
|
js.configs.recommended,
|
|
reactHooks.configs.flat.recommended,
|
|
reactRefresh.configs.vite,
|
|
],
|
|
languageOptions: {
|
|
ecmaVersion: 2020,
|
|
globals: globals.browser,
|
|
parserOptions: {
|
|
ecmaVersion: 'latest',
|
|
ecmaFeatures: { jsx: true },
|
|
sourceType: 'module',
|
|
},
|
|
},
|
|
rules: {
|
|
'no-unused-vars': ['error', { varsIgnorePattern: '^[A-Z_]' }],
|
|
},
|
|
},
|
|
])
|