[heft] Integrate with VSCode extension for Jest
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Summary
This issue relates to the conversation in the Rush stack Zulip forum: #heft > Jest extension in VSCode
When using the heft-jest-plugin, the Jest extension to VSCode cannot start, and thus Testing panel and Test Results window are inoperable.
Running tests via the command-line works as expected -- the actual Jest tests are executed and reported as expected.
Details
Navigate to the Testing pane, and run tests. The TestResults window shows an error:
Jest encountered an unexpected token
Jest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.
Out of the box Jest supports Babel, which will be used to transform your files into valid JS based on your Babel configuration.
This is expected. The heft-jest-plugin documentation discusses the differences from ts-jest. The key point is that Jest expects to transform Typescript itself from the src folder, while heft-jest-plugin runs tests from transformed code, typically in the lib folder.
While expected, it is not the desired result.
The extension allows for changing the start command. I tried using the command npm run test (and the package.json entry is
"scripts": {
"build": "heft build --clean",
"test":"heft test-watch"
},
However, the Test results window now shows:
heft test-watch C:\Users\PAULSC~1\AppData\Local\Temp\jest_runner_heft_appconfig_plugin_paulschaeflein.json default c:\Users\PaulSchaeflein.vscode\extensions\orta.vscode-jest-6.4.4\out\reporter.js
usage: heft test-watch [-h] [-v] [--production] [--locales LOCALE] [--clean]
[--config RELATIVE_PATH] [--debug-heft-reporter]
[--detect-open-handles] [--disable-code-coverage]
[--find-related-tests SOURCE_FILE] [--log-heap-usage]
[--max-workers COUNT_OR_PERCENTAGE] [--silent]
[-t REGEXP] [--test-path-ignore-patterns REGEXP]
[--test-path-pattern REGEXP]
[--test-timeout-ms TIMEOUT] [-u] [--fix] [--serve]
heft test-watch: error: Unrecognized arguments: C:\Users\PAULSC~1\AppData\Local\Temp\jest_runner_heft_appconfig_plugin_paulschaeflein.json default c:\Users\PaulSchaeflein.vscode\extensions\orta.vscode-jest-6.4.4\out\reporter.js.
{ "error": { "code": 1, "summary": "", "detail": "" } }
The extension's start command is expected to receive a specific set of parameters that are passed to the Jest command. Those parameters are as follows:
--testLocationInResults --json --useStderr --outputFile "C:\\Users\\PAULSC~1\\AppData\\Local\\Temp\\jest_runner_heft_appconfig_plugin_paulschaeflein_2.json --no-coverage --reporters "default" --reporters "c:\\Users\\PaulSchaeflein\\.vscode\\extensions\\orta.vscode-jest-6.4.4\\out\\reporter.js --colors --watchAll=false
In the Zulip thread, @octogonz added the following (and requested this issue):
The main work item is just to expose those CLI parameters as equivalent Heft parameters, and then provide a small heft-jest script that discards irrelevant parameters and remaps any slightly renamed parameters, when invoking Heft.
The important parameters are:
--testLocationInResults,--json,--useStderr,--outputFile,--no-coverage,--reportersBut we would probably consolidate them, something like:
- Heft
--testResultsFile(equilalent to Jest--json+--useStderr+--outputFile)--testLocationInResults--no-coverage- Heft
--testReporter(equivalent to Jest--reporters, but without delusions of removing HeftJestReporter)
Standard questions
Please answer these questions to help us investigate your issue more quickly:
| Question | Answer |
|---|---|
@rushstack/heft version? |
1.1.6 |
| Operating system? | Windows |
| Would you consider contributing a PR? | No (I am not talented enough to do that.) |
Node.js version (node -v)? |
22.16.0 |
- Lingua principale
- TypeScript
- Stelle
- 6.5k
- Fork
- 708
- Merge medio
- 2g 1h
- PR unite (30g)
- 46
Preparare l'ambiente
Non abbiamo ancora controllato i file di configurazione di questo progetto. Parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di microsoft/rushstack
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
microsoft/rushstack#5971 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
microsoft/rushstack#5902 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
microsoft/rushstack#5839 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
microsoft/rushstack#5683 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di microsoft/rushstack
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
lichess-org/api#678 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
PostHog/posthog.com#20628 ·
I maintainer di solito rispondono entro 1 giorno
-
bug status:Needs Triage
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
jupyterlab/jupyterlab#19964 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
agentscope-ai/QwenPaw#8064 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
area: notebooks-jupyter bug theme: new notebook frontend
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
posit-dev/positron#16347 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno