diff options
author | Marvin Hagemeister <marvin@deno.com> | 2024-04-22 17:07:36 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-22 17:07:36 +0200 |
commit | 9686a8803e311d532c37fe919e0684feca91a04f (patch) | |
tree | d892d1b76fb6c53fd0882869126cb0fc8a620392 /tests | |
parent | aac7a8cb7cc675e3cb2ca1ddb39629a8fa59113b (diff) |
feat: add jsx precompile skip element option (#23457)
<!--
Before submitting a PR, please read
https://docs.deno.com/runtime/manual/references/contributing
1. Give the PR a descriptive title.
Examples of good title:
- fix(std/http): Fix race condition in server
- docs(console): Update docstrings
- feat(doc): Handle nested reexports
Examples of bad title:
- fix #7123
- update docs
- fix bugs
2. Ensure there is a related issue and it is referenced in the PR text.
3. Ensure there are tests that cover the changes.
4. Ensure `cargo test` passes.
5. Ensure `./tools/format.js` passes without changing files.
6. Ensure `./tools/lint.js` passes.
7. Open as a draft PR if your work is still in progress. The CI won't
run
all steps, but you can add '[ci]' to a commit message to force it to.
8. If you would like to run the benchmarks on the CI, add the 'ci-bench'
label.
-->
This PR wires up a new `jsxPrecompileSkipElements` option in
`compilerOptions` that can be used to exempt a list of elements from
being precompiled with the `precompile` JSX transform.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/integration/run_tests.rs | 6 | ||||
-rw-r--r-- | tests/testdata/jsx/deno-jsx-precompile-skip.jsonc | 7 | ||||
-rw-r--r-- | tests/testdata/run/jsx_precompile/skip.out | 3 | ||||
-rw-r--r-- | tests/testdata/run/jsx_precompile/skip.tsx | 9 |
4 files changed, 25 insertions, 0 deletions
diff --git a/tests/integration/run_tests.rs b/tests/integration/run_tests.rs index dfbebeaf1..c298e4f5b 100644 --- a/tests/integration/run_tests.rs +++ b/tests/integration/run_tests.rs @@ -2098,6 +2098,12 @@ itest!(jsx_import_source_precompile_import_map { http_server: true, }); +itest!(jsx_import_source_precompile_import_map_skip_element { + args: "run --reload --check --import-map jsx/import-map.json --no-lock --config jsx/deno-jsx-precompile-skip.jsonc run/jsx_precompile/skip.tsx", + output: "run/jsx_precompile/skip.out", + http_server: true, +}); + itest!(jsx_import_source_import_map { args: "run --reload --import-map jsx/import-map.json --no-lock --config jsx/deno-jsx-import-map.jsonc run/jsx_import_source_no_pragma.tsx", output: "run/jsx_import_source_import_map.out", diff --git a/tests/testdata/jsx/deno-jsx-precompile-skip.jsonc b/tests/testdata/jsx/deno-jsx-precompile-skip.jsonc new file mode 100644 index 000000000..3c9e4fa1f --- /dev/null +++ b/tests/testdata/jsx/deno-jsx-precompile-skip.jsonc @@ -0,0 +1,7 @@ +{ + "compilerOptions": { + "jsx": "precompile", + "jsxImportSource": "jsx-precompile", + "jsxPrecompileSkipElements": ["a", "img"] + } +} diff --git a/tests/testdata/run/jsx_precompile/skip.out b/tests/testdata/run/jsx_precompile/skip.out new file mode 100644 index 000000000..a32b616f0 --- /dev/null +++ b/tests/testdata/run/jsx_precompile/skip.out @@ -0,0 +1,3 @@ +Download http://localhost:4545/jsx/jsx-precompile/index.ts +Check file:///[WILDCARD]/run/jsx_precompile/skip.tsx +imported http://localhost:4545/jsx/jsx-precompile/index.ts diff --git a/tests/testdata/run/jsx_precompile/skip.tsx b/tests/testdata/run/jsx_precompile/skip.tsx new file mode 100644 index 000000000..49bc4e2b7 --- /dev/null +++ b/tests/testdata/run/jsx_precompile/skip.tsx @@ -0,0 +1,9 @@ +export function A() { + return ( + <div> + <a href="#">foo</a> + <p>hello</p> + <img src="#" alt="" /> + </div> + ); +} |