cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
NewcombR
Advocate IV
Advocate IV

PCF - pcf-scripts - Cannot find module "Typescript"

I went to create a new PCF project today, as a project has a requirement that I'd like to meet with a new component.

 

Receiving an error message when running pcf-scripts build.

 

 Executing task: npm run build <


> pcf-project@1.0.0 build C:\Users\NewcombR\source\repos\CSA\CSAPcf\PurchaseOrderAmountSummary
> pcf-scripts build

internal/modules/cjs/loader.js:905
  throw err;
  ^

Error: Cannot find module 'typescript'
Require stack:
- C:\Users\NewcombR\source\repos\CSA\CSAPcf\PurchaseOrderAmountSummary\node_modules\pcf-scripts\manifestTypesGenerator.js
- C:\Users\NewcombR\source\repos\CSA\CSAPcf\PurchaseOrderAmountSummary\node_modules\pcf-scripts\tasks\manifestTypesTask.js
- C:\Users\NewcombR\source\repos\CSA\CSAPcf\PurchaseOrderAmountSummary\node_modules\pcf-scripts\taskGroup.js
- C:\Users\NewcombR\source\repos\CSA\CSAPcf\PurchaseOrderAmountSummary\node_modules\pcf-scripts\bin\pcf-scripts.js     
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
    at Function.Module._load (internal/modules/cjs/loader.js:746:27)
    at Module.require (internal/modules/cjs/loader.js:974:19)
    at require (internal/modules/cjs/helpers.js:92:18)
    at Object.<anonymous> (C:\Users\NewcombR\source\repos\CSA\CSAPcf\PurchaseOrderAmountSummary\node_modules\pcf-scripts\manifestTypesGenerator.js:6:12)
    at Module._compile (internal/modules/cjs/loader.js:1085:14)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
    at Module.load (internal/modules/cjs/loader.js:950:32)
    at Function.Module._load (internal/modules/cjs/loader.js:790:14)
    at Module.require (internal/modules/cjs/loader.js:974:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    'C:\\Users\\NewcombR\\source\\repos\\CSA\\CSAPcf\\PurchaseOrderAmountSummary\\node_modules\\pcf-scripts\\manifestTypesGenerator.js',
    'C:\\Users\\NewcombR\\source\\repos\\CSA\\CSAPcf\\PurchaseOrderAmountSummary\\node_modules\\pcf-scripts\\tasks\\manifestTypesTask.js',
    'C:\\Users\\NewcombR\\source\\repos\\CSA\\CSAPcf\\PurchaseOrderAmountSummary\\node_modules\\pcf-scripts\\taskGroup.js',
    'C:\\Users\\NewcombR\\source\\repos\\CSA\\CSAPcf\\PurchaseOrderAmountSummary\\node_modules\\pcf-scripts\\bin\\pcf-scripts.js'
  ]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! pcf-project@1.0.0 build: `pcf-scripts build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the pcf-project@1.0.0 build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\NewcombR\AppData\Roaming\npm-cache\_logs\2021-08-03T14_40_15_738Z-debug.log
The terminal process "C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe -Command npm run build" terminated with exit code: 1.

 

 

I created a second, PCF project and the results were the same.

 

I opened an existing PCF project and the build script worked as expected.

 

Is there I can "undo" the update that I installed this morning?  If not, what can I do to work through the issue?

8 REPLIES 8
NewcombR
Advocate IV
Advocate IV

I also noticed that there are the following messages that appear when running npm install on new PCF projects:

npm WARN ts-loader@8.3.0 requires a peer of typescript@* but none is installed. You must install peer dependencies yourself.
npm WARN ts-node@8.10.2 requires a peer of typescript@>=2.7 but none is installed. You must install peer dependencies yourself.
npm WARN tsutils@3.21.0 requires a peer of typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta but none is installed. You must install peer dependencies yourself.

 

I checked the package.json and it doesn't appear that typescript is included there.

I have typescript installed globally, BTW.

NewcombR
Advocate IV
Advocate IV

It appears adding typescript as a dependency locally resolves the problem.

npm install --save-dev typescript

Not sure why this is required now, as it was not the case in prior versions.

HemantG
Power Apps
Power Apps

Sorry for the break. I probed about this and here is the summary. There was a change in pcf-scripts module to move the typescript module to the devDependencies section which reduces bundle size. If your local nodejs doesn’t have typescript 3 or 4 installed globally, you’ll either need to do:

  • npm install --save-dev typescript
  • or: npm install -g typescript

We’re updating the template in the July refresh

 

 

thanks,

Hemant 

Kristoffer88
Advocate I
Advocate I

Hi.

 

This has broken all our pipelines for our PCF apps, so we needed to add it to the package.json as a dev dependency on all our projects (after some lost hours debugging)

For what it’s worth, installing globally didn’t work.  (I already had it installed globally).

 

Only by adding it as a local dependency

worked.

DavidJen
Microsoft
Microsoft

we (the PCF/pac CLI tooling team) apologize for the breakage this caused: in the last 1.8.x release, we fixed a bug that typescript was mistakenly added as a runtime dependency: but TS is not a runtime dependency, e.g. TS should not get bundled etc.

 

Having typescript installed globally (npm install -g typescript) would work on local dev machines, but likely not on build agents. That is the reason why this breakage went undetected locally within our team, sigh.

But the idiomatic fix for npm/nodejs is to add typescript as a dev dependency in your package.json:
  

 

npm install --save-dev typescript

 

or if your project still needs TS 3
  

 

npm install --save-dev typescript@^3

 

 

The upcoming July refresh for PCF/pac CLI will contain updated package.json templates with TS already added as dev dependency

 

 

DavidJen
Microsoft
Microsoft

we (the PCF/pac CLI tooling team) apologize for the breakage this caused: in the last 1.8.x release, we fixed a bug that typescript was mistakenly added as a runtime dependency: but TS is not a runtime dependency, e.g. TS should not get bundled etc.

 

Having typescript installed globally (npm install -g typescript) would work on local dev machines, but likely not on build agents. That is the reason why this breakage went undetected locally within our team, sigh.

But the idiomatic fix for npm/nodejs is to add typescript as a dev dependency in your package.json:
  

 

 

npm install --save-dev typescript

 

 

or if your project still needs TS 3
  

 

 

npm install --save-dev typescript@^3

 

 

 

The upcoming July refresh for PCF/pac CLI will contain updated package.json templates with TS already added as dev dependency

 

 

Thanks for saving my day, it was very frustrating. As I was starting off with new control and was not able to build basic template itself.

Helpful resources

Announcements
2022 Release Wave 1 760x460.png

2022 Release Wave 1 Plan

Power Platform release plan for the 2022 release wave 1 describes all new features releasing from April 2022 through September 2022.

Community Connections 768x460.jpg

Community & How To Videos

Check out the new Power Platform Community Connections gallery!

Users online (1,655)