Repository navigation
Closed
Description
Bug Report or Feature Request (mark with an x)
- [x] bug report -> please search issues before submitting (tick)
- [ ] feature request
Versions.
@angular/cli: 1.5.0-beta.1
node: 8.5.0
os: darwin x64
@angular/animations: 4.4.3
@angular/cdk: 2.0.0-beta.11
@angular/common: 4.4.3
@angular/compiler: 4.4.3
@angular/core: 4.4.3
@angular/forms: 4.4.3
@angular/http: 4.4.3
@angular/material: 2.0.0-beta.11
@angular/platform-browser: 4.4.3
@angular/platform-browser-dynamic: 4.4.3
@angular/router: 4.4.3
@angular/cli: 1.5.0-beta.1
@angular/compiler-cli: 4.4.3
typescript: 2.5.2
Repro steps.
ng new --skip-git crash-test-dummy
# then edit tsconfig.json and change target to es2015
ng serve
# load served url in browser, note that the app fails to initialise
The log given by the failure.
Exception observed in browser console:
Uncaught TypeError: Cannot convert undefined or null to object
at Function.getPrototypeOf (<anonymous>)
at getParentCtor (core.js:1729)
at ReflectionCapabilities.parameters (core.js:1542)
at JitReflector.parameters (compiler.js:26622)
at CompileMetadataResolver._getDependenciesMetadata (compiler.js:15324)
at CompileMetadataResolver._getFactoryMetadata (compiler.js:15263)
at CompileMetadataResolver.getProviderMetadata (compiler.js:15533)
at JitCompiler._compileModule (compiler.js:26063)
at SyncAsync.then (compiler.js:26013)
at Object.then (compiler.js:1633)
Mention any other details that might be useful.
#7610 made it so that es2015 targets are supported (yay). It achieved that for production builds, but doesn't seem usable since serve builds are now broken!
Within that PR (#7610), if the changes to packages/@angular/cli/models/webpack-configs/common.ts are instead performed entirely within packages/@angular/cli/models/webpack-configs/production.ts, serve and build work as I expect them to.
Reacted by Juan Gutiérrez and Leo Caseiro
Activity
prabh-62 commentedon Sep 24, 2017
@mark-buer use
> ng serve -aotas a workaround for now when targeting es2015.mark-buer commentedon Sep 24, 2017
@prabh-62 Thanks!
filipesilva commentedon Sep 25, 2017
It's unintended that
ng serve(without--aot) doesn't work, will look into it.filipesilva commentedon Sep 26, 2017
Ok I have bad news about this, it seems that Angular itself on JIT does not work with a
es2015target:So on the CLI side the best we can do is look at ways to alleviate this.
AmitMY commentedon Sep 27, 2017
@filipesilva That is odd. If I use CLI 1.4.3 it works, but 1.5.0.beta-1 doesn't with the same angular version.
So I guess I don't understand how it is related to angular itself and not the CLI
filipesilva commentedon Sep 27, 2017
It's because #7610 added real es2015 support to the CLI. 1.4.x didn't truly support es2015.
marc-wilson commentedon Sep 28, 2017
I see that the workaround for
ng serveis to pass along the--aotflag. Is there a workaround forng testsinceng testdoesn't have an--aotflag?filipesilva commentedon Oct 20, 2017
I don't have a real solution yet but would like to mention a workaround: having multiple applications (https://github.com/angular/angular-cli/wiki/stories-multiple-apps), with different tsconfigs.
This way you can use one for prod builds and another for dev builds. I know it's not pretty but while JIT doesn't support es2015 there isn't a lot that can be done for a real solution.
4 remaining items
chore(tsconfig): Don't target es2015.
mohammedzamakhan commentedon Nov 28, 2017
any updates??
filipesilva commentedon Dec 7, 2017
Until Angular itself support ES2015 on JIT, what you can do is always run your ES2015 app in AOT mode (
ng serve --aot).israel11021989 commentedon Jul 4, 2018
I have a problem when I run ng build:
95% emitting index-html-webpack-pluginEACCES: permission denied, mkdir '/Users/itorres/learnangular5/dist'
Error: EACCES: permission denied, mkdir '/Users/itorres/learnangular5/dist'
alan-agius4 commentedon Oct 8, 2018
I have tried this with the latest CLI and Angular 7 and it looks like it's working.
If the problem persists, please open a new issue following our submission guidelines.
A good way to make a minimal repro is to create a new app via
ng new repro-appand adding the minimum possible code to show the problem. Then you can push this repository to github and link it here.angular-automatic-lock-bot commentedon Sep 8, 2019
This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.
Read more about our automatic conversation locking policy.
This action has been performed automatically by a bot.