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
- 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:
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 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:
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 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:
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 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 existAdded
"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 .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 licensetsdx create
will try to pull author info forpackage.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