Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

deprecate is not available from `@ember/debug` pre 4.0.0

Abierto
#441 21 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
babel, javascript

Línea de trabajo

Comienza con el repositorio de reproducción enlazado y ejecuta ember test para confirmar el comportamiento informado. Sigue la importación de @ember/debug a través de babel-plugin-ember-modules-api-polyfill y de la suite de pruebas o escenarios de ember-cli-babel; se considera terminado cuando una aplicación anterior a la 4.0 puede importar deprecate sin bloqueos ni errores de compilación por exportación ausente.

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

Descripción

I was originally going to report this on the embroider repo, as I had thought it was a v2-addon issue.
But it is not!

reproduction is super easy:

// app/app.js
import { deprecate } from '@ember/debug';

console.log(deprecate);

Repro repo: https://github.com/NullVoxPopuli/repo-repro-ember-cli-babel-441
just run ember test


This was discovered while trying to add deprecate usage to a v2-addon
over in this PR

In the scenarios test suite, it seems that any interaction from a v2
addon with deprecate from @ember/debug causes the test suite to hang.

In a real app / addon ( < ember-source @ v4), a different behavior occurs (and what I was
trying to re-create in this change):

ERROR in ../../ember-resources/dist/deprecated-in-v4/use.js
Module build failed (from ../../node_modules/.pnpm/[email protected]_9351ded4f79a023849d74b5df047d562/node_modules/babel-loader/lib/index.js):
SyntaxError: /✂️/ember-resources/ember-resources/dist/deprecated-in-v4/use.js: @ember/debug does not have a deprecate export
  1 | import { getValue } from '@glimmer/tracking/primitives/cache';
> 2 | import { deprecate, assert } from '@ember/debug';
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  3 | import { invokeHelper } from '@ember/helper';
  4 | import { normalizeThunk } from './utils.js';
  5 |
    at File.buildCodeFrameError (/✂️/ember-resources/node_modules/.pnpm/@[email protected][email protected]/node_modules/@babel/core/lib/transformation/file/file.js:249:12)
    at NodePath.buildCodeFrameError (/✂️/ember-resources/node_modules/.pnpm/@[email protected][email protected]/node_modules/@babel/traverse/lib/path/index.js:143:21)
    at /✂️/ember-resources/node_modules/.pnpm/[email protected]/node_modules/babel-plugin-ember-modules-api-polyfill/src/index.js:228:20
    at Array.forEach (<anonymous>)
    at processImportDeclaration (/✂️/ember-resources/node_modules/.pnpm/[email protected]/node_modules/babel-plugin-ember-modules-api-polyfill/src/index.js:188:16)
    at PluginPass.ImportDeclaration (/✂️/ember-resources/node_modules/.pnpm/[email protected]/node_modules/babel-plugin-ember-modules-api-polyfill/src/index.js:321:9)
    at newFn (/✂️/ember-resources/node_modules/.pnpm/@[email protected][email protected]/node_modules/@babel/traverse/lib/visitors.js:177:21)
    at NodePath._call (/✂️/ember-resources/node_modules/.pnpm/@[email protected][email protected]/node_modules/@babel/traverse/lib/path/context.js:53:20)
    at NodePath.call (/✂️/ember-resources/node_modules/.pnpm/@[email protected][email protected]/node_modules/@babel/traverse/lib/path/context.js:40:17)
    at NodePath.visit (/✂️/ember-resources/node_modules/.pnpm/@[email protected][email protected]/node_modules/@babel/traverse/lib/path/context.js:100:31)
 @ ../../ember-resources/dist/index.js 1:263-306 1:263-306
 @ ../../../../../../../tmp/broccoli-2446401zQEKH5Rl0yks/cache-323-webpack_bundler_ember_auto_import_webpack/tests.js 15:49-75}

According to the docs for @ember/debug,
deprecate exists, so the above code should work (I don't yet know why -- first step is a failing
test reproduction, but ran in to the test suite hanging issue.)

For [email protected]+, the above issue is not present -- and judging by
how (I happen to know that) pre 3.27, all ember apis were on the Ember
global and that embroider has no compat-adapter for @ember/debug,
my hunch is that this is actually ember-cli-bable related -- but I
wanted to open a test here, since embroider has a much better
"e2e"-style test suite than ember-cli-babel does.

Also, the stack trace shows babel-plugin-ember-modules-api-polyfill,
which is managed by ember-cli-babel.

however in writing this commit message / PR description_, I've found
that this behavior exists on a vanilla 3.25 app (new as of now).
So since the reproduction is not at all embroider or v2 addon related,
I'm going to post on ember-cli-babel

Lenguaje dominante
JavaScript
Estrellas
151
Forks
115
Métricas de merge de PR
Sin PR fusionados en 30 d

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

  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 emberjs/ember-cli-babel

Todos los issues de emberjs/ember-cli-babel

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.