GithubHelp home page GithubHelp logo

janejeon / dev Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 1.08 MB

All of my dev tooling, in one place!

License: GNU Lesser General Public License v2.1

Shell 15.32% JavaScript 4.96% TypeScript 79.72%
eslint lerna monorepo

dev's People

Contributors

dependabot-preview[bot] avatar dependabot[bot] avatar janejeon avatar renovate-bot avatar renovate[bot] avatar

Watchers

 avatar  avatar

dev's Issues

Split out "core" eslint-config

  • Make eslint, eslint-config-prettier, eslint-config-standard, eslint-plugin-import, eslint-plugin-n, and eslint-plugin-promise into peer dependencies
  • switch from node to n
  • Trim down the ESLint config down to just the above
  • eslint-plugin-import for regular javascript
  • extend plugin:promise/recommended
  • extend plugin:n/recommended
  • eslint-plugin-lodash plugin and extend recommended
  • eslint-plugin-markdown plugin and extend recommended
  • no-extend-native and no-use-extend-native
  • regexp
  • sonarjs
  • security
  • eslint-config-turbo for monorepo usage

Create dependency bundles

Probably split them out into "universal", "backend", and "frontend"

Some ideas for prod:

  • nopp: a small, universal package to prevent prototype pollution straight up?
  • trace and clarify: backend packages to be run on init to help with debugging - do we still need this w/ VS Code, given that we're never going to use this in production?

Dev dependencies:

  • husky v8
  • lint-staged
  • is-ci
  • skip-ci
  • eslint config
  • prettier config
  • commitlint config
  • commitlint-related tooling
  • jest-related tooling (jest, jest-junit, node-notifier)
  • typescript-related tooling (typescript, typescript-eslint, ts-jest)
  • cross-env
  • onchange
  • concurrently
  • npm-run-all
  • wait-on
  • rimraf
  • copyfiles

Create "frontend" eslint config

Have it as a separate package for peerDeps purposes

  • react
  • react-hooks
  • react-app
  • xss
  • rule for no class components?
  • eslint-plugin-import for react/jsx

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

git-submodules
.gitmodules
  • packages/skip-ci/repo master@4b01fbf57648adc7303d3762a934ead866470a58
github-actions
.github/workflows/ci.yml
  • actions/checkout v4
  • actions/setup-node v3
  • actions/checkout v4
  • actions/setup-node v3
  • actions/checkout v4
  • actions/setup-node v3
  • actions/checkout v4
  • actions/setup-node v3
.github/workflows/codeql-analysis.yml
  • actions/checkout v4
  • github/codeql-action v2
  • github/codeql-action v2
  • github/codeql-action v2
.github/workflows/ossar-analysis.yml
  • actions/checkout v4
  • github/ossar-action v1
  • github/codeql-action v2
npm
package.json
  • @vitest/coverage-istanbul ^0.34.2
  • @vitest/ui ^0.34.2
  • lerna ^8.0.2
  • lint-staged ^15.0.0
  • npm-run-all2 ^6.0.0
  • typescript ^5.1.6
  • vitest ^0.34.2
packages/commitlint-config/package.json
  • @commitlint/cli ^17
  • @commitlint/config-conventional ^17
  • @commitlint/config-lerna-scopes ^17
  • @commitlint/cz-commitlint ^17
packages/eslint-config-typescript/package.json
  • @typescript-eslint/eslint-plugin ^7.0.0
  • @typescript-eslint/parser ^7.0.0
packages/eslint-config/package.json
  • eslint ^8
  • eslint-config-prettier ^9.0.0
  • eslint-config-standard ^17
  • eslint-plugin-import ^2
  • eslint-plugin-n ^15
  • eslint-plugin-promise ^6
packages/got/package.json
  • @types/express ^4.17.17
  • express ^4.18.2
  • got ^13
  • got-scraping ^3
  • got-ssrf ^2
packages/prettier-config/package.json
  • prettier ^3
packages/renovate-config/package.json
packages/skip-ci/package.json
  • node >=14
packages/tsconfig/package.json
nvm
.nvmrc
  • node 20

  • Check this box to trigger a request for Renovate to run again on this repository

Setup renovate config for this repo

Basically, the idea is to have a renovate.json at the root repo, with something like

{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "extends": ["local>JaneJeon/renovate-config"]
}

pointing at the local JSON.

Revamp prettier-config

Split out prettier as peerDependencies, as they are now installed by default.

Make sure npm version is >=7 (which is when the "install peer deps by default" behaviour was added) via engines key.

Link all of the packages together

Instead of having different versions of packages cross-referencing each other installed in package.json, leverage lerna bootstrap to just "link" all of the packages together as a "*" dependency.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.