diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..9511148 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,40 @@ +{ + "env": { + "browser": true, + "es6": true + }, + "extends": "eslint:recommended", + "parser": "vue-eslint-parser", + "parserOptions": { + "parser": "babel-eslint", + "sourceType": "module", + "allowImportExportEverywhere": false + }, + "rules": { + "func-names": 0, + "no-nested-ternary": 0, + "max-len": 0, + "arrow-parens": ["error", "always"], + "no-underscore-dangle": 0, + "comma-dangle": ["error", { + "arrays": "always-multiline", + "objects": "always-multiline", + "imports": "always-multiline", + "exports": "always-multiline", + "functions": "never" + }], + "no-use-before-define": ["error", "nofunc"], + "no-empty": ["error", { "allowEmptyCatch": true }], + "no-mixed-operators": ["error", { "allowSamePrecedence": true }], + "indent": ["error", 4, { "flatTernaryExpressions": true, "SwitchCase": 1 }] + }, + "overrides": [{ + "files": ["**/*.ts"], + "parser": "@typescript-eslint/parser", + "plugins": ["@typescript-eslint"], + "extends": ["plugin:@typescript-eslint/eslint-recommended", "plugin:@typescript-eslint/recommended"], + "rules": { + "@typescript-eslint/ban-ts-comment": "off" + } + }] +} \ No newline at end of file diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..4169a71 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,15 @@ +name: Lint +on: + push: + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v2 + with: + node-version: '20' + - run: npm install + - run: npm run build + - run: npm run lint diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..f583155 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,55 @@ +name: Release & Publish + +on: + push: + branches: + - master + +jobs: + release: + name: Release + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + - name: get-npm-version + id: package-version + uses: martinbeentjes/npm-get-version-action@main + - name: Generate changelog + id: changelog + uses: TriPSs/conventional-changelog-action@v3 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + git-push: false + output-file: false + skip-version-file: true + skip-commit: true + - name: Create Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: v${{ steps.package-version.outputs.current-version }} + release_name: v${{ steps.package-version.outputs.current-version }} + body: ${{ steps.changelog.outputs.clean_changelog }} + draft: false + prerelease: false + + publish: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Setup .npmrc file to publish to npm + uses: actions/setup-node@v1 + with: + node-version: '12.x' + registry-url: 'https://registry.npmjs.org' + - name: Install modules + run: npm install + - name: Build + run: npm run build + - name: Publish to npm + run: npm publish --access public + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9c43292 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +.idea +node_modules +dist +lib +package-lock.json +pnpm-lock.yaml +yarn.lock +test/temp.test.ts +test/rpcUrls.test.ts