Skip to content

Latest commit

 

History

History
962 lines (490 loc) · 52 KB

CHANGELOG.md

File metadata and controls

962 lines (490 loc) · 52 KB

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

4.7.2 (2024-03-07)

🐛 Bug Fixes

  • preset-react: correct typo in jest config (f5fd5aa)

4.7.1 (2024-03-06)

🐛 Bug Fixes

  • preset-react: ensure tsx files are transformed before testing (105f56d)

⚙️ Continuous Integrations

  • update github actions specification (e1ff3d8)

4.7.0 (2024-02-27)

✨ Features

  • preset-esm: enable typescript incremental build (7e1d9af)

🐛 Bug Fixes

  • preset-esm: explicit reference the base tsconfig file (5a72ff8)
  • preset-esm: replace fixed source path in tsconfig.build.json (36cc3e7)
  • preset-esm: separate relative and internal import paths (35331e3)
  • preset-rollup: update rollup to v4 (cb01f6b)
  • preset-strict: remove header rule (4a56d6c)

4.6.0 (2024-01-22)

✨ Features

  • preset-esm: update gitignore for better coverage (cd691a6)
  • presetter: use hardlink if possible (2189d72)

🐛 Bug Fixes

  • preset-esm: include generated source and bin (67ac8bc)
  • preset-esm: leave comments on the compiled file for clarity (756dd2c)
  • presetter: ignore .presetter folder (bca2083)

4.5.0 (2024-01-04)

✨ Features

  • preset-esm: add build steps for artifact creation (ba270fe)
  • preset-esm: add source map to .d.ts files (ba20774)
  • preset-esm: add support to typescript's project reference (7610425)

🐛 Bug Fixes

  • preser-esm: ignore error from husky (feff15f)
  • preset-esm: add generated source to jest's resolve map (4c0fb93)
  • preset-esm: allow short circuit and ternary operations (463ae6f)
  • preset-esm: group types from node: (cdb4806)
  • preset-esm: update tsx to v4 (f11cb3d)
  • presetter: move generated config to .presetter (063e53a)

4.4.2 (2023-10-27)

🐛 Bug Fixes

  • preset-esm: map # to source root (f452aa8)
  • preset-esm: prepend any NODE_OPTIONS to jest (695e624)
  • presetter: ignore any {unknown} variable in template script (3a6f54a)

⚙️ Continuous Integrations

  • release with provenance statements (f85e58a)

4.4.1 (2023-10-06)

🐛 Bug Fixes

  • preset-esm: resolve paths from anywhere (5cad767)

4.4.0 (2023-10-03)

✨ Features

  • preset-esm: add a shortcut path for generated content (43cab95)
  • preset-esm: gitignore any dynamically generated content (b2bc235)

🐛 Bug Fixes

  • preset-esm: resolve path under root directoy (7648af5)

4.3.1 (2023-10-03)

🐛 Bug Fixes

4.3.0 (2023-09-20)

✨ Features

🐛 Bug Fixes

  • preset-esm: correct type imports order (6f8fa98)
  • preset-strict: remove redundant thresholds (45b0521)

💎 Styles

4.2.0 (2023-09-13)

✨ Features

  • preset-esm: support official decorators (1980d8d)

📦 Code Refactoring

  • preset-esm: enable multiple husky setups (99b4807)

4.1.2 (2023-07-26)

🐛 Bug Fixes

  • presetter: ignore empty command (77344b3)

4.1.1 (2023-07-14)

🐛 Bug Fixes

  • presetter: capture all extra arguments after -- (fe96954)

4.1.0 (2023-07-13)

✨ Features

  • preset-esm: make bootstrap part of the setup procedure (313c0d1)

🐛 Bug Fixes

  • preset-react: remove monorepo incompatible jest configuration (c554eb2)

4.0.1 (2023-06-21)

🐛 Bug Fixes

  • preset-esm: make staging file path after -- (62ae558)

4.0.0 (2023-06-18)

✨ Features

  • convert the whole project into ESM (381c84f)
  • drop support for node 12, 14 (ee5c261)
  • preset-essentials: make build-in modules imported first (aa2aedd)
  • preset-essentials: update jest and ts-jest to v29 (b0f215b)
  • presetter: add a force flag to the CLI (b065fa6)
  • presetter: load presetterrc.json recursively (c6b3eb2)
  • presetter: load presetterrc.json recursively (4725620)
  • presetter: run tasks without a temporary package.json (6c404b3)
  • types: separate types from presetter (4ff3626)

🐛 Bug Fixes

  • preset-esm: remove unnecessary jest configs (c1b2ee5)
  • preset-esm: run parent tasks only when they are available (1f0b1db)
  • preset-essentials: ensure the exact path is also searched (ca08946)
  • preset-react: remove react exclusion from rollup (8f1d565)
  • preset-rollup: inject NODE_ENV for build and develop stages (b09ade5)
  • preset-rollup: make the rollup preset compatible with ESM (86154b8)
  • presetter: add primitive types that allow undefined values (915cf07)
  • presetter: avoid infinite script running loop (99d5a58)
  • presetter: correct the wording for use (ee32c69)
  • presetter: import preset's entry file instead of directory (de6b818)
  • presetter: remove all insecure lodash usages (92b6f5b)
  • presetter: stop any generated text templates being merged (449a41d)
  • presetter: update @npm packages (2110af0)
  • presetter: update existing symlinks upon bootstraping (03b928f)
  • presetter: update existing symlinks upon bootstraping (ace88a8)
  • update outdated packages (bbaf33f)

🛠 Builds

  • presetter: fix the coverage command to accept extra agruments (5be8431)
  • release with provenance statements (f1a58fc)

📦 Code Refactoring

  • preset-rollup: normalize config in functional way (f6b3815)

♻️ Chores

  • allow tests can be done individually (b86f6ee)
  • make essential presets available before presetter (9feb4ac)
  • setup jest for this monorepo (26dbe54)
  • use pnpm for workspace management (358d0d7)

💎 Styles

  • make any node build-in modules explicitly imported first (90730f2)

Breaking changes

    • by default, client project emit ESM and for clarity preset-essentials has been renamed to preset-esm
  • ts-node is removed in favor of a more powerful and less buggy tsx
  • Node 12 and 14 are no longer supported as they have approached EOF

3.5.5 (2023-03-31)

🐛 Bug Fixes

  • preset-esm: correct the configuration format for jest (14abda7)

3.5.4 (2023-03-30)

🐛 Bug Fixes

  • preset-esm: make jest work under pure esm environment (c443952)
  • preset-essentials: check type in test files (3bc1982)

3.5.3 (2023-03-26)

🐛 Bug Fixes

  • presetter: make it compatible with other package managers (4bc27a9)

🛠 Builds

  • preset-strict: remove source files from the final build (8e99425)

3.5.2 (2023-03-26)

🐛 Bug Fixes

  • presetter: restore package.json upon SIGTERM (33b8c51)

3.5.1 (2023-03-18)

🐛 Bug Fixes

  • preset-essentials: remove deprecated typescript configs (0dc6cf7)

3.5.0 (2022-09-23)

✨ Features

  • presetter: take .presetterrc from any of the parent node (723c139)

🐛 Bug Fixes

  • preset-react: increase the line limit of a react comonpent (1ea89a2)

🛠 Builds

  • move .presetterrc to the root (0eb17a0)

📦 Code Refactoring

  • presetter: remove dependency on fs-extra (8810c56)
  • rollup: remove unnecessary async waits (9d9c4c3)

⚙️ Continuous Integrations

  • update github actions files (555c854)

3.4.1 (2022-08-10)

🐛 Bug Fixes

  • preset-esm: correct filenames in source maps (7867971)
  • preset-essentials: correct test files' path pattern (1746203)
  • preset-react: correct test files' path pattern (a1c37ea)
  • preset-web: remove graphql to avoid conflict between packages (d12a3f8)
  • presetter: make new keys merged in the end of an object (9832af0)
  • presetter: merge arrays only if the values are all primitive (961f30c)
  • update packages (ec8307d)

📦 Code Refactoring

  • presetter: move mergeTemplate to template.ts (9e46132)

3.4.0 (2022-08-02)

✨ Features

  • presetter: add a template merge mode options (df847a8)

🐛 Bug Fixes

  • presetter: resolve presets as a tree not a list (0db5ff3)
  • presetter: skip installation within presetter package (2a973af)

3.3.0 (2022-07-12)

✨ Features

  • presetter: support scripts to be applied at the end (d3ec950)
  • support dual commonjs/esm exports (a8c3ca1)

📚 Documentation

  • update dependencies badges (94c084d)

3.2.0 (2022-05-18)

✨ Features

  • preset-essentials: remove babel in favorite of tsc (dd62e01)

🐛 Bug Fixes

  • preset-essentials: add husky to the build toolset (2a24fa9)
  • preset-essentials: allow type indexes (c735879)
  • preset-essentials: mark # as an internal path prefix (e0feb56)
  • preset-react: allow react components to be bulkier (091b305)
  • preset-react: mark testing-library rules as provided (3446e25)

📦 Code Refactoring

♻️ Chores

  • update package dependencies (4e50e0d)

3.1.1 (2021-12-29)

🐛 Bug Fixes

  • preset-web: update eslint-plugin-tailwindcss to v3 (e9adbc0)

3.1.0 (2021-12-28)

✨ Features

  • preset-essentials: add dotenv to the build toolset (2e5ceb3)
  • preset-react: add testing library to the build toolset (c7a9b78)
  • preset-react: use react-jsx transform for React v17+ (4d2b688)
  • preset-web: add testing library to the build toolset (1dae1c2)
  • presetter/package: support private registry (c4eed24)
  • presetter/preset: support supplementary ignores from presets (58cbd64)

🐛 Bug Fixes

  • preset-react: add back the missing DOM.Iterable to tsconfig.json (533d24d)
  • preset-web: update tailwindcss to v3 (ce9f102)
  • preset/lint: update eslint to v8 (f8cfa4d)
  • preset: lint code before committing (e7219b2)

💎 Styles

  • preset-react: remove the unnecessary quotation mark (40caccf)
  • presetter: reorder types definitions for clarity (d7b54eb)

3.0.3 (2021-11-03)

🐛 Bug Fixes

  • presetter: disable workspace for npm<7 environment (fbdaabf)

3.0.2 (2021-11-03)

🐛 Bug Fixes

  • presetter: declare the usage of read-pkg for npm<7 environment (fcd8022)

3.0.1 (2021-10-14)

🐛 Bug Fixes

  • preset-essentials/lint: run prettier at the end (b8faeb5)
  • preset-essentials: warn for unused variables instead (3b9dca5)
  • preset-strict: correct the template paths for bootstrapping (f71bf8f)
  • preset-web: correct the eslint supplementary config template (1e11abf)
  • preset: add back the missing gitignore entries (70ac386)
  • presetter/preset: don't read .presetterrc under presetter use (8b49b8b), closes #8
  • presetter/preset: ensure outputs are stored under the target (c638944)

📚 Documentation

  • use full package name to improve clarity (d9414bd), closes #8

3.0.0 (2021-10-04)

✨ 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.

2.1.0 (2021-07-04)

✨ Features

  • preset/script: add a script for continuous build (986556b)
  • preset: always use the latest version of @types/node (eb3bd19)
  • preset: update linting related packages (14f5c38)
  • preset: update ts-node to v10 (3d67fac)

🐛 Bug Fixes

  • preset/build: explicitly declare loose mode to ignore warnings (e56308f)
  • presetter: update fs-extra to v10 (b5cacf4)
  • preset: update fs-extra to v10 (33ab272)
  • preset: update js-yaml to v4 (3ea456a)
  • upgrade tsc-alias and others to fix the corrupted build (ace317c)

🛠 Builds

  • restrict update to package-lock on the root only (c425f96)

📚 Documentation

  • add back the missing commit types (fa6643d)
  • give a facelift to the packages' READMEs (4d4de5f)
  • remove $ from the install examples for easier copy (884a084)
  • remove duplicated log entries (b137e22)
  • update the development environment requirement (a2b8c38)

♻️ Chores

  • update dependencies' version specifiers (8c018f1)
  • update the minimum node requirement (fe7ac60)

2.0.0 (2021-06-23)

🐛 Bug Fixes

  • make git ignore artifacts again for git>=2.32 (9f14500)

📦 Code Refactoring

  • presetter: update yargs to v17 (5e65a8c)

⚙️ Continuous Integrations

  • extends tests to node 15 & 16 (0942ae7)
  • rename workflows for better clarity (9f66fed)

♻️ Chores

  • use npm workspace for development (c5e2547)

💎 Styles

  • presetter: reformat the code by prettier (3ae4e23)

Breaking changes

  • presetter: drop support on node 10 due to yargs 17

1.3.0 (2021-05-20)

✨ Features

  • preset: always use the latest version of typescript (96d9bc2)
  • preset: upgrade ts-node-dev to v1 (66eb2a0)

🐛 Bug Fixes

  • release via a NPM automation token (55f8887)

1.2.0 (2021-05-11)

✨ Features

  • preset/lint: re-enable sonar with npm v7 support (5e8a448)
  • preset/release: update standard-version to v9 (093bade)
  • preset/ts: upgrade typescript to 4.x (b7a5fac)

⚙️ Continuous Integrations

  • correct the job name for code test (8ea5115)

♻️ Chores

  • update dependencies (2c08593)
  • update lerna to v4 (fdbc03a)
  • preset: update dependencies (b05c3ee)
  • preset: update package-lock.json to v2 (777a83a)
  • presetter: update dependencies (04c115a)

1.1.0 (2020-12-31)

✨ Features

  • preset/script: update changelog preset from angular to metahub (08aa456)
  • preset/test: make jest to display heap usage after each test (b884914)
  • preset/test: update ts-jest to v27 (66954a9)
  • preset/ts: update ts-node to v9.x (b449432)
  • preset/ts: update typescript to v4.1 (ad2ae23)
  • presetter: remove node engine restriction to support node 15+ (02042fd)
  • presetter: support npm v7 (3ff5d08)
  • presetter/preset: set the default preset to presetter-preset (13380ad)
  • presetter/preset: support json configuration file extension (f93f593)

🐛 Bug Fixes

  • preset: disable sonar temporarily for npm v7 support (933102b)
  • preset/script: make sure prettier only takes those supported (c516a29)
  • presetter: convert potential numeric input into string (5ec80ec)
  • presetter/preset: correct test description (aae6c5d)
  • presetter/preset: replaced the depreciated prepublish script (dd5ac38)

🛠 Builds

  • preset: skip test on install (1f2b12b)

📦 Code Refactoring

  • preset: reduce the complexity of the preset configurator (1b19fa4)
  • preset: simplify default options (5500585)
  • presetter: apply a stricter type check (6f581a0)
  • presetter: simplify default options (f8fad12)
  • presetter/task: combine several typeguard helpers into one (b83d7bf)

📚 Documentation

  • preset: update the file structure (5b6a7d8)
  • presetter: update the example for life cycle scripts (ef8439a)

🚨 Tests

  • presetter: change example paths for testing under windows (4c68423)

⚙️ Continuous Integrations

  • split test and code style check (46b6c6b)
  • update setup-node to v2 (834ab51)

♻️ Chores

  • preset: add keywords to package.json (408a9bc)
  • presetter: add keywords to package.json (12b07f2)
  • presetter: update dependency (8dd8813)
  • clear up package dependency declaration (df01ab5)
  • make sure the root version get updated with lerna version (b5695b0)
  • replace the changelog preset to metahub (8da3c08)

💎 Styles

  • preset/script: remove unused scripts (71c533d)
  • presetter: cleanup the code (ec581b4)
  • presetter: enhance the readability of test description (9457c93)

1.0.5 (2020-10-22)

🐛 Bug Fixes

  • preset/script: allow prettier to pass when there is no match (efa76a6)
  • preset/script: make release and publish using the right scripts (93d7995)

📦 Code Refactoring

  • preset/script: remove an extra space (025835a)

✨ Features

  • preset/lint: drop the doc requirement on the obvious (df74c0f)

1.0.4 (2020-10-04)

✨ Features

  • preset/babel: enable babel to emit decorator metadata like tsc (8f8f3e5)

1.0.3 (2020-09-30)

✨ Features

  • preset: update development tools (7426120)
  • preset/script: skip coverage and lint upon npm install (02c809d)

1.0.2 (2020-08-14)

🐛 Bug Fixes

  • presetter: preserve client's package.json order upon initialisation (7ca037b)
  • suggest to use prepublish instead of postinstall (80740d5)

📦 Code Refactoring

  • presetter: remove an unused field (002c070)
  • presetter: remove unused imports (303842c)

1.0.1 (2020-07-16)

🐛 Bug Fixes

  • presetter/cli: make the CLI compatible on Linux (3b2c4c0)

1.0.0 (2020-07-16)

💻 Continuous Integration

  • add automated tests via github actions (eff8d1f)
  • release automatically via github actions (2e7b47d)

👷 Build

  • adopt angular-emoji as the changelog template (91a9bd3)
  • preset: add build pipeline to the project (cfa9d3a)
  • preset: add prettier to the project (ee8b850)
  • preset: add typescript to the project (7c24a75)
  • preset: use npm for bootstrapping (ecae2f3)
  • presetter/cli: add npm scripts for running project tasks (0890c29)

📦 Code Refactoring

  • add a json extension to all rc files (18d7195)

✨ Features

  • cli: link presetter CLI on the root (7bad25f)
  • preset: export contained configurations (27a8c9f)
  • preset: provide customisation on directories (cbb7a34)
  • preset/build: add babel for script building (b3546ea)
  • preset/build: add some build utilities (867847c)
  • preset/build: add tscpaths for translating relative path (2dc3771)
  • preset/build: adopt angular-emoji as the changelog preset (67699ab)
  • preset/fmt: add prettier for code formatting (8fa3c2e)
  • preset/git: add a .gitignore template that ignores build artifacts (4f5b9d8)
  • preset/lint: add eslint for code linting (e82fb42)
  • preset/lint: add leasot for identifying TODO items (1c4571b)
  • preset/npm: add a .npmignore template that only include lib (fa671a4)
  • preset/release: add standard-version for release management (24e6cbb)
  • preset/script: add a standard template for npm scripts (a322087)
  • preset/script: add shortcuts for coverage and watch (67b0689)
  • preset/script: add shortcuts for prerelease (40668b5)
  • preset/test: add jest for testing (0a741e7)
  • preset/test: add ts-node and tsconfig-path for development (4878efe)
  • preset/ts: add typescript and configuration files (01719a6)
  • preset/util: provide common helpers (77bd428)
  • presetter/cli: provide a command line interface for presetter (7403064)
  • presetter/err: provider helpers for handling errors (1563650)
  • presetter/pkg: provider helpers for handling packages (32e48a8)
  • presetter/preset: provide helpers for setting up a preset (7545351)
  • presetter/run: provide a task runner (fca0c1d)
  • presetter/task: provide helpers for task analysis (9a5c1e2)