Releases: jaredpalmer/tsdx
v0.14.1
Bugfixes
-
An upstream cache bug that affected certain combinations of build formats has been fixed
- The error that was fixed would look similar to:
(typescript) Error: ENOENT: no such file or directory, rename '[...]/my-lib/node_modules/.cache/rollup-plugin-typescript2/rpt2_4c61ae4392b9bd24f4d43d13a3f56419b8b5805d/code/cache_' -> '[...]/my-lib/node_modules/.cache/rollup-plugin-typescript2/rpt2_4c61ae4392b9bd24f4d43d13a3f56419b8b5805d/code/cache'
- The error that was fixed would look similar to:
-
The built-in
lodash
->lodash-es
replacement no longer breaks imports oflodash/fp
Dependencies
- The warning about incompatible peerDeps from
eslint-config-react-app
has been resolved
Commits
Lists of commits:
Bugfixes
- fix/deps: upgrade rpts2 to fix cache issue (#896) eaa1c3b
- fix: don't replace lodash/fp imports with lodash-es/fp (#884) 8b91c74
Dependencies
GitHub
Internal
- test: add a smoke test that builds all formats (#896) e2f1b76
- test: ensure lodash-es replacement is done properly (#884) 9c4ce68
All Contributors
- docs: add tanem as a contributor (#902) 81c8b2d
- docs: add altrim as a contributor (#895) d292dd9
- docs: add ludofischer as a contributor (#894) da53ea8
Commit Range
v0.14.0
BREAKING CHANGES
Slightly Breaking Changes
Node 10+
Updated the required Node version from 8 to 10.
While previous versions of TSDX began deprecating support for Node 8, it was not officially dropped.
In this release, we have officially dropped Node 8: TSDX now requires Node 10+ as many dependencies that were upgraded similarly do.
This should not impact most users as Node 8 has been EoL for ~9 months now.
Many packages had already required Node 10+ and the vast majority already have support for it.
Most users are on Node 12 or Node 14 already.
Jest 25
Updated the Jest version used by tsdx test
from 24 to 25.
The main breaking change in Jest 25 is the upgrade of the default JSDOM environment from JSDOM v11 to JSDOM v15.
For most Jest users, this change either has no impact or will reduce configuration if you've manually set a more up-to-date jest-environment-jsdom
in your jest.config.js
.
In some rare cases, where code relied on the old version of JSDOM, this may result in breakage.
ts-jest
and jest-plugin-typeahead
have also been upgraded to support Jest 25.
Babel Changes
babel-plugin-transform-async-to-promises
-> babel-plugin-polyfill-regenerator
async-to-promises
has been unmaintained for around a year now and has several correctness issues, many of which have affected TSDX users. For that reason, we've switched to using babel-plugin-polyfill-regenerator
instead, which will add a pure, non-polluting regenerator-runtime
polyfill if your targets
require it.
The vast majority of browsers (94.37%) now support async/await and generators with no polyfilling necessary, but the default preset-env
will add it. If you don't already have one, we recommend adding a .browserslistrc
(or preset-env
targets
) to specify the environments you're targeting.
This should be totally backward-compatible, but it may change the output quite a bit, including making bundles larger due to inclusion of regenerator-runtime
.
babel-plugin-macros
TSDX's internal Babel plugin ordering has changed, moving babel-plugin-macros
to be first.
This was done in order to support several use-cases like styled-components/macro
, which previously did not work due to the ordering.
This shouldn't really break anything, but there is an off chance it might have an impact on some rare builds.
Improvements
- Jest 25 / JSDOM 15 usage per above
- Due to the
babel-plugin-polyfill-regenerator
change above, TSDX now supports polyfilling generators out-of-the-box. Previously we only supported async/await withbabel-plugin-transform-async-to-promises
and required users to configure their own plugins for generator polyfilling styled-components/macro
support per above- A
--max-warnings
flag has been added totsdx lint
, which works the same as ESLint's--max-warnings
flag
Template Improvements
- Storybook template has been updated to Storybook v6, which significantly simplifies the config and adds some features
- Storybook template has now been configured to type-check during Storybook builds
size-limit
has been added to all templates for bundle analysis via NPM/Yarn scripts and a GitHub Action- All templates' GitHub Actions now have matrix testing for different Node versions and OSes out-of-the-box
- All templates' GitHub Actions now have simplified config and improved caching using
bahmutov/npm-install
- All templates'
tsconfig.json
now setskipLibCheck
,forceConsistentCasingInFileNames
, andnoEmit
- The former two are now recommended by TS and the latter one is just a usability improvement for those who use
tsc
for type-checking.skipLibCheck
will also greatly increase performance oftsc
's type-checking
- The former two are now recommended by TS and the latter one is just a usability improvement for those who use
- All templates'
tsconfig.json
now have detailed comments explaining nearly every configuration option in use
Docs
patch-package
is now officially listed as a customization option
Dependencies
- Jest 25 and Node 10+ per above. Most deps were updated by a major or two.
@babel/preset-env
was updated to the latest minor to support nullish coalescing and optional chaining without additional plugins, as well as to update the compatibility table.- If you have snapshots that rely on specific output from
preset-env
or Autoprefixer, as TSDX's internal test suite does, you may need to update those snapshots.
- If you have snapshots that rely on specific output from
- All vulnerabilities and deprecation warnings should now be resolved
- Due to some upgrades, clean-up, and use of
yarn-deduplicate
, overall install size should have decreased a good bit
Commits
Lists of commits:
Improvements
Bugfixes
- change: replace useBuiltIns with polyfill-regenerator (#795) 6e405d5
- change: replace async-to-promises with regenerator (#795) 2aefc3d
- (fix): change plugin order to make styled-components/macro work (#644) 6d7257c
Template Improvements
- feat: type-check stories during Storybook build (#876) f1ddccb
- feat: add test matrix to all templates' CI (#882) 8449699
- fix: use @bahmutov/npm-install in templates' CI (#882) f109fe9
- Remove redundant CI=true from templates' github workflows (#870) 6ba173f
- docs: add comment that noUnused* overlaps with an ESLint rule (#864) e50bc51
- docs: add comments for nearly all tsconfig options in use (#864) 10a6137
- feat: add noEmit to templates' tsconfigs (#864) c802b8b
- feat: add skipLibCheck and forceConsistentCasingInFileNames (#864) e0f79fe
- feat: add size-limit bundle size analysis tool to templates (#705) 2938ed9
- update react-with-storybook template for Storybook v6 (#805) 51e47a7
Docs
- docs: remove reference to Node 10+ req for create (#881) a95d2d8
- multi-entry: temporarily change docs to singular "module" (#862) ac98a73
- docs: capitalize 'S' in TypeScript (#752) da4b189
- docs: add
patch-package
reference to Customization section (#855) 08a8ef8 - docs: update features and comparison with changes from past year (#847) 1619bc1
- docs/fix: missing "to" infinitive marker (#843) 49fb303
Dependencies
- deps: upgrade several more deps' majors (#879) a9434f9
- deps: update extractErrors plugin's evalToString file (#878) 0e45050
- deps: update extractErrors Babel plugins to Babel 7 (#878) 33a6bde
- license: add FB License header to all extractErrors code (#878) 2caad24
- Migrate from rollup-plugin-babel to @rollup/plugin-babel (#789) f592595
- fix/deps: dependabot YAML doesn't support anchors/aliases (#850) f8b8317
- env/deps: remove greenkeeper.json, configure dependabot.yml (#846) 45aea66
- deps: upgrade Babel preset-env, remove now redundant plugins (#838) 8e2d750
- clean/deps: remove unused Babel plugins: transform-runtime, dynamic-import (#837) 485e04b
- deps: apply yarn-deduplicate and add deduplicate script (#683) d053912
- security/deps: audit fix several deps' vulnerabilities (#824) 4966edd
- (deps): upgrade to Jest 25 (#679) 116a043
- (deps): upgrade several deps' majors; require Node 10+ (#678) e018210
GitHub
Internal
- ci: make internal job names more consistent w/ templates' (#882) 49a3521
- ci: update matrix to use Node 14 instead of Node 13 (#880) dac1fd7
- clean: bad whitespace and Flow types in extractErrors (#878) 2d0f279
- test: compatible targets shouldn't insert regeneratorRuntime (#795) 794e5ad
- test: add an async syntax regression test (#795) 814c83b
- refactor/test: move generator test to build-default (#795) 2f8544d
- ci: add deduplicate:check script and run on precommit and CI (#683) 22133ce
- deps: update np to fix MFA bug during publishes (#816) fff9a43
All Contributors
- docs: add felixmosh as a contributor (#883) 427e5ad
- docs: add vladdy-moses as a contributor (#877) 7edf7ea
- docs: add in19farkt as a contributor (#875) ade9483
- docs: add CyriacBr as a contributor (#874) 0032086
- docs: add seungdols as a contributor (#873) ae15bd3
- docs: add hb-seb as a contributor (#872) 33c8317
- docs: add KATT as a contributor (#868) f6c296a
- docs: add thany as a contributor (#867) d996a0e
- docs: add orta as a contributor (#866) 198c16f
- docs: add slikts as a contributor (#865) 42f56a0
- docs: add georgevarghese185 as a contributor (#863) 22a0b7b
- docs: add strdr4605 as a contributor (#860) d4c3bb2
- docs: add kyarik as a contributor (#845) 826cd07
- docs: add andresz1 as a contributor (#842) aaa3dce
- docs: add Bnaya as a contributor (#836) dbdaba1
- docs: add kylemh as a contributor (#835) d5bbcf7
- docs: add HipsterBrown as a contributor (#834) 199841d
Commit Range
Postscript
Apologies again for the delay on getting to v0.14.0
, COVID added a lot of stress and work had been busy, to say the least. Unfortunately I wasn't able to get to all the changes I wanted to into it, but v0.14.0 has...
v0.13.3
Optimizations
- Types are only checked once now, type declarations are only emitted once now, and cache is shared with all formats
- Previously it was once per each format
- This was a roughly 15-30% perf boost altogether on the TSDX test suite, but YMMV
Template Bugfixes
- Templates no longer have
baseUrl
orpaths
set in theirtsconfig
, fixing a long-standing bug
Template Docs
- Template READMEs have been significantly improved, adding consistency between all 3, fixing outdated portions, and better describing certain behaviors
Commits
Lists of commits:
Optimizations
- optim: only check types once (#758) 79dddc4
- (optim): no need for separate cacheRoot per format (#691) 3357cbf
- (optim/fix): only emit type declarations once (#691) 6929300
Template Improvements
Template Bugfixes
Template Docs
- (docs): basic template README should be like React ones (#706) e7128f8
- (docs): add GitHub Actions info to template CI READMEs (#706) effdc31
- (docs): remove duplicative "Using the Playground" section (#706) f360f9b
- (docs): improve consistency in template READMEs (#706) 356bbda
- (docs): remove version/permalink refs in template READMEs (#706) 76a0530
- (docs): update outdated Jest info in template READMEs (#706) d4ff914
Docs
- lint: manually fix new website ESLint errors and warnings (#794) 9fea19d
- format: auto-fix new website formatting errors (#794) 3dfdafb
- format: auto-fix help dialog formatting error (#794) 99d982a
- Update features.js f0963cb
- Fix edit link e85b9ab
- Remove unused image 4f6bdb4
- Remove docusaurus site 1b3452b
- Put up redirect at old docs site 5f49acd
- New docs site! (#765) b09e195
- Update help channels to point to formium org (#762) 25a39cc
- fix/help: test command no longer runs Jest in watch mode (#734) 8b148ce
- (fix): update messages.ts github links (#754) b91ab47
- (docs): Comparison to -> with (#737) edcb9e7
- (docs): add Jest and ESLint subsections to Customization (#697) 4e4df28
- [docs] add homepage to package.json (#682) 35f162a
GitHub
Internal
- greenkeeper: remove website from greenkeeper config (#815) fc22471
- (clean): remove redundant tsconfig strict opts in tests (#690) 5c73483
- Simplify getInputs function (#745) 14bfa39
All Contributors
- docs: add devrelm as a contributor (#777) 5e5c3f8
- docs: add jssee as a contributor (#776) 1225a92
- docs: add yuriy636 as a contributor (#775) 267e488
- docs: add dandv as a contributor (#774) b344c9e
- docs: add bmihelac as a contributor (#773) 32126c3
- docs: add Semperia as a contributor (#772) f1335f1
- docs: update org for all-contributors (#772) 12971e5
Commit Range
Postscript
Apologies for the delay on releasing this and the delay on getting to v0.14.0
, COVID added a lot of stress and work has been busy, to say the least. I'm behind on all of my OSS repos, TSDX is actually the most maintained (but needs a lot more attention) 😕
v0.14.0
will be the next release, which will be a breaking change mostly due to updating dependencies' majors. I held back on it to get more into v0.13.x
before getting busy, but unfortunately I wasn't able to get to all the changes I wanted to into it, but v0.14.0 has been waiting long enough
Wishing everyone well! Please stay safe and please do your part to follow public health guidelines!
✊ Quoting from a Chromium release ✊ :
Black Lives Matter. Saying this does not mean that other lives do not matter. It should not be controversial to say this. If I say Chromium updates matter, it does not mean that other Fedora packages do not matter, it means that a Chromium update is needed to fix this giant pile of severe security vulnerabilities, here, today, now: [...]
In making that analogy, I do not intend to trivialize BLM. In no way do I mean to compare the lives of people to a silly web browser update. People are infinitely important than software. But since I'm here to push this software update out, I am also choosing to say clearly and unambiguously that Black Lives Matter.
Open Source proves that many voices, many contributions, together can change the world. It depends on it. This is my voice.
v0.13.2
Bugfixes
@types/jest
was moved to be a dependency instead of a devDependency. It has also been removed from the templates.- This should fix any version mismatch issues that were occuring, like using
@types/jest
v25 but Jest v24.- Stay tuned for an upgrade to Jest v25 in the next minor release of TSDX
- This should fix any version mismatch issues that were occuring, like using
semver
was also moved from devDependency to dependency. It's used intsdx create
, so it was misplaced.
Template Improvements
- Several redundant
tsconfig
compilerOptions
have been removed.strict
already includes all of these.
Commits:
Lists of commits:
Bugfixes
- (fix/deps): semver should be a dep, not a devDep (#677) 094fe5e
- (fix): @types/jest should be a dep, not a devDep (#672) 2930943
Template Improvements
Internal
- (docs/types): add comments to some remaining declarations (#675) 72092c8
- (deps/types/clean): remove extraneous typings (#675) c9a719a
- (deps/clean): remove unused @types/ms devDep (#674) eaa5da7
- (clean): remove redundant set of watch opts (#671) 351936e
All Contributors
- docs: add kotarella1110 as a contributor (#680) 51cd32f
- docs: add rockmandash as a contributor (#676) 92747f8
- docs: add ambroseus as a contributor (#670) 72c06b9
Commit Range
Postscript
Wishing everyone well during the pandemic! Please stay safe and please do your part to follow public health guidelines!
If you're looking for more ways to help out, there are many, many around and likely local initiatives where you live. I also included a small few I stumbled upon in the previous release postscript.
Another recent relevant one might be the shortage of COBOL programmers in the US. If you're a tech worker interested in helping out NJ (whether you know COBOL or not), there's a sign-up form here.
v0.13.1
Template Bugfix
tsconfig.json
include
was changed to removetest
from the array. This faulty include resulted in declarations being generated indist/
for test files as well as slowing down builds. It was also the cause of TS errors around v0.13.0's change torootDir: './src'
Tests
- Testing has been significantly improved in the commits leading up to this release, including:
- creating an integration test set-up
- creating many integration tests
- migrating the tests to TypeScript (they were previously 99% JS)
Commits:
Lists of commits:
Template Bugfix
Internal
- (format): format all files, not just src/ and test/ (#648) 3cb3841
- (refactor): make preset-env variable naming more explicit (#643) 477a6dd
- (clean): remove unused test/utils/psKill and its deps (#627) 9f559fa
- (clean): remove some unnecessary internal declarations (#637) 985a97b
- (clean): remove all references to --define (#636) 6e34b20
Tests
- (refactor): migrate all tests and test helper code to TS (#649) 863c56d
- (docs/fix): remove erroneous Test README sub-header 9fde343
- (test): ensure Babel presets are merged and applied (#627) ee391e4
- (fix/test): wrap shell.grep bc it shouldn't always succeed (#627) 25587a5
- (test): ensure a regenatorRuntime import is added (#627) fc4e23e
- (test): ensure styled-components works with TSDX (#627) 9569d0c
- (refactor): move safePackageName test to a unit test dir (#627) 9d72222
- (refactor): move lint -> fixtures/lint, and the test out (#627) 944ab02
- (refactor): rename tests -> e2e, integration-tests -> integration (#627) 70c8c68
- (test): ensure tsdx.config.js w/ rollup-plugin-postcss works (#627) 1e690b5
- (test): ensure --extractErrors kind of works (#627) 7617726
- (refactor): move manual tests into integration test dir (#627) a43da8d
- (fix/test): resolve reproducibility issues w/ execWithCache (#621) d234dff
- (refactor): split build tests into separate files per fixture (#621) 05e5b64
All Contributors
Commit Range
Postscript
Wishing everyone well during the pandemic! Please stay safe and follow the guidelines of public health officials, for yourself, for your family, and for everyone else and their families!
There's also lots of ways to help out, here's just a few I've stumbled upon:
- https://foldingathome.org/
- https://stackoverflow.blog/2020/03/26/ways-to-help-the-fight-against-covid-19-from-home/
- http://hackathon.gogcrc.org/
- #BuildforCOVID19
- https://covid19responsefund.org/
- https://www.gofundme.com/c/act/covid19
- https://github.com/jcl5m1/ventilator, jcl5m1/ventilator#17
v0.13.0
Deprecations
tsconfig.json
rootDir
has been changed to./src
../
is now deprecated and will give a warning
Improvements
- Async Rollup Plugins for
tsdx.config.js
are now supported out-of-the-box (no more need for hacks likeobjectHashIgnoreUnknownHack
) - Jest's
--config
flag is now respected tsconfig.json
'sdeclarationDir
is now respected- Much better support of JS & JSX files in build, test, and lint. This should enhance the gradual migration experience quite a bit
- Co-located test files are ignored during build by default now (so unnecessary declarations aren't generated for them)
Bugfixes
- Babel presets should no longer be ignored and will be merged with TSDX's defaults
- Multiple JSX -> JSX imports should resolve correctly now
src/index.jsx
will now be parsed as an entry file (previously only.ts
,.tsx
, and.js
were)esModuleInterop
should be properly read now for the purposes of configuring Rollup'sesModule
/ CJS__esModule
-- a bug made it so these were always added previously. This does not impact parsing ofesModuleInterop
for anything else, which worked correctly and still does.- Jest transform regexes are now properly anchored, non-TS/TSX files shouldn't be passed to
ts-jest
anymore - Jest config parsing now errors loudly instead of silently during failures
- Async Rollup Plugins in
tsdx.config.js
don't bug out anymore
Templates
- Storybook template has been significantly upgraded and patched
- GH Actions have been added to all templates
tsconfig.json
rootDir
has been changed to./src
../
is now deprecated and will give a warning- Confusing
tsconfig.json
target
has been removed as it is not currently configurable (configured with@babel/preset-env
instead) src
is now included inpackage.json
files
to improve debugging- Node version requirement is enforced when creating templates
Commits:
Lists of commits:
Features
- (feat): support custom jest config paths via --config (#526) 16459df
- (feat): use tsconfig declarationDir is set (#468) b23f158
- (feat): support JS & JSX files in tsdx test (#486) 424fc25
- (feat): support JS & JSX files in tsdx lint (#487) 655bb53
- Ensure co-located test files don't have definitions generated (#472) a56894f
Bugfixes
- Add JSX extension to @rollup/plugin-node-resolve options (#524) 735f301
- (fix): correctly read tsconfig esModuleInterop (#555) c12f92c
- (fix): parse tsconfig extends, trailing commas, and comments (#489) ad33c01
- (fix): if custom jest config path, use its dir as rootDir (#526) f19fa61
- (fix/types): fix internal & external declaration errors (#542) d164dd2
- (deps/fix/types): upgrade rollup & fix event type issues (#544) edd8045
- (fix): watch examples should only show watch command (#537) e2a91ad
- anchor regexps for jest transforms (#513) 1b1b9f8
- fix: respect custom tsconfig path for esModuleInterop (#436) 4ec56fc
- (fix): upgrade rpts2 / object-hash to support async rollup plugins (#506) b17a0be
- (fix): jest config parsing shouldn't silently fail on error (#499) a97a5af
- (fix): check for JSX extension for entry files (#474) 67a07bd
- (fix): ensure Babel presets are merged (#473) 40ba936
Templates
- Add 'src' to package.json files to improve source maps (#620) 287dc44
- (remove): redundant/confusing tsconfig target in templates (#466) 670cc56
- (fix): set rootDir to './src', not './'. deprecate moveTypes (#504) 68f26c9
- Add GH Action configs for each template (#457) 21893b8
- (fix) Enforce Node version for tsdx create, update documentation to express requirement. (#433) 9f183e7
- Integrate new Storybook config (#435) 1d8f123
Docs
- (fix/docs):
test
script doesn't run Jest in interactive mode (#536) a2e4b78 - (docs/fix): remove outdated language about custom Babel configs (#467) 1269115
Dependencies
- Bump acorn from 5.7.3 to 5.7.4 (#580) 3462576
- (deps): remove unused cross-env, cross-spawn, chokidar-cli (#553) ab73e25
- (refactor): replace rimraf, mkdirp, util.promisify with fs-extra funcs (#501) 3a6d42f
- Update husky to the latest version 🚀 (#507) 6a0a2c5
- Update cross-env to the latest version 🚀 (#459) 4f6de10
- Update @rollup/plugin-node-resolve to the latest version 🚀 (#477) 1a7d816
- Revert "chore(package): update @types/jest to version 25.1.0 (#462)" (#470) f12fcdf
- chore(package): update @types/jest to version 25.1.0 (#462) 95ff6da
- Update @types/semver to the latest version 🚀 (#463) 23c8826
Internal
- (ci/optim): add caching for yarn install (#625) 18e3c05
- Add publish npm script (#582) 77e7c70
- (clean): remove unused fixture test directories (#626) 82e764f
- (ci): remove experimental --runInBand as tests pass now (#624) 0f72117
- (optim/ci): don't build a second time for lint or test (#623) 6679c23
- (refactor): use outputFile instead of mkdirs + writeFile (#617) b21d7af
- (test): ensure custom --tsconfig path is correctly read (#556) 3530265
- (types): improve typings for Jest config (#526) 9fef652
- (test): dogfood tsdx test for internal testing (#526) fec415e
- (test): always run build before running tests (#493) df22fe3
- (types): add @types/sade, fix transpileOnly default (#476) b3632fe
- (types): enforce stricter typings (#475) 4e5e48a
All Contributors
Expand very long list. All historical contributors were added during this release.
- docs: add justingrant as a contributor (#622) 3a6e098
- docs: add github as a contributor (#616) d4dd010
- docs: add dependabot[bot] as a contributor (#615) 6b9f205
- docs: add allcontributors[bot] as a contributor (#614) e0e1a79
- docs: add greenkeeper[bot] as a contributor (#613) 60cc280
- docs: add Carl-Foster as a contributor (#611) 8b2fb0c
- docs: add lpolito as a contributor (#610) 1611158
- docs: add lookfirst as a contributor (#609) 3558e7b
- docs: add goznauk as a contributor (#608) 32ca779
- docs: add joeflateau as a contributor (#607) 7e4601d
- docs: add arthurdenner as a contributor (#606) 0930aeb
- docs: add techieshark as a contributor (#605) 8ed4547
- docs: add ArnaudBarre as a contributor (#604) 35eb230
- docs: add ncphillips as a contributor (#603) 1118a53
- docs: add yordis as a contributor (#602) 8bba957
- docs: add audiolion as a contributor (#601) 272547e
- docs: add Aidurber as a contributor (#600) 43e4e2f
- docs: add mfolnovic as a contributor (#599) de3c565
- docs: add third774 as a contributor (#598) 109355f
- docs: add elado as a contributor (#597) efbcfe2
- docs: add wessberg as a contributor (#596) 9702550
- docs: add tunnckoCore as a contributor (#595) f1e06c2
- docs: add medelman17 as a contributor (#594) dc871c1
- docs: add netzwerg as a contributor (#593) 570ed7a
- docs: add albizures as a contributor (#592) 47a566e
- docs: add sadsa as a contributor (#591) 1ad4787
- docs: add ccarse as a contributor (#590) 9a11b10
- docs: add bbugh as a contributor (#589) c256093
- docs: add wrdls as a contributor (#588) 2277e8a
- docs: add honzabrecka as a contributor (#587) 4495dde
- docs: add leonardodino as a contributor (#586) dc43151
- docs: add jooohn as a contributor (#585) 72904ca
- docs: add johnrjj as a contributor (#584) 17ef158
- docs: add karlhorky as a contributor (#576) 1fe8d51
- docs: add dance2die as a contributor (#575) 254783a
- docs: add hyanmandian as a contributor (#574) e0ad9cd
- docs: add quentin-sommer as a contributor (#573) 3a270f5
- docs: add FredyC as a contributor (#570) ac1fd87
- docs: add TrySound as a contributor (#571) ac2e80f
- docs: add enesTufekci as a contributor (#569) 544cf4e
- docs: add aleclarson as a contributor (#568) ab213f7
- docs: add kirjai as a contributor (#566) dabc620
- docs: add slorber as a contributor (#563) 78073f7
- docs: add a-type as a contributor (#562) 518ef10
- docs: add jakegavin as a contributor (#561) 345f850
- docs: add PabloSzx as a contributor (#560) 53713aa
- docs: add hedgerh as a contributor (#564) c878caf
- docs: add bastibuck as a contributor (#559) e72ec4e
- docs: add diegohaz as a contributor (#558) d84756a
- docs: add natemoo-re as a contributor (#567) 7c1d677
- docs: add skvale as a contributor (#565) 68d5601
- docs: add n3tr as a contributor (#557) 216bb56
- docs: add justingrant as a contributor (#554) 7102819
- docs: add aleclarson as a contributor (#552) 0419262
- docs: add gndelia as a contributor (#550) 10e54d5
- docs: add fknop as a contributor (#549) f4783d6
- docs: add etienne-dldc as a contributor (#548) d4e12ee
- docs: add agilgur5 as a contributor (#520) 4f1e1ef
- docs: add kyle-johnson as a contributor (#519) 97480cc
- docs: add tricoder42 as a contributor (#518) a929772
- docs: add selbekk as a contributor (#485) a31ee26
- docs: add sisp as a contributor (#482) 1b9092b
- docs: add agilgur5 as a contributor (#480) b71431b
- docs: add SKalt as a contributor (#454) 93c4be6
- docs: add hedgerh as a contributor (#449) ba1d276
- docs: add arthurdenner as a contributor (#453) 70dd8e5
- docs: add Carl-Foster as a contributor (#452) d819596
- docs: add LoicMahieu as a contributor (#451) d9eb226
- docs: add sebald as a contributor (#450) 3932958
- docs: add karlhorky as a contributor (#448) 4f2ba6f
- docs: add jamesgeorge007 as a contributor (#447) 317b673
- docs: add agilgur5 as a contributor (#446) 77c28d0
- docs: add kylemh as a contributor (#445) 7bb50a4
- docs: add lpolito as a contributor (#444) 651be2f
Commit Range
Postscript
Sorry for the long delay on this release everyone, I was recently added as an official maintainer (a week ago) and just given publishing ...
v0.12.3
Patch
tsdx test
no longer defaults to watch mode in interactive environments. This reverts previous behavior which caused bugs.
Commits
v0.12.2
Patch
- Fix issue with TS compilation. Please upgrade to 12.2, as builds are inconsistent.
Commits
- (docs): add contributing guidelines (#417) e5747fd
- Fix onFailure example (#416) 9e8ab92
- (fix): revert #130's breaking change of tsconfig options (#415) 00f80ac
- (refactor): replace ensureDistFolder with fs.outputFile (#406) ea124bc
- upgraded rollup-plugin-'s to @rollup/plugin-'s. (#411) cfc1e76
- (docs): add warning to tsdx.config.js usage (#400) 35fa947
- (types/refactor): be more specific than 'any' in build code (#401) 158ee9a
- (refactor): use path constants instead of custom resolveApp (#402) a38041f
- (docs): run doctoc on pre-commit (#399) f338613
v0.12.1
Improvements
- Add success/failure flags
- Add
transpileOnly
flag
Description
Rebuilds on any change
Usage
$ tsdx watch [options]
Options
-i, --entry Entry module(s)
--target Specify your target environment (default web)
--name Specify name exposed in UMD builds
--format Specify module format(s) (default cjs,esm)
--tsconfig Specify your custom tsconfig path (default <root-folder>/tsconfig.json)
--verbose Keep outdated console output in watch mode instead of clearing the screen
+ --onFirstSuccess Run a command on the first successful build
+ --onSuccess Run a command on a successful build
+ --onFailure Run a command on a failed build
--noClean Don't clean the dist folder
+ --transpileOnly Skip type checking
-h, --help Displays this message
Examples
$ tsdx watch --entry src/foo.tsx
$ tsdx watch --target node
$ tsdx watch --name Foo
$ tsdx watch --format cjs,esm,umd
$ tsdx watch --tsconfig ./tsconfig.foo.json
$ tsdx watch --noClean
+ $ tsdx watch --onFirstSuccess "echo The first successful build!"
+ $ tsdx watch --onSuccess "echo Successful build!"
+ $ tsdx watch --onFailure "The build failed!"
+ $ tsdx watch --transpileOnly
Bugfixes
- Fixed jest watch mode
Commits
- (refactor): invert if in run function (#404) e1370de
- (optim/test): use node testEnvironment (#405) ec0f285
- (clean): remove --env=jsdom as JSDOM is Jest's default (#396) 7c79b74
- (format): alphabetize package.json deps (#398) 27ba1dd
- (docs/fix): fix ToC changes / bugs introduced in #307 (#397) 387f3c2
- (docs): improve test watch mode docs (#395) 531010e
- Update @types/node to the latest version 🚀 (#391) be3c410
- [docs] howto turn off watch mode (#385) efb3539
- feat: Add success/failure hooks to watch (#130) ab54278
- (types/fix): explicit Rollup typing, fix treeshake location (#371) 2a5e5a5
- feat: Add transpileOnly flag to watch and build command (#307) ee4b307
v0.12.0
Improvements
- Added Storybook template
- Upgraded to Ts 3.7.x
- Updated rollup deps / plugins
- Moved the cache root to be inside of
node_modules
, you can delete the .rts2_cache_xxx folders from root and remove them from your .gitignore files - (internals) Made internal methods async where possible, should result in a minor speed boost.
- Added optional chaining and nullish coalescing operators support
- When running in an interactive shell (i.e. if
process.env.CI
false
),tsdx test
now runs Jest in watch mode. Note: Most CI services setCI
env variable to true by default. Our implementation is exactly how create-react-app does it. tsdx test
will pass in cases where no tests exist- Added
"prepare"
task topackage.json
scripts so that you can publish immediately. For those interested, I like to publish (TSDX) packages withnp
to do this.
Bugfixes
- Fix error when providing babel/preset-env without options
- Got rid of eslint warning upon install
- (Internal) Tests now run on PRs
- Do not output warning about react on non-react projects
Roadmap
- Add Closure Compiler
- Better support for "preshaking" and top level exports
- Monorepo support. Note: Formik is now using lerna and TSDX, so we'll be using it as a playground
Commits
- (deps/lint): upgrade @typescript-eslint to support ?. and ?? (#377) 843c676
- (ci): add a lint job so PRs will require passing lint (#378) 930feb9
- (clean): remove .rts_cache_* from storybook gitignore (#375) c5df5ac
- Add optional chaining and nullish coalescing operators support (#370) a736c77
- Added Storybook template (#318) c487377
- Merge pull request #373 from agilgur5/fix-pr-ci 7c8481b
- (fix/ci): GitHub Actions should run on PRs as well 5da9f65
- Merge pull request #372 from agilgur5/fix-format b8f24e2
- (fix/format): formatting of #366 didn't pass lint f3399e0
- Add prepare script to generated project (#334) ef93d1d
- default jest to watch mode when not in CI (#366) 5ee9dfc
- (fix): respect tsconfig esModuleInterop flag (#327) e8be03c
- Merge pull request #368 from jamesgeorge007/hotfix/typo-fix 78cccfe
- fix: minor typo aa8ab42
- update rollup deps and plugins (#364) d621994
- update rollup deps and plugins eb35feb
- update to ts 3.7 (#363) cab5591
- update to ts 3.7 5e84911
- Remove unnecessary yarn install command in GH action (#361) c44bd41
- Remove unnecessary yarn install command in GH action 3148138
- Replaced some sync methods for their async version (#291) c5f65bc
- Merge pull request #360 from goznauk/master 5aa5eda
- update README.md dfdd364
- update README.md 085916c
- Use node_modules/.cache/... as cacheRoot (#329) 55c0d47
- fix(lint): Only default to src test if they exist (#344) 3261dea
- Fix error when providing babel/preset-env without options (#350) a1a0dcb
- Replaced some sync methods for their async version 4deb7e2
- fix(lint): do not output warning about react on non-react projec… (#308) 6252b70
- chore(lint): use
detect
setting for eslint-plugin-react in react projects b6c3153 - fix(eslint): do not output warning about react on non-react projects 830e413
- Merge pull request #303 from jaredpalmer/greenkeeper/rollup-plugin-typescript2-0.25.2 ffd8733
- chore(package): update lockfile yarn.lock ed6f490
- fix(package): update rollup-plugin-typescript2 to version 0.25.2 62f0241
- feat(utils): add util that gets the React version of a project, if exists cf6718c
- Tweak docs f1a2643
- Update execa to the latest version 🚀 (#266) 6225b8e
- Merge branch 'master' into greenkeeper/execa-3.2.0 c9f04c3
- Merge pull request #195 from sadsa/patch-1 acd7e54
- Update eslint-plugin-react-hooks to the latest version 🚀 (#281) 72154fa
- chore(package): update lockfile yarn.lock 1186b7d
- fix(package): update eslint-plugin-react-hooks to version 2.2.0 28f16c2
- chore(package): update lockfile yarn.lock 1cd2fb3
- fix(package): update execa to version 3.2.0 d6b5ef3
- Pass tests in cases where no tests exist 61a3177