Releases: facebook/jscodeshift
Releases · facebook/jscodeshift
v17.1.1
17.1.0
[17.1.0] 2024-10-30
Added
pkg.pr.new
will now be used to build an npm pakage for each commit to the repo, allowing you to more easily test changes or use new features before an official release is cut. (#622, @Aslemammad)
Changed
Fixed
- Removed old
docs
command frompackage.json
since the new docs are in thewebsite
folder, which has instructions in its README.
17.0.0
[17.0.0] 2024-08-06
We needed to go from v0.x to a major release, and it may as well happen now. jscodeshift has been around for nine years though, so going to v1.0.0 didn't feel quite right. I've instead promoted the minor version number to a major version number, similar to what React did when it went from 0.14 to 15.0.
Fixed
- Node.js 16 is now explicitly specified as the minimum required version. It was already required due to some dependencies requiring it, but this makes it explicit (#607, @trivikr)
Added
- A new jscodeshift website has launched, thanks to the team at Codemod. (#592, @mohab-sameh with some tweaks by @morinokami)
- Added collection functions for import declarations, including finding imports and inserting new imports (#617, @danieldelcore)
Changed
0.13.1
Changed
- Switched from
colors
tochalk
to mitigate a security vulnerability incolors@1.4.1
.
Full Changelog: 0.13.0...0.13.1
v0.7.0
Added
Changed
- Moved from BSD to MIT license
Fixed
- No longer throw an error when calling jscodeshift on a non-existent path (#334, @threepointone)
- Preserve the original file extension in remote files (#317, @samselikoff)
v0.6.4
v0.6.3
v0.6.2
Changed
@babel/register
/@babel/preset-env
is configured to not transpile any
language features that the running Node process supports. That means if you use
features in your transform code supported by the Node version you are running,
they will be left as is. Most of ES2015 is actually supported since Node v6.- Do not transpile object rest/spread in transform code if supported by running
Node version.
Fixed
- Presets and plugins passed to
@babel/register
are now properly named and
loaded.
v0.6.1
Added
- Tranform files can be written in Typescript. If the file extension of the
transform file is.ts
or.tsx
,@babel/preset-typescript
is used to
convert them. This requires the--babel
option to be set (which it is by
default). ( #287 , @brieb )
Changed
- The preset and plugins for converting the transform file itself via babeljs
have been updated to work with babel v7. This included removing
babel-preset-es2015
andbabel-preset-stage-1
in favor of
@babel/preset-env
. Only@babel/proposal-class-properties
and
@babel/proposal-object-rest-spread
are enabled as experimental features. If
you want to use other's in your transform file, please create a PR.
Fixed
- Typescript parses use
@babel/parser
instead of Babylon ( #291, @elliottsj )
Bumped
micromatch
=> v3.1.10, which doesn't (indirectly) depend onrandomatic
<
v3 anymore (see #292).
v0.6.0
A bunch of changes to get jscodeshift in a better shape. This is minor version update because important dependencies and parser configurations have changed.
New
- New CLI option
--parser-config
: This option accepts a path to a JSON file and overrides the default options for flow or babylon. This allows you to tweak parser settings (e.g. legacy decorators). (46d250f) - New CLI option
--stdin
: If provided, the list of files/directories is read from stdin. This makes it easier to pass large lists of files. (b6eaa0a) - New API in transforms:
api.report
lets you print arbitrary text to stdout. Useful if another tools consumes jscodeshift's stdout. (c902a00) Example:
// In the transform
api.report('some data');
// in stdout
REP path/to/file.js some data
Improvements
- Updated babylon to v7 adding support for newer flow features (#282 , @wanderley )
- Updated recast to v0.16, which includes a bunch of printing improvments (#289 , @majapw )
- Enable more features in babylon and flow (#278 , @mjesun ; #281 , @jbrown215 )
- Improve handling of large lists of files (62b12ad, 9c83c39)
Fixes
- JSXElements's
hasAttributes
method understands value-less Boolean attributes (#277 , @artemruts ) - More reliable printing to stdout (62b12ad)