From 359227d0e31dfd62a22d38f6d9bc2863f60eacab Mon Sep 17 00:00:00 2001 From: Cayman Date: Thu, 2 Sep 2021 18:40:44 -0500 Subject: [PATCH 01/43] Move simpleserialize.com to packages/ --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index 96bc357..f2b5f90 100644 --- a/README.md +++ b/README.md @@ -1,4 +1 @@ -This package is now maintained at https://github.com/ChainSafe/ssz/tree/master/packages/simpleserialize.com ---- - ![ETH2_Spec_Version v1.1.0-alpha.7](https://img.shields.io/badge/ETH2_Spec_Version-v1.1.0.alpha.7-2e86c1.svg) From a3d44bcee2ebd610891916914b8ec4b07c46bcc1 Mon Sep 17 00:00:00 2001 From: Cayman Date: Fri, 3 Sep 2021 18:12:51 -0500 Subject: [PATCH 02/43] Basic monorepo setup --- package.json | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/package.json b/package.json index 64e0b07..61cd08e 100644 --- a/package.json +++ b/package.json @@ -33,27 +33,16 @@ "threads": "^1.6.5" }, "devDependencies": { - "@babel/core": "^7.14.6", - "@babel/preset-env": "^7.14.7", - "@babel/preset-react": "^7.14.5", - "@babel/preset-typescript": "^7.14.5", "@types/bn.js": "^5.1.0", "@types/deep-equal": "^1.0.1", "@types/file-saver": "^2.0.2", - "@types/node": "^16.0.0", "@types/react": "^17.0.13", "@types/react-alert": "^5.2.1", "@types/react-dom": "^17.0.8", "@types/react-loading-overlay": "^1.0.0", - "@typescript-eslint/eslint-plugin": "^4.28.2", - "@typescript-eslint/parser": "^4.28.2", - "babel-loader": "^8.2.2", - "babel-preset-env": "^1.7.0", "buffer": "^6.0.3", "cross-env": "^7.0.3", "css-loader": "^5.2.6", - "eslint": "^7.30.0", - "eslint-plugin-import": "^2.23.4", "eslint-plugin-react": "^7.20.0", "html-webpack-plugin": "^5.3.2", "mini-css-extract-plugin": "^2.1.0", @@ -63,10 +52,6 @@ "serve": "^12.0.0", "style-loader": "^3.0.0", "threads-webpack-plugin": "^1.0.8", - "typescript": "^4.3.5", - "webpack": "^5.43.0", - "webpack-cli": "^4.7.2", - "webpack-dev-server": "^3.11.2", "workerize-loader": "^1.3.0" } } From 161405260b5b402fb53c214da855c3b7208fb938 Mon Sep 17 00:00:00 2001 From: Cayman Date: Tue, 7 Sep 2021 10:44:45 -0500 Subject: [PATCH 03/43] Fix type errors --- src/components/Input.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/Input.tsx b/src/components/Input.tsx index 8e90b3b..adaaf8a 100644 --- a/src/components/Input.tsx +++ b/src/components/Input.tsx @@ -202,7 +202,7 @@ class Input extends React.Component { this.getInputType(), ); } catch(e) { - this.handleError(e); + this.handleError(e as Error); } } @@ -214,7 +214,7 @@ class Input extends React.Component { this.setInput(contents as string); } } catch(error) { - this.handleError(error); + this.handleError(error as Error); } } From 90de9fb8533aef435c32f1df0f8f827742a0c89b Mon Sep 17 00:00:00 2001 From: Cayman Date: Tue, 7 Sep 2021 12:51:02 -0500 Subject: [PATCH 04/43] Fix linter errors --- .eslintrc.js | 82 ---------------- .prettierrc.js | 11 +++ src/components/Footer.tsx | 29 +++--- src/components/ForkMe.tsx | 10 +- src/components/Header.tsx | 23 +++-- src/components/Input.tsx | 131 +++++++++++-------------- src/components/Output.tsx | 79 +++++++-------- src/components/Serialize.tsx | 34 ++++--- src/components/Tabs.tsx | 18 ++-- src/components/display/ErrorBox.tsx | 5 +- src/components/display/NamedOutput.tsx | 29 ++---- src/index.tsx | 6 +- 12 files changed, 184 insertions(+), 273 deletions(-) delete mode 100644 .eslintrc.js create mode 100644 .prettierrc.js diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index ff1d4c5..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1,82 +0,0 @@ -const path = require('path'); - -module.exports = { - root: true, - env: { - browser: true, - es6: true, - node: true, - mocha: true - }, - globals: { - BigInt: true - }, - parser: "@typescript-eslint/parser", - parserOptions: { - ecmaVersion: 10, - project: "./tsconfig.json" - }, - plugins: [ - "@typescript-eslint", - "eslint-plugin-import", - "react" - ], - extends: [ - "eslint:recommended", - "plugin:react/recommended", - "plugin:import/errors", - "plugin:import/warnings", - 'plugin:react/recommended', - "plugin:import/typescript", - "plugin:@typescript-eslint/recommended" - ], - rules: { - //doesnt work, it reports false errors - "constructor-super": "off", - "@typescript-eslint/explicit-function-return-type": ["error", { - "allowExpressions": true - }], - "@typescript-eslint/func-call-spacing": "error", - "@typescript-eslint/indent": ["error", 2], - "@typescript-eslint/member-ordering": "error", - "@typescript-eslint/no-explicit-any": "error", - "@typescript-eslint/no-require-imports": "error", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/semi": "error", - "@typescript-eslint/type-annotation-spacing": "error", - "import/no-extraneous-dependencies": ["error", { - "devDependencies": false, - "optionalDependencies": false, - "peerDependencies": false - }], - "camelcase": "error", - "func-call-spacing": "off", - "max-len": ["error", { - "code": 120 - }], - "new-parens": "error", - "no-caller": "error", - "no-bitwise": "off", - "no-console": "warn", - "no-var": "error", - "object-curly-spacing": ["error", "never"], - "prefer-const": "error", - "quotes": ["error", "double"], - "semi": "off" - }, - "overrides": [ - { - "files": ["**/test/**/*.ts"], - "rules": { - "import/no-extraneous-dependencies": "off", - "@typescript-eslint/no-explicit-any": "off" - } - }, - { - "files": ["*.tsx"], - "rules": { - "no-undef": "off" - } - }, - ] -}; diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 0000000..20baea5 --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,11 @@ +module.exports = { + printWidth: 120, + tabWidth: 2, + useTabs: false, + semi: true, + singleQuote: false, + quoteProps: "as-needed", + trailingComma: "es5", + bracketSpacing: false, + arrowParens: "always", +}; \ No newline at end of file diff --git a/src/components/Footer.tsx b/src/components/Footer.tsx index a19ac4d..3273be1 100644 --- a/src/components/Footer.tsx +++ b/src/components/Footer.tsx @@ -4,30 +4,29 @@ import pkg from "../../package.json"; export default function Footer(): JSX.Element { return ( -