Skip to content

v3.0.0

Compare
Choose a tag to compare
@github-actions github-actions released this 04 Oct 13:40
· 255 commits to master since this release
9bd9399

✨ Features

  • prefix/lint: ensure that import type is always used (1c2b76f)
  • preset-react: provide a preset for a react project (a9577e2)
  • preset-rollup: provide a preset for code bundling via rollup (b0704b0)
  • preset-strict: extends preset-essentials for a stricter rules (d7a73f8)
  • preset-web: provide a preset for a web project (4f6c033)
  • preset/build: add babel node to the build toolset (cc830bd)
  • preset/build: add babel-plugin-module-resolver custom paths (d9b5ff6)
  • preset/build: add cross-env into the build toolset (2f119c1)
  • preset/lint: add rules for import/export statements (17cbe1b)
  • preset/lint: require file header with a summary (ab793f4)
  • preset/lint: update eslint-plugin-sonarjs to v0.10 (b84f89d)
  • preset/lint: update prettier to v2.4 (70a3b61)
  • preset/lint: use husky and lint-staged for quick precommit QA (3c7e04f)
  • preset/test: update jest to v27 (85bde44)
  • preset: allow users to add additional scripts (8409840)
  • preset: allow users to ignore certain template configs (f0a7947)
  • preset: export types and utilities (0a2a7a3)
  • preset: modularise preset helpers (9b9bef6)
  • preset: provide a .gitignore template again (356fae1)
  • presetter/cli: support multiple presets initialisation (6e6fd71)
  • presetter/preset: show progress for presetter use (efe939b)
  • presetter: add .presetterrc a .json extension by default (61c0aad)
  • presetter: add a loader for potentially dynamic content (c17abc2)
  • presetter: allow preset to further extends other presets (6eacf2f)
  • presetter: allow preset to supply supplementary config (d4d85af)
  • presetter: export types for other presets (c6d326d)
  • presetter: make target information available to preset (090c341)
  • presetter: provider helpers for parsing directives in config (b3ee728)
  • presetter: support dynamic symlinks creation (158a8ad)
  • presetter: use arborist for installing peer dependences (50ec8ae)
  • preset: use target's package name as part of the output path (2eaea0a)
  • simplify preset with common features moved to presetter (044a132)

🐛 Bug Fixes

  • preset/build: exclude node_modules at all levels (af17788)
  • preset/build: explicitly declare loose mode to ignore warnings (b3fa0b4)
  • preset: allow file path(s) to be specified to the lint script (1dc69da)
  • preset: ensure that an object in a list is correctly merged (46555e4)
  • preset: remove .gitignore as symlink is removed since git 2.32 (3d4098b)
  • preset: replace target value as long as the value is defined (0fdb597)
  • presetter: allow config files to be placed other than the root (4153314)
  • presetter: detect preset name reliably (44d586b)
  • presetter: ensure all packages are there before bootstrapping (c6ad0f0)
  • presetter: ensure that a list is attached uniquely (7091053)
  • presetter: make runner resolution reliable (b7a529c)
  • presetter: merge any new presets to the existing .presetterrc (33b9d99)
  • presetter: narrow types in directive's argument (c6de804)
  • presetter: use the latest .presetterrc after setting it up (2820e21)
  • presetter: warn for any invalid shell scripts (6f083e7)

🛠 Builds

  • fully replace lerna with npm workspace (343ee59)
  • use presetter-preset-strict wherever possible (4ff72a1)

📦 Code Refactoring

  • preset/lint: reorder rules with plugin first (c4840b5)
  • preset: abstract away pupa from resolving the template (5b572e6)
  • preset: allow flexible template loading (356c857)
  • preset: relax rules to make it just an essential set (74b5bd8)
  • preset: take the default out from the main function (237a1e4)
  • presetter: pass an empty config by default (d6a5d71)
  • rename presetter-preset to presetter-preset-essentials (b799587)

📚 Documentation

  • describe how a preset can be made (4735d54)
  • enrich README (8509f41)
  • update status on eslint-plugin-sonarjs (0a43ed8)

🚨 Tests

  • preset: make sure all templates are used (50b6644)

⚙️ Continuous Integrations

  • reduce the complexity of style and coverage checks (2df3587)

♻️ Chores

  • clean up unused configurations (866c5ac)
  • presetter: adopt .json extension for presetterrc (b48edbd)

💎 Styles

  • clean up the code with better naming and order (bc17738)
  • preset: remove unused function documentation (87a54c4)
  • presetter/script: fix a typo in the test (ff3190d)
  • presetter: reformat the messages for consistency (7c0f876)

Breaking changes

  • Now, presets only need to report the absolute paths of their
    template files. All configuration generation is now performed by presetter. Due
    to this change, multiple presets is now supported in a mix and match fashion.
  • preset: Previously buildJSONConfig and buildListConfig assume that
    templates are bundled with presetter-preset if the base path is not specified.
    Now, the base path must be explicitly specified so that they can be more readily
    reused by other presets.
  • presetter: Now, presets will take the end project name and config as
    the agrument instead of just the config.