Skip to content

Change Log

Please visit the TSDX release page for all historical releases.

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

v0.10.3

Published on Wed Oct 16 2019.

Commits - Fix #263. Move shelljs to deps 7030097

https://github.com/jaredpalmer/tsdx/compare/v0.10.2...v0.10.3

v0.10.2

Published on Wed Oct 16 2019.

Improvements

  • tsdx create will now default to an MIT license
  • tsdx create will try to pull author info for package.json from git and npm configs or fallback to a cute lil' prompt. This is to ensure that the bootstrapped package is publishable immediately.

Commits - feat: MIT License by default (#244) 0f965a6

https://github.com/jaredpalmer/tsdx/compare/v0.10.1...v0.10.2