NgModule: forwardRef(ns.X), ns.X.forRoot() and spread/const lists are not resolved (`.d.ts` gets `never`)
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
Línea de trabajo
Start by reading the ModuleLists implementation and the evaluator used for .d.ts references in #697; the issue does not name source files or tests. Trace how NgModule imports and exports are evaluated, then check that forward references, forRoot() calls, and spread or const lists resolve in declarations and JIT scopes. Done means those cases match the ngtsc behavior shown in the issue.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Found while reviewing #697. Checked against ngtsc 22.2.4. ngtsc resolves NgModule lists statically. Oxc keeps the raw text, so the .d.ts gets never. Consumers then can't see what the module exports, and JIT scopes keep the call expressions.
import * as dep from './dep';
@NgModule({ imports: [forwardRef(() => dep.DepModule), dep.DepModule.forRoot()] }) export class M {}
ngtsc Oxc
.d.ts ɵɵNgModuleDeclaration<M, never, [typeof i1.DepModule, ɵɵNgModuleDeclaration<M, never, never, never>
typeof i1.DepModule], never>
scope setNgModuleScope(M, { imports: [i1.DepModule, i1.DepModule] }) setNgModuleScope(M, { imports: [forwardRef(() => dep.DepModule), dep.DepModule.forRoot()] })
import { DepModule } from './dep';
const LIST = [DepModule];
@NgModule({ imports: [...LIST], exports: LIST }) export class M {}
ngtsc Oxc
.d.ts ɵɵNgModuleDeclaration<M, never, [typeof i1.DepModule], ɵɵNgModuleDeclaration<M, never, never, never>
[typeof i1.DepModule]>
scope setNgModuleScope(M, { imports: [DepModule], exports: [DepModule] }) setNgModuleScope(M, { imports: [...LIST], exports: LIST })
ɵinj imports: [LIST, DepModule] imports: [...LIST, LIST] (same at runtime)
To do: resolve forwardRef(() => ns.X), ns.X.forRoot() (ModuleWithProviders) and spread / const lists in ModuleLists, with the evaluator that #697's .d.ts references use.
- Lenguaje dominante
- Rust
- Estrellas
- 245
- Forks
- 26
- Merge medio
- 1 d 23 min
- PR fusionados (30 d)
- 83
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de voidzero-dev/oxc-angular-compiler
-
partial: host binding map keys are not always quoted like ngtsc (`click:` vs `"click":`)Posiblemente ocupada @Brooooooklyn la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
voidzero-dev/oxc-angular-compiler#686 ·
Los mantenedores suelen responder en 1 día
-
output: non-ASCII text not escaped like ngtsc; linker adds `changeDetection: 1` for v19 / v20.1Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 58/100
voidzero-dev/oxc-angular-compiler#707 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 45/100
voidzero-dev/oxc-angular-compiler#706 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 46/100
voidzero-dev/oxc-angular-compiler#705 ·
Los mantenedores suelen responder en 1 día
-
host bindings: empty `[]` / `()` keys accepted, and `aria-*` host bindings stay DOM propertiesAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 56/100
voidzero-dev/oxc-angular-compiler#704 ·
Los mantenedores suelen responder en 1 día
Todos los issues de voidzero-dev/oxc-angular-compiler
Issues similares
-
Panic on live viewport resize when unstyled elements exist in display: none subtreePosiblemente ocupada @GoCoder7 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
DioxusLabs/blitz#1488 ·
Los mantenedores suelen responder en 1 día
-
🏷️ good first issue enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
S-Needs triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
vectordotdev/vrl#2042 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día