bug: Error Importing 3rd party JS Lib ion-js

Abierto
#4,085 6 comentarios 0 reacciones 0 asignados Ver en GitHub

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
25/100
Tipo de issue
Error
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
javascript, typescript
Área
frontend

Línea de trabajo

Comienza con la reproducción vinculada de CodeSandbox y el ejemplo de componentDidLoad; después, sigue el acceso a IonTypes informado en Blob.js:6 a través de createCommonjsModule en utils.ts. Se considera terminado cuando ion-js se pueda importar y sample ionData se pueda analizar en un proyecto inicial de Stencil sin el TypeError informado.

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

Descripción

Bug: Validated
Prerequisites
Stencil Version

3.0.0

Current Behavior

I am trying to ion-js in Stencil Component. I can get the same code to work in a React workspace but due to module it dosent seem to work in Stencil

componentWillLoad() {
    let ionData = `{ ccp_datatype_name:ResponsiblePerson, ccp_datatype_version:"1.0", definition:type::{ name: PriceSchema, major_version:1, minor_version:0, base:VariantBase, fields:[ { name:category, type:symbol, nullable:false, min_occurs:1, max_occurs:1 }, { name:address_identifier, type:string, nullable:false, min_occurs:1, max_occurs:1 } ] }, status:active, table_name:ccp_datatypes}`;
    let value = ion.load(ionData);
    console.log(value.fields())
  }

This same code works in run kit / React but not in stencil

require("jsbi/package.json"); // jsbi is a peer dependency. 
var ionJs = require("ion-js")
let ionData = `{ ccp_datatype_name:ResponsiblePerson, ccp_datatype_version:"1.0", definition:type::{ name: PriceSchema, major_version:1, minor_version:0, base:VariantBase, fields:[ { name:category, type:symbol, nullable:false, min_occurs:1, max_occurs:1 }, { name:address_identifier, type:string, nullable:false, min_occurs:1, max_occurs:1 } ] }, status:active, table_name:ccp_datatypes}`;


let value = ionJs.load(ionData);


console.log(value.fields());
Expected Behavior

It should be able to parse and use the lib

System Info
Brave / Mac
Steps to Reproduce

Just Put this code in any Stencil Starter Repo under ComponentDidLoad and you should see error in console.

TypeError: Cannot read properties of undefined (reading 'IonTypes')
    at Blob.js:6:36
    at createCommonjsModule (utils.ts:3:1)
    at Lob.js:58:1 undefined   
Code Reproduction URL

https://codesandbox.io/s/issue-in-stencil-and-ion-js-6uzg1w

Additional Information

No response

Lenguaje dominante
TypeScript
Estrellas
13.2k
Forks
865
Merge medio
2 d 16 h
PR fusionados (30 d)
29

Preparar el entorno

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.

Más de stenciljs/core

Todos los issues de stenciljs/core

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.