All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
4.7.2 (2024-03-07)
- preset-react: correct typo in jest config (f5fd5aa)
4.7.1 (2024-03-06)
- preset-react: ensure tsx files are transformed before testing (105f56d)
- update github actions specification (e1ff3d8)
4.7.0 (2024-02-27)
- preset-esm: enable typescript incremental build (7e1d9af)
- 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)
- preset-esm: update gitignore for better coverage (cd691a6)
- presetter: use hardlink if possible (2189d72)
- 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)
- 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)
- 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)
- 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)
- release with provenance statements (f85e58a)
4.4.1 (2023-10-06)
- preset-esm: resolve paths from anywhere (5cad767)
4.4.0 (2023-10-03)
- preset-esm: add a shortcut path for generated content (43cab95)
- preset-esm: gitignore any dynamically generated content (b2bc235)
- preset-esm: resolve path under root directoy (7648af5)
4.3.1 (2023-10-03)
- preset-esm: cover more import order cases (9a5b574)
- preset-esm: update target for node 18 LTS (d754890), closes /node.green/#ES2023
4.3.0 (2023-09-20)
- preset-esm: upgrade @typescript-eslint to v6 (cd12de0)
- preset-esm: correct type imports order (6f8fa98)
- preset-strict: remove redundant thresholds (45b0521)
- remove redundant types (07f8375)
4.2.0 (2023-09-13)
- preset-esm: support official decorators (1980d8d)
- preset-esm: enable multiple husky setups (99b4807)
4.1.2 (2023-07-26)
- presetter: ignore empty command (77344b3)
4.1.1 (2023-07-14)
- presetter: capture all extra arguments after -- (fe96954)
4.1.0 (2023-07-13)
- preset-esm: make bootstrap part of the setup procedure (313c0d1)
- preset-react: remove monorepo incompatible jest configuration (c554eb2)
4.0.1 (2023-06-21)
- preset-esm: make staging file path after -- (62ae558)
4.0.0 (2023-06-18)
- 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)
- 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)
- presetter: fix the coverage command to accept extra agruments (5be8431)
- release with provenance statements (f1a58fc)
- preset-rollup: normalize config in functional way (f6b3815)
- 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)
- make any node build-in modules explicitly imported first (90730f2)
-
- 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)
- preset-esm: correct the configuration format for jest (14abda7)
3.5.4 (2023-03-30)
- preset-esm: make jest work under pure esm environment (c443952)
- preset-essentials: check type in test files (3bc1982)
3.5.3 (2023-03-26)
- presetter: make it compatible with other package managers (4bc27a9)
- preset-strict: remove source files from the final build (8e99425)
3.5.2 (2023-03-26)
- presetter: restore package.json upon SIGTERM (33b8c51)
3.5.1 (2023-03-18)
- preset-essentials: remove deprecated typescript configs (0dc6cf7)
3.5.0 (2022-09-23)
- presetter: take .presetterrc from any of the parent node (723c139)
- preset-react: increase the line limit of a react comonpent (1ea89a2)
- move .presetterrc to the root (0eb17a0)
- update github actions files (555c854)
3.4.1 (2022-08-10)
- 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)
- presetter: move mergeTemplate to template.ts (9e46132)
3.4.0 (2022-08-02)
- presetter: add a template merge mode options (df847a8)
- presetter: resolve presets as a tree not a list (0db5ff3)
- presetter: skip installation within presetter package (2a973af)
3.3.0 (2022-07-12)
- presetter: support scripts to be applied at the end (d3ec950)
- support dual commonjs/esm exports (a8c3ca1)
- update dependencies badges (94c084d)
3.2.0 (2022-05-18)
- preset-essentials: remove babel in favorite of tsc (dd62e01)
- 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)
- use American English (17315b7)
- update package dependencies (4e50e0d)
3.1.1 (2021-12-29)
- preset-web: update eslint-plugin-tailwindcss to v3 (e9adbc0)
3.1.0 (2021-12-28)
- 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)
- 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)
- preset-react: remove the unnecessary quotation mark (40caccf)
- presetter: reorder types definitions for clarity (d7b54eb)
3.0.3 (2021-11-03)
- presetter: disable workspace for npm<7 environment (fbdaabf)
3.0.2 (2021-11-03)
- presetter: declare the usage of read-pkg for npm<7 environment (fcd8022)
3.0.1 (2021-10-14)
- 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)
3.0.0 (2021-10-04)
- 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)
- 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)
- fully replace lerna with npm workspace (343ee59)
- use presetter-preset-strict wherever possible (4ff72a1)
- 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)
- describe how a preset can be made (4735d54)
- enrich README (8509f41)
- update status on eslint-plugin-sonarjs (0a43ed8)
- preset: make sure all templates are used (50b6644)
- reduce the complexity of style and coverage checks (2df3587)
- 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)
- 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)
- 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)
- 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)
- restrict update to package-lock on the root only (c425f96)
- 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)
2.0.0 (2021-06-23)
- make git ignore artifacts again for git>=2.32 (9f14500)
- presetter: update yargs to v17 (5e65a8c)
- use npm workspace for development (c5e2547)
- presetter: reformat the code by prettier (3ae4e23)
- presetter: drop support on node 10 due to yargs 17
1.3.0 (2021-05-20)
- preset: always use the latest version of typescript (96d9bc2)
- preset: upgrade ts-node-dev to v1 (66eb2a0)
- release via a NPM automation token (55f8887)
1.2.0 (2021-05-11)
- 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)
- correct the job name for code test (8ea5115)
- 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)
- 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)
- 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)
- preset: skip test on install (1f2b12b)
- 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)
- preset: update the file structure (5b6a7d8)
- presetter: update the example for life cycle scripts (ef8439a)
- presetter: change example paths for testing under windows (4c68423)
- 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)
- 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)
- preset/script: allow prettier to pass when there is no match (efa76a6)
- preset/script: make release and publish using the right scripts (93d7995)
- preset/script: remove an extra space (025835a)
- preset/lint: drop the doc requirement on the obvious (df74c0f)
1.0.4 (2020-10-04)
- preset/babel: enable babel to emit decorator metadata like tsc (8f8f3e5)
1.0.3 (2020-09-30)
- preset: update development tools (7426120)
- preset/script: skip coverage and lint upon npm install (02c809d)
1.0.2 (2020-08-14)
- presetter: preserve client's package.json order upon initialisation (7ca037b)
- suggest to use prepublish instead of postinstall (80740d5)
1.0.1 (2020-07-16)
- presetter/cli: make the CLI compatible on Linux (3b2c4c0)
- 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)
- add a json extension to all rc files (18d7195)
- 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)