Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
ava-ts
Advanced tools
Readme
Native TypeScript support for sindresorhus' awesome AVA test runner out of the box, without a prior build step.
🚀 Zero-configuration setup
⏩ Parallel test execution
🖼 Snapshot testing
📈 All your favorite reporters
This is a fork of the official AVA repository with a couple of minimally invasive changes. Uses ts-node/register
instead of Babel. Not the cleanest solution, but it works well.
npm install --save-dev ava-ts ava ts-node
# Using yarn:
yarn add --dev ava-ts ava ts-node
Write your tests in TypeScript as you would usually do and import from ava
, not from ava-ts
, just as you would always do.
// test.ts
import test from 'ava'
test('one plus two equals three', t => {
t.is(1 + 2, 3)
})
Instead of running ava
, just run the ava-ts
CLI tool instead. That's it!
It will use all the same options and defaults you know from AVA, but searches for *.ts
files instead of *.js
.
$ ava-ts --help
Fork of the AVA test runner with native typescript support 🚀
Usage
ava-ts [<file|directory|glob> ...]
Options
--init Add AVA to your project
--fail-fast Stop after first test failure
--serial, -s Run tests serially
--tap, -t Generate TAP output
--verbose, -v Enable verbose output
--color Force color output
--no-color Disable color output
--match, -m Only run tests with matching title (Can be repeated)
--watch, -w Re-run tests when tests and source files change
--timeout, -T Set global timeout
--concurrency, -c Max number of test files running at the same time (Default: CPU cores)
--update-snapshots, -u Update snapshots
Examples
ava-ts
ava-ts test.ts test2.ts
ava-ts test-*.ts
ava-ts test
ava-ts --init
ava-ts --init foo.ts
Default patterns when no arguments:
test.ts test.tsx test-*.ts test-*.tsx test/**/*.ts test/**/*.tsx **/__tests__/**/*.ts **/__tests__/**/*.tsx **/*.test.ts **/*.test.tsx
See AVA's official docs for detailed information.
test.before()
registers a hook to be run before the first test in your test file. Similarly test.after()
registers a hook to be run after the last test. Use test.after.always()
to register a hook that will always run once your tests and other hooks complete. .always()
hooks run regardless of whether there were earlier failures or if all tests were skipped, so they are ideal for cleanup tasks. There are two exceptions to this however. If you use --fail-fast
AVA will stop testing as soon as a failure occurs, and it won't run any hooks including the .always()
hooks. Uncaught exceptions will crash your tests, possibly preventing .always()
hooks from running.
If a test is skipped with the .skip
modifier, the respective .beforeEach()
and .afterEach()
hooks are not run. Likewise, if all tests in a test file are skipped .before()
and .after()
hooks for the file are not run. Hooks modified with .always()
will always run, even if all tests are skipped.
There are a few limitations compared to the original ava
CLI.
Especially when working with bundlers like webpack you will encounter this issue. Fortunately, there is a simple fix to make TypeScript emit node-style modules when running AVA-TS:
TS_NODE_COMPILER_OPTIONS='{"module":"commonjs"}' ava-ts
If you feel this use case needs to be improved, complain in #5 😉
MIT. The fork as well as the original. AVA is a project of always awesome Sindre Sorhus.
FAQs
Fork of the AVA test runner with native typescript support 🚀
The npm package ava-ts receives a total of 866 weekly downloads. As such, ava-ts popularity was classified as not popular.
We found that ava-ts demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.