babel-utils/babel-plugin-tester (babel-plugin-tester)
### [`v11.0.4`](https://redirect.github.com/babel-utils/babel-plugin-tester/blob/HEAD/CHANGELOG.md#1104-3-2023-01-25)
[Compare Source](https://redirect.github.com/babel-utils/babel-plugin-tester/compare/v11.0.3...v11.0.4)
##### πͺ Fixes
- Ensure exec realm has access to context-sensitive versions of \__filename and \__dirname globals (\[[`0306698`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/0306698)]\[4])
### [`v11.0.3`](https://redirect.github.com/babel-utils/babel-plugin-tester/blob/HEAD/CHANGELOG.md#1103-5-2023-01-24)
[Compare Source](https://redirect.github.com/babel-utils/babel-plugin-tester/compare/v11.0.2...v11.0.3)
##### πͺ Fixes
- Pass full file path to prettier::resolveConfig, not just the dirname (\[[`e9ebcdd`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/e9ebcdd)]\[6])
### [`v11.0.2`](https://redirect.github.com/babel-utils/babel-plugin-tester/blob/HEAD/CHANGELOG.md#1102-7-2023-01-23)
[Compare Source](https://redirect.github.com/babel-utils/babel-plugin-tester/compare/v11.0.1...v11.0.2)
##### πͺ Fixes
- **src:** use cross-realm symbols (\[[`330aa1e`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/330aa1e)]\[8])
- Use node-util import compatible with node@14 (\[[`2c4cd84`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/2c4cd84)]\[9])
##### βοΈ Build System
- **babel:** explicitly include polyfills for shipped proposals (\[[`850d58c`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/850d58c)]\[10])
### [`v11.0.1`](https://redirect.github.com/babel-utils/babel-plugin-tester/blob/HEAD/CHANGELOG.md#1101-11-2023-01-18)
[Compare Source](https://redirect.github.com/babel-utils/babel-plugin-tester/compare/v11.0.0...v11.0.1)
##### πͺ Fixes
- **src:** ensure deprecated `config` option is still supported by `prettierFormatter` (\[[`e48badf`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/e48badf)]\[12]) closes \[[#139](https://redirect.github.com/babel-utils/babel-plugin-tester/issues/139)]\[13]
### [`v11.0.0`](https://redirect.github.com/babel-utils/babel-plugin-tester/blob/HEAD/CHANGELOG.md#1100-14-2023-01-18)
[Compare Source](https://redirect.github.com/babel-utils/babel-plugin-tester/compare/v10.1.0...v11.0.0)
##### π₯ Breaking Changes π₯
- **`error` no longer accepts arbitrary class constructors**
`error` (aka `throws`) no longer accepts arbitrary class constructors. Any
provided class constructor must extend `Error`, e.g. built-ins like
`SyntaxError` or custom error classes like `class MyError extends Error`. Thanks
to the nature of JavaScript, **providing a class constructor that does not
extend `Error` will lead to undefined behavior**.
- **`error` only captures exceptions from Babel**
`error` (aka `throws`) no longer potentially captures exceptions thrown by the
`formatResult` function. If the `formatResult` function throws, the entire test
will fail immediately.
- **`TypeError` for config error; `AssertionError` for test error**
All configuration-related issues now throw `TypeError` instead of
`AssertionError`. `AssertionError` is now exclusively used for failing tests.
Additionally, the text of some error messages has been updated.
- **All test titles are now numbered**
All test titles are now numbered (e.g. `"1. ..."`, `"2. ..."`, etc), including
fixtures tests and tests with custom titles.
- **Built-in TypeScript support**
TypeScript types are now included within the package itself, obviating the need
to install a separate types package. Installing the old types package alongside
this version of babel-plugin-tester will cause conflicts.
- **Fixture configuration schema is standardized**
In previous versions of babel-plugin-tester, you could provide any key to
`options.json` and it would be passed as-is to the plugin under test. This made
it impossible to allow fixtures to be configured with the same flexibility as
test objects. In this version of babel-plugin-tester, fixture `options.json`
(and `options.js`) files must return a standard set of options. Non-standard
properties are silently ignored. For instance: to pass options to the plugin
under test, they must be provided via `pluginOptions`.
- **Global `describe` and `it` functions must be defined**
babel-plugin-tester will refuse to run if `describe`, `it`, `it.only`, or
`it.skip` are not globally available.
- **Global `setup`/`teardown` no longer overwrites local versions**
In previous versions of babel-plugin-tester, test-level `setup` and `teardown`
functions overrode global `setup` and `teardown` functions. In this version of
babel-plugin-tester, the global `setup` and `teardown` functions will be called
alongside their test-level counterparts for each test and in a well-defined
order (see documentation).
- **Implicit "global" options merging is no longer supported**
In previous versions of babel-plugin-tester, any test object and fixture
configuration option could be passed directly to babel-plugin-tester and apply
"globally" across all test objects and fixtures. This was even the case for
options that made no sense in a "global" context, such as `only`, `skip`, and
`code`. In this version of babel-plugin-tester, only options explicitly listed
in the documentation can be passed directly and applied globally. Unrecognized
"rest" options are silently ignored.
- **Test/fixture configuration is resolved early and consistently**
In previous versions of babel-plugin-tester, test object and fixture
configuration options were resolved in various places, with some options getting
finalized before `it(...)` and `describe(...)` were called and others being
determined as Jest was executing the test. In this version, all configuration
options are resolved and finalized before `it(...)` and `describe(...)` are
called. This also means configurations are finalized *before* hooks like
`beforeAll` get called by the testing framework.
- `babelOptions.filename` is now set to `filepath`
by default rather than `undefined`.
- In previous versions, the lodash.mergeWith customizer skipped source properties
that resolved to `undefined`. With this version, the customizer now unsets these properties
(sets them to `undefined`), allowing the end user to easily unset defaults (e.g. `filename`).
- Minimum recommended node version bumped from
10.13.0 to 14.20.0
- Plugin names are once again automatically determined
by analyzing the return value of the plugin function. Though this is
implemented in a backwards-compatible way, there is a
\[small caveat]\[15].
##### β¨ Features
- Add support for testing presets (\[[`73b90b3`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/73b90b3)]\[16])
- Implement default filepath inference using Error stack trace (\[[`9d1b321`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/9d1b321)]\[17])
- **src:** add `exec`/`execFixture` support via Node's VM module (\[[`4754f42`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/4754f42)]\[18])
- **src:** add support for "only", "skip", and "title" test options in fixtures (\[[#90](https://redirect.github.com/babel-utils/babel-plugin-tester/issues/90)]\[19]) (\[[`89b58b5`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/89b58b5)]\[20])
- **src:** add support for arbitrary run order of plugin under test (\[[#91](https://redirect.github.com/babel-utils/babel-plugin-tester/issues/91)]\[21]) (\[[`8c8b858`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/8c8b858)]\[22])
- **src:** add support for loading prettier configuration files in fixtures (\[[`f54deda`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/f54deda)]\[23])
- **src:** add TEST_SKIP/TEST_NUM_SKIP/TEST_ONLY/TEST_NUM_ONLY env variable support (\[[`13626d1`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/13626d1)]\[24])
- **src:** bring back (lightweight) plugin name inference (\[[#92](https://redirect.github.com/babel-utils/babel-plugin-tester/issues/92)]\[25]) (\[[`f9ad903`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/f9ad903)]\[26])
- **src:** implement `titleNumbering` and `restartTitleNumbering` options (\[[`09e792d`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/09e792d)]\[27])
- **src:** implement standard `setup`/`teardown` run order (\[[`4ea283f`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/4ea283f)]\[28])
- **src:** provide debug output support via debug package (\[[`4c7c6e7`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/4c7c6e7)]\[29])
- Windows support (\[[`f214995`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/f214995)]\[30])
##### πͺ Fixes
- **src:** ensure test function errors are not swallowed by teardown function errors (\[[`2acfe37`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/2acfe37)]\[31])
- **src:** fix fixtureOutputExt being ignored in root options.json (\[[#89](https://redirect.github.com/babel-utils/babel-plugin-tester/issues/89)]\[32]) (\[[`481be19`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/481be19)]\[33])
- **src:** fix plugin run order for fixtures to match tests (\[[#88](https://redirect.github.com/babel-utils/babel-plugin-tester/issues/88)]\[34]) (\[[`fbb6c19`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/fbb6c19)]\[35])
##### βοΈ Build System
- **deps:** bump prettier from 2.8.0 to 2.8.1 (\[[#98](https://redirect.github.com/babel-utils/babel-plugin-tester/issues/98)]\[36]) (\[[`0bdb351`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/0bdb351)]\[37])
- **package:** restore [@babel/core](https://redirect.github.com/babel/core)[@7](https://redirect.github.com/7).11.6 as minimum supported version (\[[`00712c0`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/00712c0)]\[38])
- Transmute codebase to TypeScript (\[[#96](https://redirect.github.com/babel-utils/babel-plugin-tester/issues/96)]\[39]) (\[[`5f588e9`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/5f588e9)]\[40])
- Update tooling (\[[`d5b4d9c`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/d5b4d9c)]\[41])
##### π₯ Reverted
- *"test: make debugging names shorter and sweeter"* (\[[`0b869bb`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/0b869bb)]\[42])
##### π§πΏ Refactored
- Lodash.mergeWith customizer now allows unsetting options by setting them to `undefined` (\[[`74af680`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/74af680)]\[43])
- Reorganize source into unified extensible tester pipeline w/ first-class fixtures support (\[[`0c44392`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/0c44392)]\[44])
Configuration
π Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
π¦ Automerge: Disabled by config. Please merge this manually once you are satisfied.
β» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
π Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
^10.1.0
->^11.0.0
Release Notes
babel-utils/babel-plugin-tester (babel-plugin-tester)
### [`v11.0.4`](https://redirect.github.com/babel-utils/babel-plugin-tester/blob/HEAD/CHANGELOG.md#1104-3-2023-01-25) [Compare Source](https://redirect.github.com/babel-utils/babel-plugin-tester/compare/v11.0.3...v11.0.4) ##### πͺ Fixes - Ensure exec realm has access to context-sensitive versions of \__filename and \__dirname globals (\[[`0306698`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/0306698)]\[4]) ### [`v11.0.3`](https://redirect.github.com/babel-utils/babel-plugin-tester/blob/HEAD/CHANGELOG.md#1103-5-2023-01-24) [Compare Source](https://redirect.github.com/babel-utils/babel-plugin-tester/compare/v11.0.2...v11.0.3) ##### πͺ Fixes - Pass full file path to prettier::resolveConfig, not just the dirname (\[[`e9ebcdd`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/e9ebcdd)]\[6]) ### [`v11.0.2`](https://redirect.github.com/babel-utils/babel-plugin-tester/blob/HEAD/CHANGELOG.md#1102-7-2023-01-23) [Compare Source](https://redirect.github.com/babel-utils/babel-plugin-tester/compare/v11.0.1...v11.0.2) ##### πͺ Fixes - **src:** use cross-realm symbols (\[[`330aa1e`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/330aa1e)]\[8]) - Use node-util import compatible with node@14 (\[[`2c4cd84`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/2c4cd84)]\[9]) ##### βοΈ Build System - **babel:** explicitly include polyfills for shipped proposals (\[[`850d58c`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/850d58c)]\[10]) ### [`v11.0.1`](https://redirect.github.com/babel-utils/babel-plugin-tester/blob/HEAD/CHANGELOG.md#1101-11-2023-01-18) [Compare Source](https://redirect.github.com/babel-utils/babel-plugin-tester/compare/v11.0.0...v11.0.1) ##### πͺ Fixes - **src:** ensure deprecated `config` option is still supported by `prettierFormatter` (\[[`e48badf`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/e48badf)]\[12]) closes \[[#139](https://redirect.github.com/babel-utils/babel-plugin-tester/issues/139)]\[13] ### [`v11.0.0`](https://redirect.github.com/babel-utils/babel-plugin-tester/blob/HEAD/CHANGELOG.md#1100-14-2023-01-18) [Compare Source](https://redirect.github.com/babel-utils/babel-plugin-tester/compare/v10.1.0...v11.0.0) ##### π₯ Breaking Changes π₯ - **`error` no longer accepts arbitrary class constructors** `error` (aka `throws`) no longer accepts arbitrary class constructors. Any provided class constructor must extend `Error`, e.g. built-ins like `SyntaxError` or custom error classes like `class MyError extends Error`. Thanks to the nature of JavaScript, **providing a class constructor that does not extend `Error` will lead to undefined behavior**. - **`error` only captures exceptions from Babel** `error` (aka `throws`) no longer potentially captures exceptions thrown by the `formatResult` function. If the `formatResult` function throws, the entire test will fail immediately. - **`TypeError` for config error; `AssertionError` for test error** All configuration-related issues now throw `TypeError` instead of `AssertionError`. `AssertionError` is now exclusively used for failing tests. Additionally, the text of some error messages has been updated. - **All test titles are now numbered** All test titles are now numbered (e.g. `"1. ..."`, `"2. ..."`, etc), including fixtures tests and tests with custom titles. - **Built-in TypeScript support** TypeScript types are now included within the package itself, obviating the need to install a separate types package. Installing the old types package alongside this version of babel-plugin-tester will cause conflicts. - **Fixture configuration schema is standardized** In previous versions of babel-plugin-tester, you could provide any key to `options.json` and it would be passed as-is to the plugin under test. This made it impossible to allow fixtures to be configured with the same flexibility as test objects. In this version of babel-plugin-tester, fixture `options.json` (and `options.js`) files must return a standard set of options. Non-standard properties are silently ignored. For instance: to pass options to the plugin under test, they must be provided via `pluginOptions`. - **Global `describe` and `it` functions must be defined** babel-plugin-tester will refuse to run if `describe`, `it`, `it.only`, or `it.skip` are not globally available. - **Global `setup`/`teardown` no longer overwrites local versions** In previous versions of babel-plugin-tester, test-level `setup` and `teardown` functions overrode global `setup` and `teardown` functions. In this version of babel-plugin-tester, the global `setup` and `teardown` functions will be called alongside their test-level counterparts for each test and in a well-defined order (see documentation). - **Implicit "global" options merging is no longer supported** In previous versions of babel-plugin-tester, any test object and fixture configuration option could be passed directly to babel-plugin-tester and apply "globally" across all test objects and fixtures. This was even the case for options that made no sense in a "global" context, such as `only`, `skip`, and `code`. In this version of babel-plugin-tester, only options explicitly listed in the documentation can be passed directly and applied globally. Unrecognized "rest" options are silently ignored. - **Test/fixture configuration is resolved early and consistently** In previous versions of babel-plugin-tester, test object and fixture configuration options were resolved in various places, with some options getting finalized before `it(...)` and `describe(...)` were called and others being determined as Jest was executing the test. In this version, all configuration options are resolved and finalized before `it(...)` and `describe(...)` are called. This also means configurations are finalized *before* hooks like `beforeAll` get called by the testing framework. - `babelOptions.filename` is now set to `filepath` by default rather than `undefined`. - In previous versions, the lodash.mergeWith customizer skipped source properties that resolved to `undefined`. With this version, the customizer now unsets these properties (sets them to `undefined`), allowing the end user to easily unset defaults (e.g. `filename`). - Minimum recommended node version bumped from 10.13.0 to 14.20.0 - Plugin names are once again automatically determined by analyzing the return value of the plugin function. Though this is implemented in a backwards-compatible way, there is a \[small caveat]\[15]. ##### β¨ Features - Add support for testing presets (\[[`73b90b3`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/73b90b3)]\[16]) - Implement default filepath inference using Error stack trace (\[[`9d1b321`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/9d1b321)]\[17]) - **src:** add `exec`/`execFixture` support via Node's VM module (\[[`4754f42`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/4754f42)]\[18]) - **src:** add support for "only", "skip", and "title" test options in fixtures (\[[#90](https://redirect.github.com/babel-utils/babel-plugin-tester/issues/90)]\[19]) (\[[`89b58b5`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/89b58b5)]\[20]) - **src:** add support for arbitrary run order of plugin under test (\[[#91](https://redirect.github.com/babel-utils/babel-plugin-tester/issues/91)]\[21]) (\[[`8c8b858`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/8c8b858)]\[22]) - **src:** add support for loading prettier configuration files in fixtures (\[[`f54deda`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/f54deda)]\[23]) - **src:** add TEST_SKIP/TEST_NUM_SKIP/TEST_ONLY/TEST_NUM_ONLY env variable support (\[[`13626d1`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/13626d1)]\[24]) - **src:** bring back (lightweight) plugin name inference (\[[#92](https://redirect.github.com/babel-utils/babel-plugin-tester/issues/92)]\[25]) (\[[`f9ad903`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/f9ad903)]\[26]) - **src:** implement `titleNumbering` and `restartTitleNumbering` options (\[[`09e792d`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/09e792d)]\[27]) - **src:** implement standard `setup`/`teardown` run order (\[[`4ea283f`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/4ea283f)]\[28]) - **src:** provide debug output support via debug package (\[[`4c7c6e7`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/4c7c6e7)]\[29]) - Windows support (\[[`f214995`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/f214995)]\[30]) ##### πͺ Fixes - **src:** ensure test function errors are not swallowed by teardown function errors (\[[`2acfe37`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/2acfe37)]\[31]) - **src:** fix fixtureOutputExt being ignored in root options.json (\[[#89](https://redirect.github.com/babel-utils/babel-plugin-tester/issues/89)]\[32]) (\[[`481be19`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/481be19)]\[33]) - **src:** fix plugin run order for fixtures to match tests (\[[#88](https://redirect.github.com/babel-utils/babel-plugin-tester/issues/88)]\[34]) (\[[`fbb6c19`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/fbb6c19)]\[35]) ##### βοΈ Build System - **deps:** bump prettier from 2.8.0 to 2.8.1 (\[[#98](https://redirect.github.com/babel-utils/babel-plugin-tester/issues/98)]\[36]) (\[[`0bdb351`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/0bdb351)]\[37]) - **package:** restore [@babel/core](https://redirect.github.com/babel/core)[@7](https://redirect.github.com/7).11.6 as minimum supported version (\[[`00712c0`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/00712c0)]\[38]) - Transmute codebase to TypeScript (\[[#96](https://redirect.github.com/babel-utils/babel-plugin-tester/issues/96)]\[39]) (\[[`5f588e9`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/5f588e9)]\[40]) - Update tooling (\[[`d5b4d9c`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/d5b4d9c)]\[41]) ##### π₯ Reverted - *"test: make debugging names shorter and sweeter"* (\[[`0b869bb`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/0b869bb)]\[42]) ##### π§πΏ Refactored - Lodash.mergeWith customizer now allows unsetting options by setting them to `undefined` (\[[`74af680`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/74af680)]\[43]) - Reorganize source into unified extensible tester pipeline w/ first-class fixtures support (\[[`0c44392`](https://redirect.github.com/babel-utils/babel-plugin-tester/commit/0c44392)]\[44])Configuration
π Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
π¦ Automerge: Disabled by config. Please merge this manually once you are satisfied.
β» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
π Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.