Loading a page produces the following error:
steal.js:140 Potentially unhandled rejection [1] TypeError: Cannot define property _instanceDefinitions, object is not extensible
at Function.defineProperty (<anonymous>)
at Object.defineExpando (http://localhost:8080/node_modules/can-define/define-helpers/define-helpers.js:20:11)
at DefineMap.setKeyValue (http://localhost:8080/node_modules/can-define/map/map.js:52:30)
at Object.setKeyValue (http://localhost:8080/node_modules/can-reflect/reflections/get-set/get-set.js:50:23)
at Object.eval (http://localhost:8080/node_modules/can-reflect/reflections/shape/shape.js:701:23)
at String.eval (http://localhost:8080/node_modules/can-reflect/reflections/shape/shape.js:445:21)
at Object.eachListLike (http://localhost:8080/node_modules/can-reflect/reflections/shape/shape.js:376:17)
at Object.eachIndex (http://localhost:8080/node_modules/can-reflect/reflections/shape/shape.js:338:16)
at Object.eachKey (http://localhost:8080/node_modules/can-reflect/reflections/shape/shape.js:443:16)
at Object.assignDeepMap (http://localhost:8080/node_modules/can-reflect/reflections/shape/shape.js:698:8)
Hot realoding does not work anymore. This seems to come from steal.js and i have no idea how this is related to my code.
Could it be that this problem is happening in a worker thread...?
Here my package.json:
...
"dependencies": {
"can-ajax": "^1.1.4",
"can-component": "^3.3.10",
"can-connect": "^1.5.9",
"can-define": "^1.5.5",
"can-route": "^3.2.3",
"can-route-pushstate": "^3.1.2",
"can-set": "^1.3.2",
"can-stache": "^3.11.1",
"can-view-autorender": "^3.1.1",
"can-zone": "^0.6.13",
"done-autorender": "^1.4.0",
"done-component": "^1.0.0",
"done-css": "^3.0.1",
"done-serve": "^1.5.0",
"generator-donejs": "^1.0.7",
"lodash": "^4.17.5",
"steal": "^1.5.15",
"steal-less": "^1.2.0",
"steal-stache": "^3.1.2"
},
"devDependencies": {
"can-fixture": "^1.1.1",
"donejs-cli": "^1.0.0",
"funcunit": "^3.2.0",
"steal-qunit": "^1.0.1",
"steal-tools": "^1.9.1",
"testee": "^0.3.0"
}
...
Node:
node --version
v8.9.2
npm --version
5.5.1
OS:
ver
Microsoft Windows [Version 10.0.15063]
As a short term solution, try adding { seal: false }
to your app viewmodel:
const AppViewModel = DefineMap.extend({ seal: false }, {
title: {
value: 'spotwizard.org',
serialize: false
}
});
Update: after further testing, you are trying to set the "page" property on your app viewmodel, but you did not define one. Your app viewmodel should look like this:
const AppViewModel = DefineMap.extend({
title: {
value: 'spotwizard.org',
serialize: false
},
page: 'string'
});