Sharepoint Framework 1.12.1 error [workaround]

When using Sharepoint framework (SPFx) 1.12.1 together with NodeJS 12 and/or NodeJS 14 and spfx-controls-react, I get a nasty errormessage when the local workbench is loaded (gulp build succeeds without errors).

The same thing happens when using the remote workbench on Sharepoint as well. The erromessage looks like this in the console:

[23:59:59] Error - [webpack] 'dist':
 ./node_modules/@microsoft/decorators/lib-commonjs/index.js
 Module not found: Error: Can't resolve './override' in 'C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs'
 resolve './override' in 'C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs'
   using description file: C:\Workspace\node12-version\node_modules\@microsoft\decorators\package.json (relative path: ./lib-commonjs)
     Field 'browser' doesn't contain a valid alias configuration
     using description file: C:\Workspace\node12-version\node_modules\@microsoft\decorators\package.json (relative path: ./lib-commonjs/override)
       no extension
         Field 'browser' doesn't contain a valid alias configuration
         C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\override doesn't exist
       .wasm
         Field 'browser' doesn't contain a valid alias configuration
         C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\override.wasm doesn't exist
       .mjs
         Field 'browser' doesn't contain a valid alias configuration
         C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\override.mjs doesn't exist
       .js
         Field 'browser' doesn't contain a valid alias configuration
         C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\override.js doesn't exist
       .json
         Field 'browser' doesn't contain a valid alias configuration
         C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\override.json doesn't exist
       as directory
         C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\override doesn't exist
 [C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\override]
 [C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\override.wasm]
 [C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\override.mjs]
 [C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\override.js]
 [C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\override.json]
  @ ./node_modules/@microsoft/decorators/lib-commonjs/index.js 18:17-38
  @ ./node_modules/@pnp/spfx-controls-react/lib/controls/fields/fieldTextRenderer/FieldTextRenderer.js
  @ ./node_modules/@pnp/spfx-controls-react/lib/controls/fields/fieldTextRenderer/index.js
  @ ./node_modules/@pnp/spfx-controls-react/lib/FieldTextRenderer.js
  @ ./lib/webparts/xxx/components/xxxML.js
  @ ./lib/webparts/xxx/components/xxxNA.js
  @ ./lib/webparts/xxx/components/xxx.js
  @ ./lib/webparts/xxx/xxxWebPart.js
 ./node_modules/@microsoft/decorators/lib-commonjs/index.js
 Module not found: Error: Can't resolve './sealed' in 'C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs'
 resolve './sealed' in 'C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs'
   using description file: C:\Workspace\node12-version\node_modules\@microsoft\decorators\package.json (relative path: ./lib-commonjs)
     Field 'browser' doesn't contain a valid alias configuration
     using description file: C:\Workspace\node12-version\node_modules\@microsoft\decorators\package.json (relative path: ./lib-commonjs/sealed)
       no extension
         Field 'browser' doesn't contain a valid alias configuration
         C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\sealed doesn't exist
       .wasm
         Field 'browser' doesn't contain a valid alias configuration
         C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\sealed.wasm doesn't exist
       .mjs
         Field 'browser' doesn't contain a valid alias configuration
         C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\sealed.mjs doesn't exist
       .js
         Field 'browser' doesn't contain a valid alias configuration
         C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\sealed.js doesn't exist
       .json
         Field 'browser' doesn't contain a valid alias configuration
         C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\sealed.json doesn't exist
       as directory
         C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\sealed doesn't exist
 [C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\sealed]
 [C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\sealed.wasm]
 [C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\sealed.mjs]
 [C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\sealed.js]
 [C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\sealed.json]
  @ ./node_modules/@microsoft/decorators/lib-commonjs/index.js 16:15-34
  @ ./node_modules/@pnp/spfx-controls-react/lib/controls/fields/fieldTextRenderer/FieldTextRenderer.js
  @ ./node_modules/@pnp/spfx-controls-react/lib/controls/fields/fieldTextRenderer/index.js
  @ ./node_modules/@pnp/spfx-controls-react/lib/FieldTextRenderer.js
  @ ./lib/webparts/xxx/components/xxxML.js
  @ ./lib/webparts/xxx/components/xxxNA.js
  @ ./lib/webparts/xxx/components/xxx.js
  @ ./lib/webparts/xxx/xxxWebPart.js
 ./node_modules/@microsoft/decorators/lib-commonjs/index.js
 Module not found: Error: Can't resolve './virtual' in 'C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs'
 resolve './virtual' in 'C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs'
   using description file: C:\Workspace\node12-version\node_modules\@microsoft\decorators\package.json (relative path: ./lib-commonjs)
     Field 'browser' doesn't contain a valid alias configuration
     using description file: C:\Workspace\node12-version\node_modules\@microsoft\decorators\package.json (relative path: ./lib-commonjs/virtual)
       no extension
         Field 'browser' doesn't contain a valid alias configuration
         C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\virtual doesn't exist
       .wasm
         Field 'browser' doesn't contain a valid alias configuration
         C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\virtual.wasm doesn't exist
       .mjs
         Field 'browser' doesn't contain a valid alias configuration
         C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\virtual.mjs doesn't exist
       .js
         Field 'browser' doesn't contain a valid alias configuration
         C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\virtual.js doesn't exist
       .json
         Field 'browser' doesn't contain a valid alias configuration
         C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\virtual.json doesn't exist
       as directory
         C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\virtual doesn't exist
 [C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\virtual]
 [C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\virtual.wasm]
 [C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\virtual.mjs]
 [C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\virtual.js]
 [C:\Workspace\node12-version\node_modules\@microsoft\decorators\lib-commonjs\virtual.json]
  @ ./node_modules/@microsoft/decorators/lib-commonjs/index.js 14:16-36
  @ ./node_modules/@pnp/spfx-controls-react/lib/controls/fields/fieldTextRenderer/FieldTextRenderer.js
  @ ./node_modules/@pnp/spfx-controls-react/lib/controls/fields/fieldTextRenderer/index.js
  @ ./node_modules/@pnp/spfx-controls-react/lib/FieldTextRenderer.js
  @ ./lib/webparts/xxx/components/xxxML.js
  @ ./lib/webparts/xxx/components/xxxNA.js
  @ ./lib/webparts/xxx/components/xxx.js
  @ ./lib/webparts/xxx/xxxWebPart.js

Solution / Workaround

The workaround is to copy a few files from the directory ”node_modules/@microsoft/decorators/lib” to ”node_modules/@microsoft/decorators/commonjs-lib” after you have run ”npm install”

The following files should be copied:

  • override.d.ts
  • override.d.ts.map
  • override.js
  • sealed.d.ts
  • sealed.d.ts.map
  • sealed.js
  • virtual.d.ts
  • virtual.d.ts.map
  • virtual.js

Godaddy parked my domains

I have been using GoDaddy as registrar for some of my domains for a long time. The reason for this is that I started a long time ago with one domain, and then as time went by a few more domains were added – as it was convenient to have them with one registrar and GoDaddy is relatively cheap.

This morning I received this email from godaddy:
Success! Your nameserver has changed.
It says that ”My nameservers has changed”, and that MY request has been processed. I can only say that I have NOT requested that my domains should be parked! It remains to be seen if I get any more information from GoDaddy, explaining what has happened (probably a rougue script on their side changed the settings).

The event today may have showed that it is time to move on to another registrar… I have had a few issues with GoDaddy before, but todays problem was bigger… All of my domains (registered at GoDaddy) got their nameserver entries changed to ns43.domaincontrol.com and ns44.domaincontrol.com without me doing anything.

I noticed this, as I received an email about the change at 08:24 AM CET on the 3’rd of February 2020… As soon as I saw the email (at 9:30 AM CET), I went into my controlpanel at godaddy and entered the correct nameserver-entries again. Fortunatelly I had them recorded. There is no way to restore old entries from the graphical UI/Controlpanel – and I didn’t have the time to CALL the support (which oddly enough seems to be the only way to contact them).