Monday, 3 April 2017

npm start failure. $JSON.stringify.apply is not a function

I'm trying to run a react app but running into issues.

This is the error trace.

ERROR in Template execution failed: TypeError: $JSON.stringify.apply is not a function

ERROR in   TypeError: $JSON.stringify.apply is not a function

  - json-output-template.js:96 stringify
    /CoD/src/origin-cms/origin-ui/ui.reactapps/src/json-output-template.js:96:26

  - json-output-template.js:126 module.exports
    /CoD/src/origin-cms/origin-ui/ui.reactapps/src/json-output-template.js:126:36

  - index.js:265 
    [ui.reactapps]/[html-webpack-plugin]/index.js:265:16

  - util.js:16 tryCatcher
    [ui.reactapps]/[html-webpack-plugin]/[bluebird]/js/release/util.js:16:23

  - promise.js:512 Promise._settlePromiseFromHandler
    [ui.reactapps]/[html-webpack-plugin]/[bluebird]/js/release/promise.js:512:31

  - promise.js:569 Promise._settlePromise
    [ui.reactapps]/[html-webpack-plugin]/[bluebird]/js/release/promise.js:569:18

  - promise.js:606 Promise._settlePromiseCtx
    [ui.reactapps]/[html-webpack-plugin]/[bluebird]/js/release/promise.js:606:10

  - async.js:138 Async._drainQueue
    [ui.reactapps]/[html-webpack-plugin]/[bluebird]/js/release/async.js:138:12

  - async.js:143 Async._drainQueues
    [ui.reactapps]/[html-webpack-plugin]/[bluebird]/js/release/async.js:143:10

  - async.js:17 Immediate.Async.drainQueues
    [ui.reactapps]/[html-webpack-plugin]/[bluebird]/js/release/async.js:17:14

The template its trying to execute is

module.exports = function (templateParams) {
    var obj = {};
    obj.js = (templateParams.htmlWebpackPlugin.options.globalJs || []).concat( templateParams.htmlWebpackPlugin.files.js );
    obj.css = templateParams.htmlWebpackPlugin.files.css;
    return JSON.stringify(obj);
};

Application version's that I'm using

AMAC02PQ06PG8WN:ui.reactapps subhash.sulanthar$ node --version
v7.8.0
AMAC02PQ06PG8WN:ui.reactapps subhash.sulanthar$ npm --version
4.2.0
AMAC02PQ06PG8WN:ui.reactapps subhash.sulanthar$ yarn --version
0.21.3
AMAC02PQ06PG8WN:ui.reactapps subhash.sulanthar$ nvm --version
0.33.1

I've tried reinstalling node, yarn, cleared application caches, etc - all to no avail. It all looks fine when I console the parameters from the template js:

module.exports = function (templateParams) {
    var obj = {};
    obj.js = (templateParams.htmlWebpackPlugin.options.globalJs || []).concat( templateParams.htmlWebpackPlugin.files.js );
    obj.css = templateParams.htmlWebpackPlugin.files.css;

    console.log("Object: ", obj);
    console.log("JSON: ", JSON);
    console.log("JSON.stringify: ", JSON.stringify);

    return JSON.stringify(obj);
};

Console:

Object:  { js: 
   [ '/etc/react-apps-chunks/b43f1ef1ef32e943333a.login-modal.js',
     '/etc/react-apps-chunks/bb104a33ab4b80479b28.compare-plans.js' ],
  css: [ '/etc/react-apps-chunks/ef77cfb892b9199adc95.login-modal.styles.css' ] }
JSON:  {}
JSON.stringify:  function stringify(it) {
  // eslint-disable-line no-unused-vars
  return $JSON.stringify.apply($JSON, arguments);
}
Object:  { js: 
   [ '/etc/react-apps-chunks/react.js',
     '/etc/react-apps-chunks/react-dom.js',
     '/etc/react-apps-chunks/8c3d64978772b4558f5b.originReactAemIntegrator.js' ],
  css: [] }
JSON:  {}
JSON.stringify:  function stringify(it) {
  // eslint-disable-line no-unused-vars
  return $JSON.stringify.apply($JSON, arguments);
}

Any idea if I'm missing something here?



via Subhash Sulanthar

No comments:

Post a Comment