Cannot get @vercel/ncc working throws Module not found error

Viewed 139

I have been trying to get the following tutorial working for building custom github actions https://docs.github.com/en/actions/creating-actions/creating-a-javascript-action. The article states that if you don't want to check in your node_modules folder to use @vercel/ncc package to compile your code into a single file. I have tried the NCC sample here https://github.com/vercel/ncc/tree/main/examples/hello-world but I get the same error no matter what I do. The error I get is this:

Error: Cannot find module 'C:\Projects\github-runner-test\.github\actions\read-deploy-instructions\index.js'
Require stack:
- C:\Projects\github-runner-test\.github\actions\read-deploy-instructions\node_modules\@vercel\ncc\dist\ncc\cli.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at resolve (node:internal/modules/cjs/helpers:108:19)
    at runCmd (C:\Projects\github-runner-test\.github\actions\read-deploy-instructions\node_modules\@vercel\ncc\dist\ncc/cli.js.cache.js:1:52001)
    at Object.819 (C:\Projects\github-runner-test\.github\actions\read-deploy-instructions\node_modules\@vercel\ncc\dist\ncc/cli.js.cache.js:1:48838)
    at __webpack_require__ (C:\Projects\github-runner-test\.github\actions\read-deploy-instructions\node_modules\@vercel\ncc\dist\ncc/cli.js.cache.js:1:59074)
    at C:\Projects\github-runner-test\.github\actions\read-deploy-instructions\node_modules\@vercel\ncc\dist\ncc/cli.js.cache.js:1:59286
    at C:\Projects\github-runner-test\.github\actions\read-deploy-instructions\node_modules\@vercel\ncc\dist\ncc/cli.js.cache.js:1:59347
    at Object.<anonymous> (C:\Projects\github-runner-test\.github\actions\read-deploy-instructions\node_modules\@vercel\ncc\dist\ncc\cli.js:8:28)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    'C:\\Projects\\github-runner-test\\.github\\actions\\read-deploy-instructions\\node_modules\\@vercel\\ncc\\dist\\ncc\\cli.js'
  ]
}

I am running latest Node on Windows 10 with latest GIT and cannot get this to work at all. I have tried bash, powershell, moved directories around and nothing seems to work. Below is my project structure:

enter image description here

My package.json looks like this:

{
  "name": "read-deploy-instructions",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "type": "module",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "ncc build index.js -o /dist"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "@actions/core": "^1.9.0",
    "@actions/github": "^5.0.3"
  },
  "devDependencies": {
    "@vercel/ncc": "latest"
  }
}

My index.js looks like this:

import core from '@actions/core';
import github from '@actions/github';

try {
  // `who-to-greet` input defined in action metadata file
  const nameToGreet = core.getInput('who-to-greet');
  console.log(`Hello ${nameToGreet}!`);
  const time = (new Date()).toTimeString();
  core.setOutput("time", time);
  // Get the JSON webhook payload for the event that triggered the workflow
  const payload = JSON.stringify(github.context.payload, undefined, 2)
  console.log(`The event payload: ${payload}`);
} catch (error) {
  core.setFailed(error.message);
}

If I run the command:

npm run build

I get the error shown above. I have seen multiple people posting it doesn't work with similar errors but no resolution. Does anyone have any ideas?

Thanks in advance,

1 Answers

OK after many a wasted hour I realized the file I was trying to target was named incorrectly. I was telling the NCC commands to look for "index.js" but had mistakenly named it "index,js". After renaming the file the NCC commands worked successfully and as expected.

Related