Repository navigation
Production build fails with message "Cannot read property 'input' of null" #4207
Description
OS?
node:6.9.4 docker container
Versions.
node@v6.9.4
angular-cli@1.0.0-beta.26
Repro steps.
After an upgrade to 1.0.0-beta.26 from 1.0.0-beta.24 the app fails to build.
Build always starts with a clean docker container in which the following steps are run:
FROM node:6.9.4
WORKDIR /root/
RUN npm install angular-cli@1.0.0-beta.26 -g
COPY package.json ./package.json
RUN npm install
COPY src ./src/
COPY e2e ./e2e/
COPY angular-cli.json ./angular-cli.json
COPY protractor.conf.js ./protractor.conf.js
COPY karma.conf.js ./karma.conf.js
COPY tslint.json ./tslint.json
RUN ng build --prod
Prod build works when running on the development machine with Windows 7
The log given by the failure.
Cannot read property 'input' of null
TypeError: Cannot read property 'input' of null
at ObjectSchemaTreeNode._set (/root/node_modules/@ngtools/json-schema/src/sc
hema-tree.js:347:132)
at new ObjectSchemaTreeNode (/root/node_modules/@ngtools/json-schema/src/sch
ema-tree.js:331:14)
at OneOfSchemaTreeNode.NonLeafSchemaTreeNode._createChildProperty (/root/nod
e_modules/@ngtools/json-schema/src/schema-tree.js:244:24)
at /root/node_modules/@ngtools/json-schema/src/schema-tree.js:260:26
at Array.map (native)
at new OneOfSchemaTreeNode (/root/node_modules/@ngtools/json-schema/src/sche
ma-tree.js:259:48)
at ArraySchemaTreeNode.NonLeafSchemaTreeNode._createChildProperty (/root/nod
e_modules/@ngtools/json-schema/src/schema-tree.js:244:24)
at ArraySchemaTreeNode._set (/root/node_modules/@ngtools/json-schema/src/sch
ema-tree.js:434:39)
at new ArraySchemaTreeNode (/root/node_modules/@ngtools/json-schema/src/sche
ma-tree.js:414:14)
at ObjectSchemaTreeNode.NonLeafSchemaTreeNode._createChildProperty (/root/no
de_modules/@ngtools/json-schema/src/schema-tree.js:244:24)
at ObjectSchemaTreeNode._set (/root/node_modules/@ngtools/json-schema/src/sc
hema-tree.js:347:47)
at new ObjectSchemaTreeNode (/root/node_modules/@ngtools/json-schema/src/sch
ema-tree.js:331:14)
at ArraySchemaTreeNode.NonLeafSchemaTreeNode._createChildProperty (/root/nod
e_modules/@ngtools/json-schema/src/schema-tree.js:244:24)
at ArraySchemaTreeNode._set (/root/node_modules/@ngtools/json-schema/src/sch
ema-tree.js:434:39)
at new ArraySchemaTreeNode (/root/node_modules/@ngtools/json-schema/src/sche
ma-tree.js:414:14)
at RootSchemaTreeNode.NonLeafSchemaTreeNode._createChildProperty (/root/node
_modules/@ngtools/json-schema/src/schema-tree.js:244:24)
at RootSchemaTreeNode.ObjectSchemaTreeNode._set (/root/node_modules/@ngtools
/json-schema/src/schema-tree.js:347:47)
at RootSchemaTreeNode.ObjectSchemaTreeNode [as constructor] (/root/node_modu
les/@ngtools/json-schema/src/schema-tree.js:331:14)
at new RootSchemaTreeNode (/root/node_modules/@ngtools/json-schema/src/schem
a-tree.js:478:16)
at GeneratedSchemaClass.SchemaClassBase (/root/node_modules/@ngtools/json-sc
hema/src/schema-class-factory.js:66:29)
at new GeneratedSchemaClass (/root/node_modules/@ngtools/json-schema/src/sch
ema-class-factory.js:165:20)
at new CliConfig (/root/node_modules/angular-cli/models/config/config.js:24:
24)
at Function.CliConfig.fromConfigPath (/root/node_modules/angular-cli/models/
config/config.js:99:16)
at Function.CliConfig.fromProject (/root/node_modules/angular-cli/models/con
fig.js:63:44)
at Class.run (/root/node_modules/angular-cli/tasks/build-webpack.js:14:73)
at Class.buildRun (/root/node_modules/angular-cli/commands/build.run.js:39:2
2)
at Class.run (/root/node_modules/angular-cli/commands/build.js:38:47)
at Class. (/root/node_modules/angular-cli/ember-cli/lib/models/co
mmand.js:147:17)
at process._tickCallback (internal/process/next_tick.js:103:7)
The command '/bin/sh -c ng build --prod' returned a non-zero code: 1
Mention any other details that might be useful.
angular-cli.json
{
"project": {
"version": "1.0.0-alpha.2",
"name": "core-ui"
},
"apps": [
{
"root": "src",
"outDir": "dist",
"genDir": "gen",
"assets": ["assets"],
"index": "index.html",
"main": "main.ts",
"test": "test.ts",
"tsconfig": "tsconfig.json",
"prefix": "app",
"mobile": false,
"styles": [
"scss/style.scss"
],
"scripts": [
"../node_modules/pace-js/pace.min.js",
"../node_modules/chart.js/dist/Chart.bundle.min.js",
"../node_modules/chart.js/dist/Chart.min.js"
],
"environments": {
"source": "environments/environment.ts",
"dev": "environments/environment.ts",
"prod": "environments/environment.prod.ts"
}
}
],
"e2e": {
"protractor": {
"config": "./protractor.conf.js"
}
},
"test": {
"karma": {
"config": "./karma.conf.js"
}
},
"defaults": {
"styleExt": "scss",
"prefixInterfaces": false
}
}
Activity
maylukas commentedon Jan 24, 2017
I don't know the cause of the issue as i did not invest enough time to understand the parsing of the configuration but if I change Line 347 in @ngtools/json-schema/src/schema-tree.js from
this._children[name_1] = this._createChildProperty(name_1, value ? value[name_1] : null, forward ? forward.children[name_1] : null, propertySchema);to this:
this._children[name_1] = this._createChildProperty(name_1, value ? value[name_1] : null, forward && forward.children ? forward.children[name_1] : null, propertySchema);it works again
filipesilva commentedon Jan 24, 2017
Can you show me your
angular-cli.json? Maybe you have a property there that's not supported anymore or something.maylukas commentedon Jan 25, 2017
I actually provided it in the issue description under "Mention any other details that might be useful.".
hoatle commentedon Jan 26, 2017
I'm having the same exact problem.
hoatle commentedon Jan 29, 2017
I guess this is the root cause (related to Docker, not sure about other cases).
When I have angular app under $HOME path, I got the same exact problem.
When I move the angular app out of $HOME path, it works as expected, no error.
hoatle commentedon Jan 29, 2017
@maylukas this configuration should work with your project:
alexweber commentedon Feb 1, 2017
@hoatle Thanks for taking the time to share this, can't say how happy I am to have this working finally! :)
alexweber commentedon Feb 2, 2017
@giertych97 That's unrelated to this particular issue. See here for a fix for the new release breaking builds: #4326 (comment)
dustintheweb commentedon Feb 2, 2017
@filipesilva I have had the same issue in my production builds to Heroku since Beta 25 (Beta 24 & earlier worked great, however I just updated to Beta 28 & can confirm the issue still exists).
I believe it may have something to do with the JSON Schema feature added in Beta 25:
This does not happen when I kick off a build in my local environment
npm start- all things are working as expected on localhost:4300. It is only when I deploy & Heroku kicks off thenpm startthat it will fail on theng build(it breaks before it is able to create a /dist folder)This type of error message is similar to the ones seen when an npm package is missing a Types declaration file - unfortunately, one does not exist for the JSON Schema package. Maybe this is related to that? Another hunch is that it may be related to Linux.
I made a comment on this in another thread a while back but didn't follow up until just now - here's a link for additional context
Hopefully this provides some additional insight to the bug
dlimkin commentedon Feb 2, 2017
Maybe this will help. I accidentally called
ng initin Нome directory, after call thengin any other directory caused the error (even when callng --version). After deleting ng files from the home directory.ngruns without errorsjuanmcampos commentedon Feb 2, 2017
@dustintheweb did you find any solution?
Mattee commentedon Feb 3, 2017
@dlimkin Thank you, it solved my problem! It seems like I had some old Angular files in the root of my home directory causing all Angular projects in there with later Angular-cli versions to fail. So by deleting all files and folders that doesn't belong to the home directory, it solves the problems and the errors disappears.
robertorosas commentedon Feb 3, 2017
@dlimkin solution works. Removing all the ng files from the home directory solved it. Thanks.
29 remaining items
sdsanders commentedon Sep 14, 2017
Still running into this (on dokku) with the latest version of the cli.
jskrnbindra commentedon Sep 21, 2017
The issue still exists on latest @angular/cli
Works on my windows machine but throws this error:
on centos in aws.
All was good until today morning when the error just popped up while running:
ng build && node server.json CentOS.
Is there a fix?
Gpzim98 commentedon Oct 8, 2017
Thank you SO much @dlimkin
Such a stp issue!
ysilvestrov commentedon Dec 17, 2017
The same issue for me with dokku today.
Updated @angular/cli to 1.6.1 with no help.
Could we expect a fix?
The non-working repo, if needed, is https://github.com/ysilvestrov/ontap-tv
codestation commentedon Dec 19, 2017
@ysilvestrov redefine HOME to any other directory before building, for example i have this in my package.json
The bug appears when $HOME contains a .angular-cli.json and since dokku puts the project in $HOME then the bug triggers
fix(@angular/cli): Prevent re-reading config file if project & global…
clydin commentedon Sep 25, 2018
Closing as version
1.0.0-beta.26is a prerelease version and no longer supported. If the problem persists within the latest stable version (currently 6.2.3), please open a new issue detailing the problem.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.