Commit Graph

5810 Commits

Author SHA1 Message Date
David Sherret
d98a28290b
fix(es/codegen): Emit implements clause with commas (#8477) 2024-01-03 06:56:46 +00:00
SWC Bot
cddb0165bb chore: Publish crates 2024-01-03 05:41:28 +00:00
David Sherret
2076ef8f35
fix(es/codegen): Emit declare keyword for class properties (#8478) 2024-01-03 14:40:01 +09:00
SWC Bot
a4e91af934 chore: Publish crates 2024-01-03 04:45:13 +00:00
David Sherret
a12eaae0e5
fix(es/codegen): Emit abstract keyword (#8479) 2024-01-03 04:43:45 +00:00
강동윤 (Donny)
f9bbd11911 chore: Publish crates 2024-01-02 15:44:51 +09:00
SWC Bot
8883fd4ffb chore: Publish crates 2024-01-02 06:01:48 +00:00
Austaras
b676e75cdd
test(es/minifier): Enable script mode for terser_exec and mangle (#8474) 2024-01-02 06:00:26 +00:00
SWC Bot
0ba043bd5f chore: Publish crates 2024-01-02 04:35:05 +00:00
Austaras
1120336f23
test(es/minifier): Enable non esm mode for tests (#8472) 2024-01-02 04:33:39 +00:00
SWC Bot
327bba294b chore: Publish crates 2024-01-02 02:38:22 +00:00
SWC Bot
98920ca78d chore: Publish crates 2024-01-02 02:10:29 +00:00
Austaras
4416077f4a
fix(es/compat): Set inserted var inside export class in destructing (#8470) 2024-01-02 02:09:13 +00:00
강동윤 (Donny)
7d4061bef4 chore: Publish crates 2023-12-31 20:57:43 +09:00
SWC Bot
e3f25c2011 chore: Publish crates 2023-12-29 12:26:47 +00:00
Luke Page
d681785b42
fix(es/minifier): Add WeakRef as a safe global reference (#8458)
**Description:**

I was trying to remove references to Weak Ref from minified code and
despite the expression not being used, it was still included.

E.g.
```
var x = WeakRef;
```
with

```
{
   "minify": true,
  "jsc": {
      "minify": {
            "compress": {
                "pure_getters": true,
                "unused": true
            },
            "mangle": true
        }
    }
}
```
outputs

```
WeakRef;
```

but when I use something on this list e.g. parseFloat, it gets cleaned
up and outputs empty string.

btw - I tried different options for pure_getters that I assumed would
allow me to say WeakRef as a getter was pure, but it had no effect.

WeakRef getter is as safe to remove as the other items on this list and
has no effect in accessing it.
2023-12-29 12:25:23 +00:00
SWC Bot
4229e7b99b chore: Publish crates 2023-12-29 08:49:51 +00:00
Ian Tan
0b188ccdff
fix(es/parser): Disallowing await as an identifier in class static block (#8450) 2023-12-29 08:48:24 +00:00
SWC Bot
3492e6f13e chore: Publish crates 2023-12-28 23:58:04 +00:00
Austaras
1e44e57a09
fix(es/renamer): Correctly check top level (#8456)
**Related issue:**

 - Closes #8451.
 - Closes #8185.
2023-12-28 23:56:38 +00:00
SWC Bot
d6dd1f9240 chore: Publish crates 2023-12-24 01:32:20 +00:00
David Sherret
0dd96f85e2
fix(es/codegen): Emit override keyword (#8449)
**Description:**

Emits the `override` keyword.
2023-12-24 10:30:46 +09:00
SWC Bot
a611932dd5 chore: Publish crates 2023-12-23 06:46:40 +00:00
Austaras
e68720a76c
fix(es): Apply paren_remover for minify (#8442)
**Related issue:**

 - Closes #8437
2023-12-23 06:45:21 +00:00
SWC Bot
4564a01927 chore: Publish crates 2023-12-23 03:41:17 +00:00
Donny/강동윤
d89b60a000
fix(css/parser): Fix parsing of hsla(var(--foo), 1) (#8443)
**Description:**

```css
.test {
    border-color: hsla(var(--ds-gray-200-value), 1);
}
```

should be compiled as

```css

.test {
    border-color: hsla(var(--ds-gray-200-value), 1);
}
```

Previously, it was

```
.test {
    border-color: hsla(var(--ds-gray-200-value),);
}

```


**Related issue:**

 - https://linear.app/vercel/issue/PACK-2175
2023-12-23 12:39:54 +09:00
SWC Bot
611d7175d4 chore: Publish crates 2023-12-22 03:27:18 +00:00
David Sherret
65dec905c0
fix(es/codegen): Fix codegen of type-only export declarations (#8447)
**Description:**

This fixes the emit for `export type { } from "..."` and `export { type A } from "..."`.
2023-12-22 12:25:52 +09:00
SWC Bot
37bb0e3bde chore: Publish crates 2023-12-21 09:19:08 +00:00
Austaras
a06d5b2341
fix(es/compat): Use correct span.lo in class transforms (#8439)
**Related issue:**

 - Closes #8435
2023-12-21 18:17:43 +09:00
강동윤 (Donny)
4983b1cef2 chore: Publish crates 2023-12-18 13:45:35 +09:00
SWC Bot
d6cd2146fa chore: Publish crates 2023-12-17 08:43:12 +00:00
Austaras
56992e3dcc
fix(es/compat): Preserve comment for arrow body (#8427)
**Related issue:**

 - Closes #8419
2023-12-17 08:41:51 +00:00
SWC Bot
45f62f7886 chore: Publish crates 2023-12-17 06:48:43 +00:00
David Sherret
7566ddf0b7
fix(es/codegen): Fix codegen of ts specific syntax in class props (#8426)
**Description:**

This fixes the codegen of private properties with `is_optional` or `definite` and class properties with `definite`.
2023-12-17 06:47:20 +00:00
SWC Bot
4bd15908c1 chore: Publish crates 2023-12-17 02:22:24 +00:00
SWC Bot
e21c0eaf5a chore: Publish crates 2023-12-13 10:43:38 +00:00
SWC Bot
dd9ed9c565 chore: Publish crates 2023-12-12 06:14:41 +00:00
Donny/강동윤
61c304fa9e
refactor(es/utils): Use exact type for factory methods (#8417)
**Description:**

This PR is extracted from #8333 because it's too large. 


**Breaking Changes**:

  - `ExprFactory::make_member()` now returns `MemberExpr` instead of `Box<Expr>`.
  - `member_expr!()` now returns `MemberExpr` instead of `Box<Expr>`.
2023-12-12 15:13:10 +09:00
SWC Bot
f736c3c2df chore: Publish crates 2023-12-12 05:55:01 +00:00
Austaras
dce369336d
fix(es/codegen): Emit extra paren emitting AssignExpr (#8413)
**Related issue:**

 - Closes #8412
2023-12-12 05:53:32 +00:00
SWC Bot
f202a2839f chore: Publish crates 2023-12-12 04:39:47 +00:00
Donny/강동윤
daf6265af4
feat(es/ast): Add as_import_with to ObjectLit to provide easier API (#8405) 2023-12-12 13:38:21 +09:00
SWC Bot
eb41cfcaf9 chore: Publish crates 2023-12-11 04:46:28 +00:00
SWC Bot
602584dd62 chore: Publish crates 2023-12-11 03:07:28 +00:00
magic-akari
a69f172aac
fix(es/fixer): Preserve parenthesis for optional chaining (#8399)
**Related issue:**
 - Closes #8398
2023-12-11 03:05:58 +00:00
SWC Bot
2aebd5fa2f chore: Publish crates 2023-12-08 14:01:33 +00:00
layton
f8ce31627b
fix(es/resolver): Handle TsInterfaceDecl and UsingDecl correctly (#8403)
**Related issue**:
 - Closes #7967
2023-12-08 14:00:00 +00:00
SWC Bot
595f13c019 chore: Publish crates 2023-12-08 07:18:16 +00:00
Donny/강동윤
835151e04d
build(macros): Drop pmutil to improve compile time (#8404)
**Description:**

`pmutil` born to die. Now almost all useful features are merged into `syn` and `quote`, so it's now just a compile-time bloat. (Although I didn't send PRs to them, sorry)
2023-12-08 16:15:44 +09:00
SWC Bot
dbeb869463 chore: Publish crates 2023-12-08 06:00:21 +00:00
magic-akari
29bec98647
fix(es/compat): Preserve spread in the generator pass (#8401)
**Related issue:**
 - Closes #8397
2023-12-08 05:58:53 +00:00
SWC Bot
0bde652b5c chore: Publish crates 2023-12-08 01:58:57 +00:00
Donny/강동윤
6a73d47aa1
perf(common): Fix OOM of inputSourceMap (#8402)
**Description:**

The previous code was very strange, and it could easily cause OOM.
2023-12-08 10:57:27 +09:00
SWC Bot
35fb6528f5 chore: Publish crates 2023-12-07 20:20:49 +00:00
magic-akari
19d1d013b2
refactor(css/lints): Support stable rust (#8384)
**Related issue:**
 - #8316
2023-12-08 05:19:22 +09:00
SWC Bot
11681e1892 chore: Publish crates 2023-12-07 19:45:03 +00:00
magic-akari
f93f2b8334
refactor(css/prefixer): Support stable rust (#8385)
**Related issue:**
 - #8316
2023-12-07 17:37:26 +00:00
SWC Bot
b9f3a0805d chore: Publish crates 2023-12-07 16:58:50 +00:00
magic-akari
bc1e32829d
refactor(css/compat): Support stable rust (#8386)
**Related issue:**
 - #8316
2023-12-07 16:57:26 +00:00
SWC Bot
6ef6cf6f35 chore: Publish crates 2023-12-07 16:22:39 +00:00
Ronak Jain
e09f4b6c60
Use sha2 in place of sha-1 (#8383)
**Descrption:**

`sha-1` crate has been deprecated and the algorithm itself is not considered secure or collision-proof. Moving to `sha2` solves this.

**Related issue:**

 - Closes #8382
2023-12-07 16:21:01 +00:00
SWC Bot
78d36e61f9 chore: Publish crates 2023-12-07 00:38:09 +00:00
magic-akari
305e72e672
refactor(css/minifier): Support stable rust (#8389)
**Related issue:**
 - #8316
2023-12-07 00:36:41 +00:00
SWC Bot
a6355c11a8 chore: Publish crates 2023-12-04 20:55:43 +00:00
magic-akari
7cddbc618a
refactor(css/codegen): Support stable rust (#8379)
**Related issue:**
- #8316
2023-12-04 20:54:14 +00:00
SWC Bot
7bf3aaa316 chore: Publish crates 2023-12-04 20:16:21 +00:00
magic-akari
77145ce47a
refactor(html/minifier): Support stable rust (#8380)
**Related issue:**
- #8316
2023-12-04 20:14:44 +00:00
SWC Bot
9b7a22c126 chore: Publish crates 2023-12-04 19:34:28 +00:00
magic-akari
0ff4157375
refactor(css/modules): Support stable rust (#8381)
**Related issue:**
- #8316
2023-12-04 19:32:54 +00:00
SWC Bot
c5ac93a9df chore: Publish crates 2023-12-04 18:52:58 +00:00
magic-akari
4870e8b47e
refactor(css/parser): Support stable rust (#8378)
**Related issue:**
- #8316
2023-12-04 18:51:26 +00:00
SWC Bot
7327f257d2 chore: Publish crates 2023-12-04 09:00:34 +00:00
SWC Bot
c6e64148b0 chore: Publish crates 2023-12-03 01:14:41 +00:00
Redfire
91e0fc7250
chore(deps): Update indexmap to v2 (#8370)
**Description:**

Updates `indexmap` to `v2`, reducing dependency duplication. Unfortunately there are still many dependencies that require `v1`, including `rkyv` and `cranelift-egraph` that have no published versions using indexmap `v2`.
2023-12-03 01:12:30 +00:00
SWC Bot
c73abc8319 chore: Publish crates 2023-12-03 00:44:55 +00:00
magic-akari
83c8fe56f0
fix(es/lints): Ignore ambient context binding (#8368)
**Related issue:**
- Closes #8367
2023-12-03 00:43:00 +00:00
SWC Bot
9a41fac89f chore: Publish crates 2023-12-02 23:25:06 +00:00
magic-akari
630f9d342f
fix(es/compat): Fix destructuring of export class/function (#8371)
**Related issue:**
 - Closes #8366
2023-12-02 23:23:06 +00:00
SWC Bot
c77f987b9b chore: Publish crates 2023-12-02 11:43:08 +00:00
Redfire
c2d1a6c9fe
chore(deps): Update base64 to v0.21 (#8369) 2023-12-02 11:40:56 +00:00
SWC Bot
98c47df37a chore: Publish crates 2023-12-01 20:08:13 +00:00
David Sherret
1e8edb4769
chore(atoms): Evaluate .into() in AtomStoreCell eagerly (#8363)
**Related issue:** 

 - Closes #8362
2023-12-02 05:06:12 +09:00
강동윤 (Donny)
d19de29937 chore: Publish crates 2023-11-30 14:16:00 +09:00
SWC Bot
0845693536 chore: Publish crates 2023-11-29 14:11:49 +00:00
bohan
2cdea3fbea
fix(es/codegen): Wrap quote for length greater than one (#8351) 2023-11-29 14:09:44 +00:00
SWC Bot
655e95a24d chore: Publish crates 2023-11-29 13:41:46 +00:00
magic-akari
ff719f0cdd
fix(es/fixer): Wrap yield expression in await expression (#8357)
**Related issue:**

 - Closes #8356
2023-11-29 13:39:46 +00:00
SWC Bot
1853280f4f chore: Publish crates 2023-11-29 02:43:33 +00:00
Donny/강동윤
55da0bb9dd
chore(css/linter): Document rules require porting (#8352) 2023-11-29 11:40:33 +09:00
SWC Bot
ddddd20559 chore: Publish crates 2023-11-27 01:56:46 +00:00
Donny/강동윤
1891afa2ad
fix(es/codegen): Fix panic due to \\ud (#8346)
**Related issue:**

 - Closes #8345
2023-11-27 01:54:45 +00:00
SWC Bot
e158c0e5a0 chore: Publish crates 2023-11-26 11:37:59 +00:00
Han Seung Min - 한승민
a423681df8
fix(es/parser): Fix conditional compilation (#8343)
**Description:**

`swc_ecma_parser` crate has a `typescript` feature which enables TS parsing, the `Syntax::Typescript` variant is behind the `typescript` feature, compiling without this feature fails as `Syntax::Typescript` is referenced at many places without `#[cfg(feature = "typescript")]`
2023-11-26 11:36:05 +00:00
SWC Bot
7e8b6c0f04 chore: Publish crates 2023-11-26 00:50:50 +00:00
Bin Xin
58568fa23b
fix(es/react): Make jsx with single spread child static (#8339)
**Description:**

Example:
```js
<h1>{...a}</h1>
```
Before:
```js
_jsx("h1", {
    children: [
        ...a
    ]
})
```
After:
```js
_jsxs("h1", {
    children: [
        ...a
    ]
})
```

Following the implementation in [Typescript](d4fbc9b57d/src/compiler/transformers/jsx.ts (L340)), jsx with a single spread child should also be considered as static jsx.

Live examples:
[Typescript](https://www.typescriptlang.org/play?target=99&jsx=4#code/MYewdgzgLgBAhjAvDAPACwIwD4DeA6AgbQwCYBmAXQF8UB6TLAKCA)
[Esbuild](https://esbuild.github.io/try/#dAAwLjE5LjcAewogIGxvYWRlcjogJ2pzeCcsCiAganN4OiAnYXV0b21hdGljJywKfQA8ZGl2PnsuLi5bXX08L2Rpdj4)
[SWC](https://play.swc.rs/?version=1.3.100-nightly-20231124.1&code=H4sIAAAAAAAAA0vOzysuUUhUsFWwSckss6vW09OLjq210QdxAHOBudocAAAA&config=H4sIAAAAAAAAA1WOMQrDMAxF95zCaO5QPPY2wijFIbaDJENL8N0rO2lJN%2F33kPT3yTlYJMDD7TZa2JCF%2BJeNyDsrvowAhYQSOG4Kt69dpCvlSoO0Q8BaipCJGVehkyljlrlwul5nwqAX0FHNGlPfBqxaEmoMcOr290WRn6Sjmvi796NWm9oHTYlQ69cAAAA%3D)
2023-11-26 00:48:51 +00:00
SWC Bot
ae6c30b221 chore: Publish crates 2023-11-25 02:45:12 +00:00
Austaras
ed5a9b3f2e
fix(es/minifier): Give up terminate merge if in try with finally (#8342)
**Related issue:**

 - Closes #8337.
 - Closes #8324.
 - Reverts #8328.
2023-11-25 02:43:18 +00:00
SWC Bot
727ce04f89 chore: Publish crates 2023-11-23 11:22:29 +00:00
Redfire
13156157eb
build(cargo): Update vergen to v8 (#8325)
**Description:**

Updates `vergen` build dependency in `swc_core` to v8. This reduces the amount of dependency duplication. In my case in particular, it allows me to remove `syn` v1 from my [repository](https://github.com/redfire75369/spiderfire).
2023-11-23 11:20:12 +00:00
SWC Bot
5d94418518 chore: Publish crates 2023-11-23 01:53:53 +00:00
Austaras
3dd73a3cd8
fix(es/renamer): Allow globalThis to be shadowed (#8327)
**Related issue:**

 - Closes #8317
2023-11-23 01:52:01 +00:00
SWC Bot
5ce4b368db chore: Publish crates 2023-11-23 00:57:05 +00:00
Donny/강동윤
01e2c7fc5a
fix(es/minifier): Fix if_return bug related to await and yield (#8328)
**Related issue:**

 - Closes #8324
2023-11-23 00:54:57 +00:00
SWC Bot
14cd8dda29 chore: Publish crates 2023-11-22 23:25:21 +00:00
magic-akari
8af6ffb1dd
fix(es/parser): Wrap with OptChain across TsNonNull (#8332)
**Related issue:**

- Closes #8326.
2023-11-23 08:23:30 +09:00
SWC Bot
185289775f chore: Publish crates 2023-11-22 06:22:12 +00:00
Zak
91ef7c9415
fix(es/decorators): Resolve enum for design:returntype (#8320) 2023-11-22 06:20:11 +00:00
SWC Bot
97d57f0e4f chore: Publish crates 2023-11-21 09:21:47 +00:00
David Sherret
c25601dec2
fix(es/typescript): Handle shebang with jsx pragma (#8318)
**Description:**

This handles a shebang with a jsx prag. Previously `h` would be removed as an import in this case.

**Related issue:**

https://github.com/denoland/deno/issues/21258
2023-11-21 09:19:40 +00:00
강동윤 (Donny)
23fdaf13f8 chore: Publish crates 2023-11-21 10:23:28 +09:00
SWC Bot
7cec0ac1a0 chore: Publish crates 2023-11-20 22:51:17 +00:00
Zzzen
51042e090d
fix(es/parsing): Fix parsing of type satisfies = 0; (#8305)
**Related issue:**

 - Closes #8121
2023-11-20 22:49:15 +00:00
SWC Bot
a8bd170634 chore: Publish crates 2023-11-20 22:19:11 +00:00
Donny/강동윤
7dfdc12218
fix(es/module): Read link if an import is resolved as symlink (#8297)
**Related issue:**

 - Closes #8265
2023-11-21 07:17:05 +09:00
SWC Bot
38c489c26c chore: Publish crates 2023-11-20 21:59:52 +00:00
magic-akari
feb8a6dad9
fix(es/parser): Report error for exported reserved name (#8313)
**Related issue:**

- Closes #8268.
2023-11-20 21:57:51 +00:00
SWC Bot
0744dbddc5 chore: Publish crates 2023-11-20 19:57:49 +00:00
강동윤 (Donny)
e9fa6e90c8 chore: Publish crates 2023-11-21 02:28:23 +09:00
SWC Bot
5fa2ed4bfd chore: Publish crates 2023-11-20 06:22:03 +00:00
magic-akari
00b88399a0
fix(es/parser): Fix parsing of import type from from (#8309)
**Related issue:**

- Closes #8308.
2023-11-20 06:20:06 +00:00
SWC Bot
af8c1d33f5 chore: Publish crates 2023-11-20 04:30:06 +00:00
David Sherret
2113bb3e19
fix(es/resolver): Ignore qualifiers of TsImportType (#8299) 2023-11-20 04:04:17 +00:00
SWC Bot
2cd893fb8a chore: Publish crates 2023-11-19 15:13:56 +00:00
Austaras
572ad63e08
fix(es/minifier): Apply new SyntaxContext to inlined Arrow correctly (#8312) 2023-11-20 00:11:38 +09:00
Donny/강동윤
a0048427dd
test(es/minifier): Update test refs (#8310) 2023-11-19 19:16:38 +09:00
SWC Bot
2b368f6731 chore: Publish crates 2023-11-19 06:35:42 +00:00
Zak
fab51e1843
fix(es/proposal): Improve resolving of design:returntype (#8303)
**Description:**

Emits `'design:returntype'` metadata when using `"decoratorMetadata": true`.

**Related issue:**

 - Closes #3319
2023-11-19 15:33:20 +09:00
SWC Bot
f38ad1eeef chore: Publish crates 2023-11-18 00:03:24 +00:00
Austaras
c18a959e3a
fix(es/minifier): Apply new SyntaxContext to inlined Arrow (#8301)
**Related issue:**

 - Closes #8288
2023-11-18 09:01:27 +09:00
SWC Bot
2a2b5ee5b1 chore: Publish crates 2023-11-16 08:52:11 +00:00
Donny/강동윤
07c8935904
fix(es/codegen): Fix get_ascii_only_ident (#8287)
**Related issue:**

 - Closes #8260
2023-11-16 08:50:12 +00:00
SWC Bot
9e8fe38d31 chore: Publish crates 2023-11-16 02:03:19 +00:00
David Sherret
369fb21e22
fix(es/codegen): Fix codegen of type args of an import type and a type query (#8296) 2023-11-16 02:01:15 +00:00
SWC Bot
c566b73bfb chore: Publish crates 2023-11-16 00:20:22 +00:00
Donny/강동윤
7985e02fc8
fix(es/minifier): Remove hack for built-in class names (#8293)
**Description:**

Regarding https://github.com/vercel/next.js/issues/55682, I made a mistake while investigating. I assumed it's `swcMinify`-only but it seems like `node-fetch` is fundamentally incompatible with our minification options.

I thought `node-fetch` works with terser, but it did not, and it **should not**. But as I thought `terser` works, I assumed that `terser` has a hack for `AbortSignal`. And that's how I fixed `swcMinify: true`. The correct fix is `keep_classnames: true` but it will result in +~10% bundle size bloat.
At first, I used the correct way (`keep_classnames: true`), but it resulted in the bundle size bloat, so I mimicked the hack of terser with https://github.com/vercel/next.js/pull/57904.

While working on other minification issues, I found that there's no such hack in `terser` and I need to remove the hack in the SWC minifier.
The repro in https://github.com/vercel/next.js/issues/55682 does not work with `swcMinify: false`, even with next@14. The problem of minifier and node-fetch was not exploited before `serverMinification: true`.


**Related issue:**

 - https://github.com/brix/crypto-js/issues/415
2023-11-16 09:17:42 +09:00
SWC Bot
666c843e7e chore: Publish crates 2023-11-15 23:38:46 +00:00
David Sherret
25ac679bd3
build(es): Remove duplicate phf dependency (#8294) 2023-11-15 23:36:38 +00:00
SWC Bot
c03f84e54e chore: Publish crates 2023-11-15 22:45:18 +00:00
David Sherret
66a4d37031
build(common): Remove dependency on string-cache (#8291) 2023-11-15 22:43:22 +00:00
SWC Bot
99617848ef chore: Publish crates 2023-11-15 22:04:42 +00:00
Zak
7d1836de3f
perf(es/minifier): Improve format.inline_script (#8292) 2023-11-15 22:02:29 +00:00
SWC Bot
36fdb179e4 chore: Publish crates 2023-11-15 17:49:24 +00:00
David Sherret
7bbe5e67d9
refactor: Remove swc_ecma_dep_graph (#8290) 2023-11-15 17:47:16 +00:00
SWC Bot
3bbd340205 chore: Publish crates 2023-11-15 01:09:49 +00:00
Austaras
73fec945b5
fix(es/minifier): Make Finalizer inline literals (#8285)
**Related issue:**

 - Closes #8284
2023-11-15 01:07:37 +00:00
SWC Bot
f86c12b0b4 chore: Publish crates 2023-11-14 21:39:03 +00:00
bohan
f059270348
feat(es/minifier): Support format.inline_script (#8252) 2023-11-14 21:37:05 +00:00
SWC Bot
5fed604276 chore: Publish crates 2023-11-14 20:02:17 +00:00
Donny/강동윤
1ccfc0762c
fix(es/minifier): Respect pure_funcs for tagged tpls (#8280)
**Related issue:**

 - Closes #8275.
2023-11-14 19:59:15 +00:00