Skip to content

"export 'ɵɵinject' was not found in '@angular/core' since v8.0.0-beta.12 #30413

@cyrilletuzi

Description

@cyrilletuzi

🐞 bug report

Affected Package

The issue is caused by package @angular/core

Is this a regression?

Yes, the previous version in which this bug was not present was: 8.0.0-beta.11

Description

I'm the author of @ngx-pwa/local-storage, one of the main Angular library for local storage management, and I'm preparing for Angular V8 from some weeks.

I'd like v8 version of the lib to work in Angular 8 and in Angular 7 too if possible (due to some issues that happened in v7 like cyrilletuzi/angular-async-local-storage#64).

It worked well until Angular v8.0.0-beta.11, but since Angular v8.0.0-beta.12, using the lib in an Angular 7 project results in these messages on build:

WARNING in ./node_modules/@ngx-pwa/local-storage/fesm5/ngx-pwa-local-storage.js 256:36-54
"export 'ɵɵdefineInjectable' was not found in '@angular/core'
...
WARNING in ./node_modules/@ngx-pwa/local-storage/fesm5/ngx-pwa-local-storage.js 865:168-176
"export 'ɵɵinject' was not found in '@angular/core'

In the browser's console, the same errors appear and the app is completely broken due to this error:

Uncaught TypeError: Object(...) is not a function

🔬 Minimal Reproduction

git clone https://github.com/cyrilletuzi/ng8injectissue.git
cd ng8injectissue
npm start

It's just an empty Angular 7 project generated with ng new, then npm install the lib and just inject the service of the lib inside AppComponent constructor.

The lib is generated with all official tools (last Angular CLI and ng-packagr), you can see the v8 code here.

Anything else relevant?
Note that Angular v8.0.0-beta.12 was the version where Angular bumped from TypeScript 3.3 to 3.4.

So is this the desired behavior (ie. breaking retro-compatibility with v7?) or not? I thought imports starting with ɵɵ were Angular internals, so that they end up in the lib code seem more like a bug.

Lib issue: cyrilletuzi/angular-async-local-storage#103

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions