Skip to content

Change Log

Please visit the TSDX release page for all historical releases.

v0.14.0

Published on Mon Sep 21 2020.

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 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 with babel-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 to tsdx 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 OS out-of-the-box
  • All templates' GitHub Actions now have simplified config and improved caching using bahmutov/npm-install
    • All templates' tsconfig.json now set skipLibCheck, forceConsistentCasingInFileNames, and noEmit
      • The former two are now recommended by TS and the latter one is just a usability improvement for those use tsc for type-checking. skipLibCheck will also greatly increase performance of tsc's type-checking
  • All templates' tsconfig.json now have detailed comments explaining nearly every configuration option in use

Docs

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

Improvements

  • Add --max-warnings flag to tsdx lint (#858) dd92fec

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

  • github: use envinfo for getting versions in issue reports (#820) 349f299

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

https://github.com/formium/tsdx/compare/v0.13.3...v0.14.0


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 been waiting long enough. Only two complex issues were left out and many more PRs added in, though not everything had made it into v0.13.x either.

I also wanted to push Rollup 2, TS 4.0, Prettier 2, and ESLint upgrades into this, but the breaking changes in the changelog started getting too big, so I decided to wait a bit to split those changes across more releases to not throw too much breakage at users at once.

If you're wondering, all of my co-workers, my team, and I were suddenly laid off just over a week ago, so that's why I had time (and want to distract myself) to push out ~2 dozen PRs the past week πŸ˜•

Best wishes and stay safe to everyone!

v0.13.3

Published on Sun Aug 23 2020.

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 or paths set in their tsconfig, 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

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

  • deps: upgrade actions/cache to v2 in all templates (#750) 984e024

Template Bugfixes

  • (fix): templates should not have baseUrl or paths set (#707) 17ffcd2

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

  • github: disable blank issues without an issue template (#814) 0139cae

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

https://github.com/formium/tsdx/compare/v0.13.2...v0.13.3


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

Published on Mon Apr 13 2020.

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
  • semver was also moved from devDependency to dependency. It's used in tsdx create, so it was misplaced.

Template Improvements

  • Several redundant tsconfig compilerOptions have been removed. strict already includes all of these.

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

  • (clean): remove redundant tsconfig strict opts in templates (#673) 2dd4396

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

https://github.com/jaredpalmer/tsdx/compare/v0.13.1...v0.13.2


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

Published on Sun Mar 29 2020.

Template Bugfix

  • tsconfig.json include was changed to remove test from the array. This faulty include resulted in declarations being generated in dist/ for test files as well as slowing down builds. It was also the cause of TS errors around v0.13.0's change to rootDir: './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:

Template Bugfix

  • (fix): remove faulty tsconfig.json include of test dir (#646) aa09dcb

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

  • docs: add lookfirst as a contributor (#651) 7364efe

Commit Range

https://github.com/jaredpalmer/tsdx/compare/v0.13.0...v0.13.1


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, https://github.com/jcl5m1/ventilator/issues/17

v0.13.0

Published on Fri Mar 20 2020.

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 like objectHashIgnoreUnknownHack)
  • Jest's --config flag is now respected
  • tsconfig.json's declarationDir 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's esModule / CJS __esModule -- a bug made it so these were always added previously. This does not impact parsing of esModuleInterop 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 in package.json files to improve debugging
  • Node version requirement is enforced when creating templates

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

https://github.com/jaredpalmer/tsdx/compare/v0.12.3...v0.13.0


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 privileges (yesterday). See https://github.com/jaredpalmer/tsdx/issues/512 for more details.

Wishing everyone well during the pandemic!

v0.12.3

Published on Mon Jan 13 2020.

Patch

  • tsdx test no longer defaults to watch mode in interactive environments. This reverts previous behavior which caused bugs.

Commits - Run tests in series with --runInBand (#429) 367a7a5 - Deprecate Node 8 support (#426) bd35f65 - Revert "default jest watch unless in CI" PR #366 (#421) 95ac3f4 - Drop Node 8 from test matrix f1cf8b1

https://github.com/jaredpalmer/tsdx/compare/v0.12.2...v0.12.3

v0.12.2

Published on Mon Jan 13 2020.

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

https://github.com/jaredpalmer/tsdx/compare/v0.12.1...v0.12.2

v0.12.1

Published on Sun Dec 29 2019.

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

https://github.com/jaredpalmer/tsdx/compare/v0.12.0...v0.12.1

v0.12.0

Published on Thu Dec 19 2019.

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 .rts2cachexxx 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 set CI 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 to package.json scripts so that you can publish immediately. For those interested, I like to publish (TSDX) packages with np 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 .rtscache* 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

https://github.com/jaredpalmer/tsdx/compare/v0.11.0...v0.12.0

v0.11.0

Published on Tue Oct 29 2019.

Bugfixes

  • Rollback to rollup-plugin-typescript2. TSDX now generates types properly--again. SORRY about that folks.

Improvements

  • Added support for eslint report: new flag --report-file
  • Added --noClean option for watch

Commits - Update to @types/react 16.9.11 (#288) 870d05a - Remove confusing comment (#286) 3352220 - fix: rollback typescript plugin to avoid babel config conflicts (#287) 3989277 - --noClean option for watch (#282) 9c10c70 - docs: clarify effect of propertyReadSideEffects (#280) 5becff1 - Merge pull request #277 from mfolnovic/master 0a7a469 - Added documentation e9b6bbf - Added support for eslint report: new flag --report-file ef08ab0 - Add node version to bug template e03c051

https://github.com/jaredpalmer/tsdx/compare/v0.10.5...v0.11.0