Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
yarn lint-staged
4 changes: 4 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
node_modules
package-lock.json
dist
lint-*
14 changes: 12 additions & 2 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -1,4 +1,14 @@
{
"printWidth": 180,
"singleQuote": true
"printWidth": 120,
"quoteProps": "consistent",
"singleQuote": true,
"trailingComma": "es5",
"useTabs": true,
"endOfLine": "auto",
"tabWidth": 2,
"semi": true,
"bracketSameLine": false,
"bracketSpacing": true,
"jsxSingleQuote": false,
"arrowParens": "always"
}
72 changes: 40 additions & 32 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -9,44 +9,52 @@ import { FlatCompat } from "@eslint/eslintrc";
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const compat = new FlatCompat({
baseDirectory: __dirname,
recommendedConfig: js.configs.recommended,
allConfig: js.configs.all
baseDirectory: __dirname,
recommendedConfig: js.configs.recommended,
allConfig: js.configs.all,
});

export default [...fixupConfigRules(
compat.extends("react-app", "airbnb", "plugin:jsx-a11y/recommended", "prettier"),
), {
export default [
...fixupConfigRules(compat.extends("react-app", "airbnb", "plugin:jsx-a11y/recommended", "prettier")),
{
// root: true,
plugins: {
"jsx-a11y": fixupPluginRules(jsxA11Y),
prettier
"jsx-a11y": fixupPluginRules(jsxA11Y),
prettier,
},

rules: {
camelcase: 0,
"no-nested-ternary": 0,
"no-param-reassign": 0,
"no-return-assign": 0,
"no-restricted-syntax": 0,
"react/jsx-filename-extension": 0,
"react/jsx-props-no-spreading": 0,
"react/destructuring-assignment": 0,
"react/prop-types": 0,
"react/no-danger": 0,
"no-unused-vars": 1,
"react/button-has-type": 1,
"import/no-named-as-default": 0,
"import/no-named-as-default-member": 0,
"no-underscore-dangle": ["warn", {
allow: ["_kmq", "_kmk"],
}],
"no-unsafe-optional-chaining": 0,
"jsx-a11y/label-has-associated-control": 0,
"react/jsx-no-bind": 0,
camelcase: 0,
"import/no-extraneous-dependencies": ["error", { devDependencies: true }],
"no-nested-ternary": 0,
"no-param-reassign": 0,
"no-return-assign": 0,
"no-restricted-syntax": 0,
"react/jsx-filename-extension": 0,
"react/jsx-props-no-spreading": 0,
"react/destructuring-assignment": 0,
"react/prop-types": 0,
"react/no-danger": 0,
"no-unused-vars": 1,
"react/button-has-type": 1,
"import/no-named-as-default": 0,
"import/no-named-as-default-member": 0,
"no-underscore-dangle": [
"warn",
{
allow: ["_kmq", "_kmk"],
},
],
"no-unsafe-optional-chaining": 0,
"jsx-a11y/label-has-associated-control": 0,
"react/jsx-no-bind": 0,

"react/no-unstable-nested-components": ["warn", {
allowAsProps: true,
}],
"react/no-unstable-nested-components": [
"warn",
{
allowAsProps: true,
},
],
},
}];
},
];
186 changes: 98 additions & 88 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,90 +1,100 @@
{
"name": "harperdb-studio",
"version": "4.8.9",
"description": "A UI for HarperDB",
"deploymentUrl": "studio.harperdb.io",
"private": true,
"author": "harperdb",
"license": "UNLICENSED",
"scripts": {
"start": "HTTPS=true SSL_CRT_FILE=./.cert/cert.pem SSL_KEY_FILE=./.cert/key.pem react-scripts start",
"start:local": "REACT_APP_LOCALSTUDIO=true HTTPS=true SSL_CRT_FILE=./.cert/cert.pem SSL_KEY_FILE=./.cert/key.pem react-scripts start",
"docker": "HTTPS=false react-scripts start",
"build:stage": "DISABLE_ESLINT_PLUGIN=true GENERATE_SOURCEMAP=false PUBLIC_URL=https://dbjxbnqel2bw9.cloudfront.net react-scripts build",
"build:prod": "DISABLE_ESLINT_PLUGIN=true GENERATE_SOURCEMAP=false PUBLIC_URL=https://ds5zz9rfvzuta.cloudfront.net react-scripts build",
"build:local": "DISABLE_ESLINT_PLUGIN=true BUILD_PATH=./build-local GENERATE_SOURCEMAP=false REACT_APP_LOCALSTUDIO=true react-scripts build",
"lint-dev": "eslint --fix src && npx stylelint --fix \"src/**/*.scss\"",
"lint-prod": "eslint --fix src"
},
"dependencies": {
"@monaco-editor/react": "^4.2.0",
"@stripe/react-stripe-js": "^2.1.0",
"@stripe/stripe-js": "^3.0.5",
"apexcharts": "^3.27.1",
"bootstrap-scss": "^5.0.1",
"classnames": "^2.3.2",
"deepmerge": "^4.2.2",
"pullstate": "^1.22.1",
"query-string": "^9.0.0",
"react": "18.3.1",
"react-alert": "^7.0.3",
"react-apexcharts": "^1.3.9",
"react-country-region-selector": "^3.4.0",
"react-dom": "18.3.1",
"react-dropzone": "^14.2.2",
"react-error-boundary": "^4.0.9",
"react-ga4": "^2.1.0",
"react-json-editor-ajrm": "^2.5.11",
"react-router": "^6.13.0",
"react-router-dom": "^6.13.0",
"react-scripts": "^5.0.0",
"react-select": "^5.0.0",
"react-table": "^7.7.0",
"react-toggle": "^4.1.2",
"reactstrap": "^9.0.0",
"reodotdev": "^1.0.0",
"use-async-effect": "^2.2.3",
"use-debounce": "^10.0.0",
"use-interval": "^1.3.0",
"use-persisted-state": "^0.3.3",
"whatwg-fetch": "^3.6.2"
},
"engines": {
"node": ">=14.0.0"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"devDependencies": {
"@babel/plugin-proposal-private-property-in-object": "^7.21.11",
"@eslint/compat": "^1.1.1",
"@eslint/eslintrc": "^3.1.0",
"@eslint/js": "^9.10.0",
"eslint": "^9.10.0",
"eslint-config-airbnb": "^19.0.4",
"eslint-config-prettier": "^9.0.0",
"eslint-config-react-app": "^7.0.1",
"eslint-plugin-jsx-a11y": "^6.4.1",
"eslint-plugin-prettier": "^5.0.1",
"eslint-plugin-react-hooks": "^4.6.2",
"postcss-custom-properties": "^14.0.1",
"prettier": "^3.1.0",
"sass": "^1.46.0",
"stylelint": "^16.0.2",
"stylelint-config-sass-guidelines": "^12.0.0",
"stylelint-config-standard-scss": "^13.1.0",
"stylelint-order": "^6.0.1",
"stylelint-scss": "^6.0.0",
"typescript": "^5.6.2"
},
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
"name": "harperdb-studio",
"version": "4.8.10",
"description": "A UI for HarperDB",
"deploymentUrl": "studio.harperdb.io",
"private": true,
"author": "harperdb",
"license": "UNLICENSED",
"scripts": {
"start": "HTTPS=true SSL_CRT_FILE=./.cert/cert.pem SSL_KEY_FILE=./.cert/key.pem react-scripts start",
"start:local": "REACT_APP_LOCALSTUDIO=true HTTPS=true SSL_CRT_FILE=./.cert/cert.pem SSL_KEY_FILE=./.cert/key.pem react-scripts start",
"docker": "HTTPS=false react-scripts start",
"build:stage": "DISABLE_ESLINT_PLUGIN=true GENERATE_SOURCEMAP=false PUBLIC_URL=https://dbjxbnqel2bw9.cloudfront.net react-scripts build",
"build:prod": "DISABLE_ESLINT_PLUGIN=true GENERATE_SOURCEMAP=false PUBLIC_URL=https://ds5zz9rfvzuta.cloudfront.net react-scripts build",
"build:local": "DISABLE_ESLINT_PLUGIN=true BUILD_PATH=./build-local GENERATE_SOURCEMAP=false REACT_APP_LOCALSTUDIO=true react-scripts build",
"lint-dev": "eslint --fix src && npx stylelint --fix \"src/**/*.scss\"",
"lint-prod": "eslint --fix src",
"prepare": "husky"
},
"dependencies": {
"@monaco-editor/react": "^4.2.0",
"@stripe/react-stripe-js": "^2.1.0",
"@stripe/stripe-js": "^3.0.5",
"apexcharts": "^3.27.1",
"bootstrap-scss": "^5.0.1",
"classnames": "^2.3.2",
"deepmerge": "^4.2.2",
"pullstate": "^1.22.1",
"query-string": "^9.0.0",
"react": "18.3.1",
"react-alert": "^7.0.3",
"react-apexcharts": "^1.3.9",
"react-country-region-selector": "^3.4.0",
"react-dom": "18.3.1",
"react-dropzone": "^14.2.2",
"react-error-boundary": "^4.0.9",
"react-ga4": "^2.1.0",
"react-json-editor-ajrm": "^2.5.11",
"react-router": "^6.13.0",
"react-router-dom": "^6.13.0",
"react-scripts": "^5.0.0",
"react-select": "^5.0.0",
"react-table": "^7.7.0",
"react-toggle": "^4.1.2",
"reactstrap": "^9.0.0",
"reodotdev": "^1.0.0",
"use-async-effect": "^2.2.3",
"use-debounce": "^10.0.0",
"use-interval": "^1.3.0",
"use-persisted-state": "^0.3.3",
"whatwg-fetch": "^3.6.2"
},
"engines": {
"node": ">=20.9.0"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"lint-staged": {
"**/*": [
"prettier --write --ignore-unknown",
"eslint --fix"
]
},
"devDependencies": {
"@babel/plugin-proposal-private-property-in-object": "^7.21.11",
"@eslint/compat": "^1.1.1",
"@eslint/eslintrc": "^3.1.0",
"@eslint/js": "^9.10.0",
"eslint": "^9.10.0",
"eslint-config-airbnb": "^19.0.4",
"eslint-config-prettier": "^9.0.0",
"eslint-config-react-app": "^7.0.1",
"eslint-plugin-jsx-a11y": "^6.4.1",
"eslint-plugin-prettier": "^5.0.1",
"eslint-plugin-react-hooks": "^4.6.2",
"husky": "^9.1.7",
"lint-staged": "^15.2.10",
"pinst": "^3.0.0",
"postcss-custom-properties": "^14.0.1",
"prettier": "^3.1.0",
"sass": "^1.46.0",
"stylelint": "^16.0.2",
"stylelint-config-sass-guidelines": "^12.0.0",
"stylelint-config-standard-scss": "^13.1.0",
"stylelint-order": "^6.0.1",
"stylelint-scss": "^6.0.0",
"typescript": "^5.6.2"
},
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
}
Loading