microsoft / microsoft/node-api-dotnet

C# AOT compilation not setting "dotnet" to undefined

Abierto Apto para principiantes
#484 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
C#
Estrellas
783
Forks
80
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Hello,

When compiling the module as AOT module then the resulting js module loaders is incorrect because:
import dotnet from 'node-api-dotnet/net10.0';
should have been:
const dotnet = undefined;

Poking around in the source code the problem is in NodeApi.targets which does:

    <Task>
      <Using Namespace="System.IO" />
      <Code Type="Fragment" Language="cs">
      <![CDATA[
        string js = File.ReadAllText(TargetFile);
        js = js.Replace("const dotnet = require('node-api-dotnet');", "const dotnet = undefined;");
        js = js.Replace("import dotnet from 'node-api-dotnet';", "const dotnet = undefined;");
        if (!IncludeRidSubpath) js = js.Replace("rid, ", "");
        File.WriteAllText(TargetFile, js);
      ]]>
      </Code>
    </Task>

but it should now replace "node-api-dotnet/netX.X" instead of just "node-api-dotnet"

Thanks!

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza en NodeApi.targets e inspecciona la tarea inline que reescribe el loader de JavaScript generado. Reproduce una compilación AOT y comprueba el loader resultante para ver la forma de importación netX.X mostrada en el issue. Se considera terminado cuando la salida AOT usa const dotnet = undefined; en lugar de importar node-api-dotnet/netX.X.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
csharp
Área
build-system
Tipo de issue
Error
Dificultad
1/5
Tiempo estimado
1-3 horas
Estado de actividad
Tranquilo
Claridad
Bien especificado
Aptitud para principiantes
88/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.