CloudCannon / pagefind

Static low-bandwidth search at scale
https://pagefind.app
MIT License
3.34k stars 100 forks source link

Update npm runtime error to suggest a reinstall or explicit dependency #460

Open brycewray opened 11 months ago

brycewray commented 11 months ago

On my first attempt at a local build running Pagefind via a package.json script since getting an ARM-based Mac (M2), the Pagefind part failed with the following error message:

Failed to run pagefind via the npx wrapper: Error: Failed to install either of [pagefind_extended, pagefind]. Most likely the platform darwin-arm64 is not yet a supported architecture.
Please open an issue at https://github.com/CloudCannon/pagefind and paste this error message in full.
If you believe this package should be compatible with your system,
you can try downloading a release binary directly from https://github.com/CloudCannon/pagefind/releases
Please open an issue at https://github.com/CloudCannon/pagefind and paste this error message in full.
ERROR: "search" exited with 1.

The relevant scripts in package.json (for a Hugo repo) are:

"search": "pagefind --source public",
"build": "npm-run-all build:prelim move-excerpts search",

These are the dependencies:

"devDependencies": {
  "exec-bin": "^1.0.0",
  "hugo-installer": "^4.0.1",
  "move-cli": "^2.0.0",
  "npm-run-all": "^4.1.5",
  "pagefind": "^1.0.3",
  "postcss": "^8.4.30",
  "postcss-cli": "^10.1.0",
  "postcss-import": "^15.1.0",
  "postcss-nesting": "^12.0.1",
  "rimraf": "^5.0.5"
}

FWIW, I tried this with both Node 18.17.0 and Node 20.7.0; same results in each case. All of this is with npm 10.1.0.

bglw commented 11 months ago

Interesting! I’ll give this a go when I’m at my computer — I’m on an M2 on Node 18 myself, so it shouldn’t be systemically broken.

Are you by chance running npm install with the --no-optional flag?

brycewray commented 11 months ago

Are you by chance running npm install with the --no-optional flag?

No, sir. Just vanilla npm install.

bglw commented 11 months ago

Hmm, adding pagefind to a new project's devDependencies, and matching your script, everything installs and runs correctly for me on Node 20.7.0 / npm 10.1.0

As of 1.0 the job of getting the correct binary onto your machine is left to npm, which in general makes it more reliable but can also make it a little more inscrutable in this case.

Could you clear out your node modules and run npm i --loglevel silly, and paste the output here? That should help show whether npm is pulling the correct optionalDependency 🙂

Also, if you just want to get unstuck for now, you could explicitly add @pagefind/darwin-arm64 as a dependency in your package.json and everything should work — though it would be great to find a root cause for the issue 😄

brycewray commented 11 months ago

Could you clear out your node modules and run npm i --loglevel silly, and paste the output here? That should help show whether npm is pulling the correct optionalDependency 🙂

➜  hugo-site git:(main) npm i --loglevel silly
npm verb cli /Users/brycewray/.nvm/versions/node/v20.7.0/bin/node /Users/brycewray/.nvm/versions/node/v20.7.0/bin/npm
npm info using npm@10.1.0
npm info using node@v20.7.0
npm verb title npm i
npm verb argv "i" "--loglevel" "silly"
npm verb logfile logs-max:10 dir:/Users/brycewray/.npm/_logs/2023-09-28T19_54_43_691Z-
npm verb logfile /Users/brycewray/.npm/_logs/2023-09-28T19_54_43_691Z-debug-0.log
npm sill logfile start cleaning logs, removing 1 files
npm sill logfile done cleaning log files
npm sill idealTree buildDeps
npm sill reify moves {}
npm sill audit bulk request {
npm sill audit   '@babel/code-frame': [ '7.22.13' ],
npm sill audit   '@babel/helper-validator-identifier': [ '7.22.20' ],
npm sill audit   '@babel/highlight': [ '7.22.20' ],
npm sill audit   '@csstools/selector-specificity': [ '3.0.0' ],
npm sill audit   '@isaacs/cliui': [ '8.0.2' ],
npm sill audit   '@nodelib/fs.scandir': [ '2.1.5' ],
npm sill audit   '@nodelib/fs.stat': [ '2.0.5' ],
npm sill audit   '@nodelib/fs.walk': [ '1.2.8' ],
npm sill audit   '@pagefind/darwin-arm64': [ '1.0.3' ],
npm sill audit   '@pagefind/darwin-x64': [ '1.0.3' ],
npm sill audit   '@pagefind/linux-arm64': [ '1.0.3' ],
npm sill audit   '@pagefind/linux-x64': [ '1.0.3' ],
npm sill audit   '@pagefind/windows-x64': [ '1.0.3' ],
npm sill audit   '@pkgjs/parseargs': [ '0.11.0' ],
npm sill audit   '@sindresorhus/is': [ '5.6.0' ],
npm sill audit   '@szmarczak/http-timer': [ '5.0.1' ],
npm sill audit   '@types/cacheable-request': [ '6.0.3' ],
npm sill audit   '@types/http-cache-semantics': [ '4.0.2' ],
npm sill audit   '@types/keyv': [ '3.1.4' ],
npm sill audit   '@types/minimist': [ '1.2.3' ],
npm sill audit   '@types/node': [ '20.7.1' ],
npm sill audit   '@types/normalize-package-data': [ '2.4.2' ],
npm sill audit   '@types/responselike': [ '1.0.1' ],
npm sill audit   'aggregate-error': [ '4.0.1' ],
npm sill audit   'ansi-regex': [ '6.0.1', '5.0.1' ],
npm sill audit   'ansi-styles': [ '3.2.1', '4.3.0', '6.2.1' ],
npm sill audit   anymatch: [ '3.1.3' ],
npm sill audit   'array-buffer-byte-length': [ '1.0.0' ],
npm sill audit   'arraybuffer.prototype.slice': [ '1.0.2' ],
npm sill audit   arrify: [ '1.0.1' ],
npm sill audit   'available-typed-arrays': [ '1.0.5' ],
npm sill audit   'balanced-match': [ '1.0.2' ],
npm sill audit   'base64-js': [ '1.5.1' ],
npm sill audit   'binary-extensions': [ '2.2.0' ],
npm sill audit   bl: [ '1.2.3' ],
npm sill audit   'brace-expansion': [ '1.1.11', '2.0.1' ],
npm sill audit   braces: [ '3.0.2' ],
npm sill audit   buffer: [ '5.7.1' ],
npm sill audit   'buffer-alloc': [ '1.2.0' ],
npm sill audit   'buffer-alloc-unsafe': [ '1.1.0' ],
npm sill audit   'buffer-crc32': [ '0.2.13' ],
npm sill audit   'buffer-fill': [ '1.0.0' ],
npm sill audit   'cacheable-lookup': [ '6.1.0' ],
npm sill audit   'cacheable-request': [ '7.0.4' ],
npm sill audit   'get-stream': [ '5.2.0', '2.3.1', '6.0.1' ],
npm sill audit   'lowercase-keys': [ '2.0.0', '3.0.0' ],
npm sill audit   responselike: [ '2.0.1', '3.0.0' ],
npm sill audit   'call-bind': [ '1.0.2' ],
npm sill audit   camelcase: [ '5.3.1' ],
npm sill audit   'camelcase-keys': [ '6.2.2' ],
npm sill audit   'quick-lru': [ '4.0.1', '5.1.1' ],
npm sill audit   chalk: [ '2.4.2' ],
npm sill audit   chokidar: [ '3.5.3' ],
npm sill audit   'clean-stack': [ '4.2.0' ],
npm sill audit   'escape-string-regexp': [ '5.0.0', '1.0.5' ],
npm sill audit   cliui: [ '7.0.4' ],
npm sill audit   'color-convert': [ '2.0.1', '1.9.3' ],
npm sill audit   'color-name': [ '1.1.4', '1.1.3' ],
npm sill audit   'emoji-regex': [ '8.0.0', '9.2.2' ],
npm sill audit   'string-width': [ '4.2.3', '5.1.2' ],
npm sill audit   'strip-ansi': [ '6.0.1', '7.1.0' ],
npm sill audit   'wrap-ansi': [ '7.0.0', '8.1.0' ],
npm sill audit   'clone-response': [ '1.0.3' ],
npm sill audit   commander: [ '2.20.3' ],
npm sill audit   'concat-map': [ '0.0.1' ],
npm sill audit   'core-util-is': [ '1.0.3' ],
npm sill audit   'cross-spawn': [ '6.0.5', '7.0.3' ],
npm sill audit   semver: [ '5.7.2', '7.3.8' ],
npm sill audit   cssesc: [ '3.0.0' ],
npm sill audit   decamelize: [ '1.2.0' ],
npm sill audit   'decamelize-keys': [ '1.1.1' ],
npm sill audit   'map-obj': [ '1.0.1', '4.3.0' ],
npm sill audit   decompress: [ '4.2.1' ],
npm sill audit   'decompress-response': [ '6.0.0' ],
npm sill audit   'mimic-response': [ '3.1.0', '1.0.1' ],
npm sill audit   'decompress-tar': [ '4.1.1' ],
npm sill audit   'decompress-tarbz2': [ '4.1.1' ],
npm sill audit   'file-type': [ '6.2.0', '3.9.0', '5.2.0' ],
npm sill audit   'decompress-targz': [ '4.1.1' ],
npm sill audit   'decompress-unzip': [ '4.0.1' ],
npm sill audit   'defer-to-connect': [ '2.0.1' ],
npm sill audit   'define-data-property': [ '1.1.0' ],
npm sill audit   'define-properties': [ '1.2.1' ],
npm sill audit   del: [ '7.0.0' ],
npm sill audit   glob: [ '7.2.3', '10.3.10', '6.0.4' ],
npm sill audit   rimraf: [ '3.0.2', '2.4.5', '5.0.5' ],
npm sill audit   'dependency-graph': [ '0.11.0' ],
npm sill audit   'dir-glob': [ '3.0.1' ],
npm sill audit   eastasianwidth: [ '0.2.0' ],
npm sill audit   'end-of-stream': [ '1.4.4' ],
npm sill audit   'error-ex': [ '1.3.2' ],
npm sill audit   'es-abstract': [ '1.22.2' ],
npm sill audit   'es-set-tostringtag': [ '2.0.1' ],
npm sill audit   'es-to-primitive': [ '1.2.1' ],
npm sill audit   escalade: [ '3.1.1' ],
npm sill audit   'exec-bin': [ '1.0.0' ],
npm sill audit   'fast-glob': [ '3.3.1' ],
npm sill audit   fastq: [ '1.15.0' ],
npm sill audit   'fd-slicer': [ '1.1.0' ],
npm sill audit   'fill-range': [ '7.0.1' ],
npm sill audit   'find-up': [ '4.1.0' ],
npm sill audit   'for-each': [ '0.3.3' ],
npm sill audit   'foreground-child': [ '3.1.1' ],
npm sill audit   'path-key': [ '3.1.1', '2.0.1' ],
npm sill audit   'shebang-command': [ '2.0.0', '1.2.0' ],
npm sill audit   'shebang-regex': [ '3.0.0', '1.0.0' ],
npm sill audit   which: [ '2.0.2', '1.3.1' ],
npm sill audit   'form-data-encoder': [ '2.1.4' ],
npm sill audit   'fs-constants': [ '1.0.0' ],
npm sill audit   'fs-extra': [ '11.1.1' ],
npm sill audit   'fs.realpath': [ '1.0.0' ],
npm sill audit   fsevents: [ '2.3.3' ],
npm sill audit   'function-bind': [ '1.1.1' ],
npm sill audit   'function.prototype.name': [ '1.1.6' ],
npm sill audit   'functions-have-names': [ '1.2.3' ],
npm sill audit   'get-caller-file': [ '2.0.5' ],
npm sill audit   'get-intrinsic': [ '1.2.1' ],
npm sill audit   'get-stdin': [ '9.0.0' ],
npm sill audit   'get-symbol-description': [ '1.0.0' ],
npm sill audit   'glob-parent': [ '5.1.2' ],
npm sill audit   minimatch: [ '9.0.3', '3.1.2' ],
npm sill audit   globalthis: [ '1.0.3' ],
npm sill audit   globby: [ '13.2.2' ],
npm sill audit   gopd: [ '1.0.1' ],
npm sill audit   got: [ '12.4.1' ],
npm sill audit   'graceful-fs': [ '4.2.11' ],
npm sill audit   'hard-rejection': [ '2.1.0' ],
npm sill audit   has: [ '1.0.3' ],
npm sill audit   'has-bigints': [ '1.0.2' ],
npm sill audit   'has-flag': [ '3.0.0' ],
npm sill audit   'has-property-descriptors': [ '1.0.0' ],
npm sill audit   'has-proto': [ '1.0.1' ],
npm sill audit   'has-symbols': [ '1.0.3' ],
npm sill audit   'has-tostringtag': [ '1.0.0' ],
npm sill audit   'hosted-git-info': [ '2.8.9' ],
npm sill audit   hpagent: [ '1.0.0' ],
npm sill audit   'http-cache-semantics': [ '4.1.1' ],
npm sill audit   'http2-wrapper': [ '2.2.0' ],
npm sill audit   'hugo-installer': [ '4.0.1' ],
npm sill audit   ieee754: [ '1.2.1' ],
npm sill audit   ignore: [ '5.2.4' ],
npm sill audit   'indent-string': [ '5.0.0', '4.0.0' ],
npm sill audit   inflight: [ '1.0.6' ],
npm sill audit   inherits: [ '2.0.4' ],
npm sill audit   'internal-slot': [ '1.0.5' ],
npm sill audit   'is-array-buffer': [ '3.0.2' ],
npm sill audit   'is-arrayish': [ '0.2.1' ],
npm sill audit   'is-bigint': [ '1.0.4' ],
npm sill audit   'is-binary-path': [ '2.1.0' ],
npm sill audit   'is-boolean-object': [ '1.1.2' ],
npm sill audit   'is-callable': [ '1.2.7' ],
npm sill audit   'is-core-module': [ '2.13.0' ],
npm sill audit   'is-date-object': [ '1.0.5' ],
npm sill audit   'is-extglob': [ '2.1.1' ],
npm sill audit   'is-fullwidth-code-point': [ '3.0.0' ],
npm sill audit   'is-glob': [ '4.0.3' ],
npm sill audit   'is-natural-number': [ '4.0.1' ],
npm sill audit   'is-negative-zero': [ '2.0.2' ],
npm sill audit   'is-number': [ '7.0.0' ],
npm sill audit   'is-number-object': [ '1.0.7' ],
npm sill audit   'is-path-cwd': [ '3.0.0' ],
npm sill audit   'is-path-inside': [ '4.0.0' ],
npm sill audit   'is-plain-obj': [ '1.1.0' ],
npm sill audit   'is-regex': [ '1.1.4' ],
npm sill audit   'is-shared-array-buffer': [ '1.0.2' ],
npm sill audit   'is-stream': [ '1.1.0' ],
npm sill audit   'is-string': [ '1.0.7' ],
npm sill audit   'is-symbol': [ '1.0.4' ],
npm sill audit   'is-typed-array': [ '1.1.12' ],
npm sill audit   'is-weakref': [ '1.0.2' ],
npm sill audit   isarray: [ '2.0.5', '1.0.0' ],
npm sill audit   isexe: [ '2.0.0' ],
npm sill audit   jackspeak: [ '2.3.6' ],
npm sill audit   'js-tokens': [ '4.0.0' ],
npm sill audit   'json-buffer': [ '3.0.1' ],
npm sill audit   'json-parse-better-errors': [ '1.0.2' ],
npm sill audit   'json-parse-even-better-errors': [ '2.3.1' ],
npm sill audit   jsonfile: [ '6.1.0' ],
npm sill audit   keyv: [ '4.5.3' ],
npm sill audit   'kind-of': [ '6.0.3' ],
npm sill audit   lilconfig: [ '2.1.0' ],
npm sill audit   'lines-and-columns': [ '1.2.4' ],
npm sill audit   'load-json-file': [ '4.0.0' ],
npm sill audit   pify: [ '3.0.0', '2.3.0' ],
npm sill audit   'locate-path': [ '5.0.0' ],
npm sill audit   'lru-cache': [ '10.0.1', '6.0.0' ],
npm sill audit   'make-dir': [ '1.3.0' ],
npm sill audit   memorystream: [ '0.3.1' ],
npm sill audit   meow: [ '6.1.1' ],
npm sill audit   merge2: [ '1.4.1' ],
npm sill audit   micromatch: [ '4.0.5' ],
npm sill audit   'min-indent': [ '1.0.1' ],
npm sill audit   minimist: [ '1.2.8' ],
npm sill audit   'minimist-options': [ '4.1.0' ],
npm sill audit   minipass: [ '7.0.3' ],
npm sill audit   mkdirp: [ '0.5.6' ],
npm sill audit   'move-cli': [ '2.0.0' ],
npm sill audit   mv: [ '2.1.1' ],
npm sill audit   nanoid: [ '3.3.6' ],
npm sill audit   ncp: [ '2.0.0' ],
npm sill audit   'nice-try': [ '1.0.5' ],
npm sill audit   'normalize-package-data': [ '2.5.0' ],
npm sill audit   'normalize-path': [ '3.0.0' ],
npm sill audit   'normalize-url': [ '6.1.0' ],
npm sill audit   'npm-run-all': [ '4.1.5' ],
npm sill audit   'object-assign': [ '4.1.1' ],
npm sill audit   'object-inspect': [ '1.12.3' ],
npm sill audit   'object-keys': [ '1.1.1' ],
npm sill audit   'object-path': [ '0.11.8' ],
npm sill audit   'object.assign': [ '4.1.4' ],
npm sill audit   once: [ '1.4.0' ],
npm sill audit   'p-cancelable': [ '3.0.0' ],
npm sill audit   'p-limit': [ '2.3.0' ],
npm sill audit   'p-locate': [ '4.1.0' ],
npm sill audit   'p-map': [ '5.5.0' ],
npm sill audit   'p-try': [ '2.2.0' ],
npm sill audit   pagefind: [ '1.0.3' ],
npm sill audit   'parse-json': [ '4.0.0', '5.2.0' ],
npm sill audit   'path-exists': [ '4.0.0' ],
npm sill audit   'path-is-absolute': [ '1.0.1' ],
npm sill audit   'path-parse': [ '1.0.7' ],
npm sill audit   'path-scurry': [ '1.10.1' ],
npm sill audit   'path-type': [ '4.0.0', '3.0.0' ],
npm sill audit   pend: [ '1.2.0' ],
npm sill audit   picocolors: [ '1.0.0' ],
npm sill audit   picomatch: [ '2.3.1' ],
npm sill audit   pidtree: [ '0.3.1' ],
npm sill audit   pinkie: [ '2.0.4' ],
npm sill audit   'pinkie-promise': [ '2.0.1' ],
npm sill audit   postcss: [ '8.4.30' ],
npm sill audit   'postcss-cli': [ '10.1.0' ],
npm sill audit   slash: [ '5.1.0', '4.0.0' ],
npm sill audit   'postcss-import': [ '15.1.0' ],
npm sill audit   'postcss-load-config': [ '4.0.1' ],
npm sill audit   'postcss-nesting': [ '12.0.1' ],
npm sill audit   'postcss-reporter': [ '7.0.5' ],
npm sill audit   'postcss-selector-parser': [ '6.0.13' ],
npm sill audit   'postcss-value-parser': [ '4.2.0' ],
npm sill audit   'pretty-hrtime': [ '1.0.3' ],
npm sill audit   'process-nextick-args': [ '2.0.1' ],
npm sill audit   pump: [ '3.0.0' ],
npm sill audit   'queue-microtask': [ '1.2.3' ],
npm sill audit   'read-cache': [ '1.0.0' ],
npm sill audit   'read-pkg': [ '3.0.0', '5.2.0' ],
npm sill audit   'read-pkg-up': [ '7.0.1' ],
npm sill audit   'type-fest': [ '0.6.0', '0.8.1', '0.13.1' ],
npm sill audit   'readable-stream': [ '2.3.8' ],
npm sill audit   'safe-buffer': [ '5.1.2', '5.2.1' ],
npm sill audit   readdirp: [ '3.6.0' ],
npm sill audit   redent: [ '3.0.0' ],
npm sill audit   'regexp.prototype.flags': [ '1.5.1' ],
npm sill audit   'require-directory': [ '2.1.1' ],
npm sill audit   resolve: [ '1.22.6' ],
npm sill audit   'resolve-alpn': [ '1.2.1' ],
npm sill audit   reusify: [ '1.0.4' ],
npm sill audit   'run-parallel': [ '1.2.0' ],
npm sill audit   'safe-array-concat': [ '1.0.1' ],
npm sill audit   'safe-regex-test': [ '1.0.0' ],
npm sill audit   'seek-bzip': [ '1.0.6' ],
npm sill audit   'set-function-name': [ '2.0.1' ],
npm sill audit   'shell-quote': [ '1.8.1' ],
npm sill audit   'side-channel': [ '1.0.4' ],
npm sill audit   'signal-exit': [ '4.1.0' ],
npm sill audit   'source-map-js': [ '1.0.2' ],
npm sill audit   'spdx-correct': [ '3.2.0' ],
npm sill audit   'spdx-exceptions': [ '2.3.0' ],
npm sill audit   'spdx-expression-parse': [ '3.0.1' ],
npm sill audit   'spdx-license-ids': [ '3.0.15' ],
npm sill audit   string_decoder: [ '1.1.1' ],
npm sill audit   'string.prototype.padend': [ '3.1.5' ],
npm sill audit   'string.prototype.trim': [ '1.2.8' ],
npm sill audit   'string.prototype.trimend': [ '1.0.7' ],
npm sill audit   'string.prototype.trimstart': [ '1.0.7' ],
npm sill audit   'strip-bom': [ '3.0.0' ],
npm sill audit   'strip-dirs': [ '2.1.0' ],
npm sill audit   'strip-indent': [ '3.0.0' ],
npm sill audit   'supports-color': [ '5.5.0' ],
npm sill audit   'supports-preserve-symlinks-flag': [ '1.0.0' ],
npm sill audit   'tar-stream': [ '1.6.2' ],
npm sill audit   thenby: [ '1.3.4' ],
npm sill audit   through: [ '2.3.8' ],
npm sill audit   'to-buffer': [ '1.1.1' ],
npm sill audit   'to-regex-range': [ '5.0.1' ],
npm sill audit   'trim-newlines': [ '3.0.1' ],
npm sill audit   'typed-array-buffer': [ '1.0.0' ],
npm sill audit   'typed-array-byte-length': [ '1.0.0' ],
npm sill audit   'typed-array-byte-offset': [ '1.0.0' ],
npm sill audit   'typed-array-length': [ '1.0.4' ],
npm sill audit   'unbox-primitive': [ '1.0.2' ],
npm sill audit   'unbzip2-stream': [ '1.4.3' ],
npm sill audit   universalify: [ '2.0.0' ],
npm sill audit   'util-deprecate': [ '1.0.2' ],
npm sill audit   'validate-npm-package-license': [ '3.0.4' ],
npm sill audit   'which-boxed-primitive': [ '1.0.2' ],
npm sill audit   'which-typed-array': [ '1.1.11' ],
npm sill audit   wrappy: [ '1.0.2' ],
npm sill audit   xtend: [ '4.0.2' ],
npm sill audit   y18n: [ '5.0.8' ],
npm sill audit   yallist: [ '4.0.0' ],
npm sill audit   yaml: [ '2.3.2' ],
npm sill audit   yargs: [ '17.5.1' ],
npm sill audit   'yargs-parser': [ '18.1.3', '21.1.1' ],
npm sill audit   yauzl: [ '2.10.0' ]
npm sill audit }
npm verb reify failed optional dependency /Users/brycewray/hugo-site/node_modules/@pagefind/windows-x64
npm sill reify mark deleted [ '/Users/brycewray/hugo-site/node_modules/@pagefind/windows-x64' ]
npm verb reify failed optional dependency /Users/brycewray/hugo-site/node_modules/@pagefind/linux-x64
npm sill reify mark deleted [ '/Users/brycewray/hugo-site/node_modules/@pagefind/linux-x64' ]
npm verb reify failed optional dependency /Users/brycewray/hugo-site/node_modules/@pagefind/linux-arm64
npm sill reify mark deleted [ '/Users/brycewray/hugo-site/node_modules/@pagefind/linux-arm64' ]
npm verb reify failed optional dependency /Users/brycewray/hugo-site/node_modules/@pagefind/darwin-x64
npm sill reify mark deleted [ '/Users/brycewray/hugo-site/node_modules/@pagefind/darwin-x64' ]
npm sill tarball no local data for @pagefind/darwin-arm64@https://registry.npmjs.org/@pagefind/darwin-arm64/-/darwin-arm64-1.0.3.tgz. Extracting by manifest.
npm http fetch POST 200 https://registry.npmjs.org/-/npm/v1/security/advisories/bulk 261ms
npm sill audit report {
npm sill audit report   semver: [
npm sill audit report     {
npm sill audit report       id: 1093264,
npm sill audit report       url: 'https://github.com/advisories/GHSA-c2qf-rxjj-qqgw',
npm sill audit report       title: 'semver vulnerable to Regular Expression Denial of Service',
npm sill audit report       severity: 'moderate',
npm sill audit report       vulnerable_versions: '>=7.0.0 <7.5.2',
npm sill audit report       cwe: [Array],
npm sill audit report       cvss: [Object]
npm sill audit report     }
npm sill audit report   ]
npm sill audit report }
npm http fetch GET 200 https://registry.npmjs.org/semver 60ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/hugo-installer 281ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@pagefind/darwin-arm64/-/darwin-arm64-1.0.3.tgz 5211ms (cache miss)
npm sill ADD node_modules/yauzl
npm sill ADD node_modules/yargs-parser
npm sill ADD node_modules/yargs
npm sill ADD node_modules/yargs/node_modules/yargs-parser
npm sill ADD node_modules/yargs/node_modules/strip-ansi
npm sill ADD node_modules/yargs/node_modules/string-width
npm sill ADD node_modules/yargs/node_modules/emoji-regex
npm sill ADD node_modules/yargs/node_modules/ansi-regex
npm sill ADD node_modules/yaml
npm sill ADD node_modules/yallist
npm sill ADD node_modules/y18n
npm sill ADD node_modules/xtend
npm sill ADD node_modules/wrappy
npm sill ADD node_modules/wrap-ansi-cjs
npm sill ADD node_modules/wrap-ansi-cjs/node_modules/strip-ansi
npm sill ADD node_modules/wrap-ansi-cjs/node_modules/string-width
npm sill ADD node_modules/wrap-ansi-cjs/node_modules/emoji-regex
npm sill ADD node_modules/wrap-ansi-cjs/node_modules/color-name
npm sill ADD node_modules/wrap-ansi-cjs/node_modules/color-convert
npm sill ADD node_modules/wrap-ansi-cjs/node_modules/ansi-styles
npm sill ADD node_modules/wrap-ansi-cjs/node_modules/ansi-regex
npm sill ADD node_modules/wrap-ansi
npm sill ADD node_modules/wrap-ansi/node_modules/ansi-styles
npm sill ADD node_modules/which-typed-array
npm sill ADD node_modules/which-boxed-primitive
npm sill ADD node_modules/which
npm sill ADD node_modules/validate-npm-package-license
npm sill ADD node_modules/util-deprecate
npm sill ADD node_modules/universalify
npm sill ADD node_modules/unbzip2-stream
npm sill ADD node_modules/unbox-primitive
npm sill ADD node_modules/typed-array-length
npm sill ADD node_modules/typed-array-byte-offset
npm sill ADD node_modules/typed-array-byte-length
npm sill ADD node_modules/typed-array-buffer
npm sill ADD node_modules/type-fest
npm sill ADD node_modules/trim-newlines
npm sill ADD node_modules/to-regex-range
npm sill ADD node_modules/to-buffer
npm sill ADD node_modules/through
npm sill ADD node_modules/thenby
npm sill ADD node_modules/tar-stream
npm sill ADD node_modules/supports-preserve-symlinks-flag
npm sill ADD node_modules/supports-color
npm sill ADD node_modules/strip-indent
npm sill ADD node_modules/strip-dirs
npm sill ADD node_modules/strip-bom
npm sill ADD node_modules/strip-ansi-cjs
npm sill ADD node_modules/strip-ansi-cjs/node_modules/ansi-regex
npm sill ADD node_modules/strip-ansi
npm sill ADD node_modules/string.prototype.trimstart
npm sill ADD node_modules/string.prototype.trimend
npm sill ADD node_modules/string.prototype.trim
npm sill ADD node_modules/string.prototype.padend
npm sill ADD node_modules/string-width-cjs
npm sill ADD node_modules/string-width-cjs/node_modules/strip-ansi
npm sill ADD node_modules/string-width-cjs/node_modules/emoji-regex
npm sill ADD node_modules/string-width-cjs/node_modules/ansi-regex
npm sill ADD node_modules/string-width
npm sill ADD node_modules/string_decoder
npm sill ADD node_modules/string_decoder/node_modules/safe-buffer
npm sill ADD node_modules/spdx-license-ids
npm sill ADD node_modules/spdx-expression-parse
npm sill ADD node_modules/spdx-exceptions
npm sill ADD node_modules/spdx-correct
npm sill ADD node_modules/source-map-js
npm sill ADD node_modules/slash
npm sill ADD node_modules/signal-exit
npm sill ADD node_modules/side-channel
npm sill ADD node_modules/shell-quote
npm sill ADD node_modules/shebang-regex
npm sill ADD node_modules/shebang-command
npm sill ADD node_modules/set-function-name
npm sill ADD node_modules/semver
npm sill ADD node_modules/semver/node_modules/lru-cache
npm sill ADD node_modules/seek-bzip
npm sill ADD node_modules/safe-regex-test
npm sill ADD node_modules/safe-buffer
npm sill ADD node_modules/safe-array-concat
npm sill ADD node_modules/run-parallel
npm sill ADD node_modules/rimraf
npm sill ADD node_modules/reusify
npm sill ADD node_modules/responselike
npm sill ADD node_modules/resolve-alpn
npm sill ADD node_modules/resolve
npm sill ADD node_modules/require-directory
npm sill ADD node_modules/regexp.prototype.flags
npm sill ADD node_modules/redent
npm sill ADD node_modules/redent/node_modules/indent-string
npm sill ADD node_modules/readdirp
npm sill ADD node_modules/readable-stream
npm sill ADD node_modules/readable-stream/node_modules/safe-buffer
npm sill ADD node_modules/readable-stream/node_modules/isarray
npm sill ADD node_modules/read-pkg-up
npm sill ADD node_modules/read-pkg-up/node_modules/type-fest
npm sill ADD node_modules/read-pkg-up/node_modules/read-pkg
npm sill ADD node_modules/read-pkg-up/node_modules/read-pkg/node_modules/type-fest
npm sill ADD node_modules/read-pkg-up/node_modules/parse-json
npm sill ADD node_modules/read-pkg
npm sill ADD node_modules/read-pkg/node_modules/pify
npm sill ADD node_modules/read-pkg/node_modules/path-type
npm sill ADD node_modules/read-cache
npm sill ADD node_modules/quick-lru
npm sill ADD node_modules/queue-microtask
npm sill ADD node_modules/pump
npm sill ADD node_modules/process-nextick-args
npm sill ADD node_modules/pretty-hrtime
npm sill ADD node_modules/postcss-value-parser
npm sill ADD node_modules/postcss-selector-parser
npm sill ADD node_modules/postcss-reporter
npm sill ADD node_modules/postcss-nesting
npm sill ADD node_modules/postcss-load-config
npm sill ADD node_modules/postcss-import
npm sill ADD node_modules/postcss-cli
npm sill ADD node_modules/postcss-cli/node_modules/slash
npm sill ADD node_modules/postcss
npm sill ADD node_modules/pinkie-promise
npm sill ADD node_modules/pinkie
npm sill ADD node_modules/pify
npm sill ADD node_modules/pidtree
npm sill ADD node_modules/picomatch
npm sill ADD node_modules/picocolors
npm sill ADD node_modules/pend
npm sill ADD node_modules/path-type
npm sill ADD node_modules/path-scurry
npm sill ADD node_modules/path-parse
npm sill ADD node_modules/path-key
npm sill ADD node_modules/path-is-absolute
npm sill ADD node_modules/path-exists
npm sill ADD node_modules/parse-json
npm sill ADD node_modules/pagefind
npm sill ADD node_modules/p-try
npm sill ADD node_modules/p-map
npm sill ADD node_modules/p-locate
npm sill ADD node_modules/p-limit
npm sill ADD node_modules/p-cancelable
npm sill ADD node_modules/once
npm sill ADD node_modules/object.assign
npm sill ADD node_modules/object-path
npm sill ADD node_modules/object-keys
npm sill ADD node_modules/object-inspect
npm sill ADD node_modules/object-assign
npm sill ADD node_modules/npm-run-all
npm sill ADD node_modules/normalize-url
npm sill ADD node_modules/normalize-path
npm sill ADD node_modules/normalize-package-data
npm sill ADD node_modules/normalize-package-data/node_modules/semver
npm sill ADD node_modules/nice-try
npm sill ADD node_modules/ncp
npm sill ADD node_modules/nanoid
npm sill ADD node_modules/mv
npm sill ADD node_modules/mv/node_modules/rimraf
npm sill ADD node_modules/mv/node_modules/glob
npm sill ADD node_modules/move-cli
npm sill ADD node_modules/mkdirp
npm sill ADD node_modules/minipass
npm sill ADD node_modules/minimist-options
npm sill ADD node_modules/minimist
npm sill ADD node_modules/minimatch
npm sill ADD node_modules/min-indent
npm sill ADD node_modules/mimic-response
npm sill ADD node_modules/micromatch
npm sill ADD node_modules/merge2
npm sill ADD node_modules/meow
npm sill ADD node_modules/memorystream
npm sill ADD node_modules/map-obj
npm sill ADD node_modules/make-dir
npm sill ADD node_modules/make-dir/node_modules/pify
npm sill ADD node_modules/lru-cache
npm sill ADD node_modules/lowercase-keys
npm sill ADD node_modules/locate-path
npm sill ADD node_modules/load-json-file
npm sill ADD node_modules/load-json-file/node_modules/pify
npm sill ADD node_modules/lines-and-columns
npm sill ADD node_modules/lilconfig
npm sill ADD node_modules/kind-of
npm sill ADD node_modules/keyv
npm sill ADD node_modules/jsonfile
npm sill ADD node_modules/json-parse-even-better-errors
npm sill ADD node_modules/json-parse-better-errors
npm sill ADD node_modules/json-buffer
npm sill ADD node_modules/js-tokens
npm sill ADD node_modules/jackspeak
npm sill ADD node_modules/isexe
npm sill ADD node_modules/isarray
npm sill ADD node_modules/is-weakref
npm sill ADD node_modules/is-typed-array
npm sill ADD node_modules/is-symbol
npm sill ADD node_modules/is-string
npm sill ADD node_modules/is-stream
npm sill ADD node_modules/is-shared-array-buffer
npm sill ADD node_modules/is-regex
npm sill ADD node_modules/is-plain-obj
npm sill ADD node_modules/is-path-inside
npm sill ADD node_modules/is-path-cwd
npm sill ADD node_modules/is-number-object
npm sill ADD node_modules/is-number
npm sill ADD node_modules/is-negative-zero
npm sill ADD node_modules/is-natural-number
npm sill ADD node_modules/is-glob
npm sill ADD node_modules/is-fullwidth-code-point
npm sill ADD node_modules/is-extglob
npm sill ADD node_modules/is-date-object
npm sill ADD node_modules/is-core-module
npm sill ADD node_modules/is-callable
npm sill ADD node_modules/is-boolean-object
npm sill ADD node_modules/is-binary-path
npm sill ADD node_modules/is-bigint
npm sill ADD node_modules/is-arrayish
npm sill ADD node_modules/is-array-buffer
npm sill ADD node_modules/internal-slot
npm sill ADD node_modules/inherits
npm sill ADD node_modules/inflight
npm sill ADD node_modules/indent-string
npm sill ADD node_modules/ignore
npm sill ADD node_modules/ieee754
npm sill ADD node_modules/hugo-installer
npm sill ADD node_modules/http2-wrapper
npm sill ADD node_modules/http-cache-semantics
npm sill ADD node_modules/hpagent
npm sill ADD node_modules/hosted-git-info
npm sill ADD node_modules/has-tostringtag
npm sill ADD node_modules/has-symbols
npm sill ADD node_modules/has-proto
npm sill ADD node_modules/has-property-descriptors
npm sill ADD node_modules/has-flag
npm sill ADD node_modules/has-bigints
npm sill ADD node_modules/has
npm sill ADD node_modules/hard-rejection
npm sill ADD node_modules/graceful-fs
npm sill ADD node_modules/got
npm sill ADD node_modules/got/node_modules/get-stream
npm sill ADD node_modules/gopd
npm sill ADD node_modules/globby
npm sill ADD node_modules/globalthis
npm sill ADD node_modules/glob-parent
npm sill ADD node_modules/glob
npm sill ADD node_modules/glob/node_modules/minimatch
npm sill ADD node_modules/glob/node_modules/brace-expansion
npm sill ADD node_modules/get-symbol-description
npm sill ADD node_modules/get-stream
npm sill ADD node_modules/get-stdin
npm sill ADD node_modules/get-intrinsic
npm sill ADD node_modules/get-caller-file
npm sill ADD node_modules/functions-have-names
npm sill ADD node_modules/function.prototype.name
npm sill ADD node_modules/function-bind
npm sill ADD node_modules/fsevents
npm sill ADD node_modules/fs.realpath
npm sill ADD node_modules/fs-extra
npm sill ADD node_modules/fs-constants
npm sill ADD node_modules/form-data-encoder
npm sill ADD node_modules/foreground-child
npm sill ADD node_modules/foreground-child/node_modules/which
npm sill ADD node_modules/foreground-child/node_modules/shebang-regex
npm sill ADD node_modules/foreground-child/node_modules/shebang-command
npm sill ADD node_modules/foreground-child/node_modules/path-key
npm sill ADD node_modules/foreground-child/node_modules/cross-spawn
npm sill ADD node_modules/for-each
npm sill ADD node_modules/find-up
npm sill ADD node_modules/fill-range
npm sill ADD node_modules/file-type
npm sill ADD node_modules/fd-slicer
npm sill ADD node_modules/fastq
npm sill ADD node_modules/fast-glob
npm sill ADD node_modules/exec-bin
npm sill ADD node_modules/escape-string-regexp
npm sill ADD node_modules/escalade
npm sill ADD node_modules/es-to-primitive
npm sill ADD node_modules/es-set-tostringtag
npm sill ADD node_modules/es-abstract
npm sill ADD node_modules/error-ex
npm sill ADD node_modules/end-of-stream
npm sill ADD node_modules/emoji-regex
npm sill ADD node_modules/eastasianwidth
npm sill ADD node_modules/dir-glob
npm sill ADD node_modules/dependency-graph
npm sill ADD node_modules/del
npm sill ADD node_modules/del/node_modules/rimraf
npm sill ADD node_modules/del/node_modules/glob
npm sill ADD node_modules/define-properties
npm sill ADD node_modules/define-data-property
npm sill ADD node_modules/defer-to-connect
npm sill ADD node_modules/decompress-unzip
npm sill ADD node_modules/decompress-unzip/node_modules/file-type
npm sill ADD node_modules/decompress-targz
npm sill ADD node_modules/decompress-tarbz2
npm sill ADD node_modules/decompress-tarbz2/node_modules/file-type
npm sill ADD node_modules/decompress-tar
npm sill ADD node_modules/decompress-response
npm sill ADD node_modules/decompress-response/node_modules/mimic-response
npm sill ADD node_modules/decompress
npm sill ADD node_modules/decamelize-keys
npm sill ADD node_modules/decamelize-keys/node_modules/map-obj
npm sill ADD node_modules/decamelize
npm sill ADD node_modules/cssesc
npm sill ADD node_modules/cross-spawn
npm sill ADD node_modules/cross-spawn/node_modules/semver
npm sill ADD node_modules/core-util-is
npm sill ADD node_modules/concat-map
npm sill ADD node_modules/commander
npm sill ADD node_modules/color-name
npm sill ADD node_modules/color-convert
npm sill ADD node_modules/clone-response
npm sill ADD node_modules/cliui
npm sill ADD node_modules/cliui/node_modules/wrap-ansi
npm sill ADD node_modules/cliui/node_modules/strip-ansi
npm sill ADD node_modules/cliui/node_modules/string-width
npm sill ADD node_modules/cliui/node_modules/emoji-regex
npm sill ADD node_modules/cliui/node_modules/color-name
npm sill ADD node_modules/cliui/node_modules/color-convert
npm sill ADD node_modules/cliui/node_modules/ansi-styles
npm sill ADD node_modules/cliui/node_modules/ansi-regex
npm sill ADD node_modules/clean-stack
npm sill ADD node_modules/clean-stack/node_modules/escape-string-regexp
npm sill ADD node_modules/chokidar
npm sill ADD node_modules/chalk
npm sill ADD node_modules/camelcase-keys
npm sill ADD node_modules/camelcase-keys/node_modules/quick-lru
npm sill ADD node_modules/camelcase
npm sill ADD node_modules/call-bind
npm sill ADD node_modules/cacheable-request
npm sill ADD node_modules/cacheable-request/node_modules/responselike
npm sill ADD node_modules/cacheable-request/node_modules/lowercase-keys
npm sill ADD node_modules/cacheable-request/node_modules/get-stream
npm sill ADD node_modules/cacheable-lookup
npm sill ADD node_modules/buffer-fill
npm sill ADD node_modules/buffer-crc32
npm sill ADD node_modules/buffer-alloc-unsafe
npm sill ADD node_modules/buffer-alloc
npm sill ADD node_modules/buffer
npm sill ADD node_modules/braces
npm sill ADD node_modules/brace-expansion
npm sill ADD node_modules/bl
npm sill ADD node_modules/binary-extensions
npm sill ADD node_modules/base64-js
npm sill ADD node_modules/balanced-match
npm sill ADD node_modules/available-typed-arrays
npm sill ADD node_modules/arrify
npm sill ADD node_modules/arraybuffer.prototype.slice
npm sill ADD node_modules/array-buffer-byte-length
npm sill ADD node_modules/anymatch
npm sill ADD node_modules/ansi-styles
npm sill ADD node_modules/ansi-regex
npm sill ADD node_modules/aggregate-error
npm sill ADD node_modules/@types/responselike
npm sill ADD node_modules/@types/normalize-package-data
npm sill ADD node_modules/@types/node
npm sill ADD node_modules/@types/minimist
npm sill ADD node_modules/@types/keyv
npm sill ADD node_modules/@types/http-cache-semantics
npm sill ADD node_modules/@types/cacheable-request
npm sill ADD node_modules/@szmarczak/http-timer
npm sill ADD node_modules/@sindresorhus/is
npm sill ADD node_modules/@pkgjs/parseargs
npm sill ADD 
npm sill ADD 
npm sill ADD 
npm sill ADD 
npm sill ADD node_modules/@pagefind/darwin-arm64
npm sill ADD node_modules/@nodelib/fs.walk
npm sill ADD node_modules/@nodelib/fs.stat
npm sill ADD node_modules/@nodelib/fs.scandir
npm sill ADD node_modules/@isaacs/cliui
npm sill ADD node_modules/@csstools/selector-specificity
npm sill ADD node_modules/@babel/highlight
npm sill ADD node_modules/@babel/helper-validator-identifier
npm sill ADD node_modules/@babel/code-frame

added 364 packages, and audited 365 packages in 6s

114 packages are looking for funding
  run `npm fund` for details

2 moderate severity vulnerabilities

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.
npm verb exit 0
npm info ok 
bglw commented 11 months ago

Hmm, so we don't see reify failed optional dependency for darwin-arm64,

We do see

npm http fetch GET 200 https://registry.npmjs.org/@pagefind/darwin-arm64/-/darwin-arm64-1.0.3.tgz 5211ms (cache miss)

And we also see

npm sill ADD node_modules/@pagefind/darwin-arm64

So the install at least looks like it is behaving.

Next steps — can you give me the output of ls -lh node_modules/@pagefind/darwin-arm64 🙂

brycewray commented 11 months ago

Next steps — can you give me the output of ls -lh node_modules/@pagefind/darwin-arm64 🙂

➜  hugo-site git:(main) ls -lh node_modules/@pagefind/darwin-arm64
total 16
-rw-r--r--@  1 brycewray  staff    70B Sep 28 14:54 README.md
drwxr-xr-x@ 13 brycewray  staff   416B Sep 28 14:54 bin
-rw-r--r--@  1 brycewray  staff   280B Sep 28 14:54 package.json
bglw commented 11 months ago

Oops sorry — ls -lh node_modules/@pagefind/darwin-arm64/bin please

brycewray commented 11 months ago
➜  hugo-site git:(main) ls -lh node_modules/@pagefind/darwin-arm64/bin
total 459072
-rw-r--r--@ 1 brycewray  staff   110B Sep 28 14:54 pagefind-v1.0.3-aarch64-apple-darwin.tar.gz.sha256
-rw-r--r--@ 1 brycewray  staff   116B Sep 28 14:54 pagefind-v1.0.3-aarch64-unknown-linux-musl.tar.gz.sha256
-rw-r--r--@ 1 brycewray  staff   109B Sep 28 14:54 pagefind-v1.0.3-x86_64-apple-darwin.tar.gz.sha256
-rw-r--r--@ 1 brycewray  staff   112B Sep 28 14:54 pagefind-v1.0.3-x86_64-pc-windows-msvc.tar.gz.sha256
-rw-r--r--@ 1 brycewray  staff   115B Sep 28 14:54 pagefind-v1.0.3-x86_64-unknown-linux-musl.tar.gz.sha256
-rwxr-xr-x@ 1 brycewray  staff   221M Sep 28 14:54 pagefind_extended
-rw-r--r--@ 1 brycewray  staff   119B Sep 28 14:54 pagefind_extended-v1.0.3-aarch64-apple-darwin.tar.gz.sha256
-rw-r--r--@ 1 brycewray  staff   125B Sep 28 14:54 pagefind_extended-v1.0.3-aarch64-unknown-linux-musl.tar.gz.sha256
-rw-r--r--@ 1 brycewray  staff   118B Sep 28 14:54 pagefind_extended-v1.0.3-x86_64-apple-darwin.tar.gz.sha256
-rw-r--r--@ 1 brycewray  staff   121B Sep 28 14:54 pagefind_extended-v1.0.3-x86_64-pc-windows-msvc.tar.gz.sha256
-rw-r--r--@ 1 brycewray  staff   124B Sep 28 14:54 pagefind_extended-v1.0.3-x86_64-unknown-linux-musl.tar.gz.sha256
bglw commented 11 months ago

And everything continues to look correct 😅 😅

Final thing — if you run:

./node_modules/@pagefind/darwin-arm64/bin/pagefind_extended --site public

Does the binary run correctly?

brycewray commented 11 months ago

Yes...

Running Pagefind v1.0.3 (Extended)
Running from: "/Users/brycewray/hugo-site"
Source:       "public"
Output:       "public/pagefind"

[Walking source directory]
Found 398 files matching **/*.{html}

[Parsing files]
Did not find a data-pagefind-body element on the site.
↳ Indexing all <body> elements on the site.

[Reading languages]
Discovered 1 language: en

[Building search indexes]
Total: 
  Indexed 1 language
  Indexed 329 pages
  Indexed 13307 words
  Indexed 0 filters
  Indexed 0 sorts

Finished in 1.262 seconds

... and I just redid the local build and it went fine, other than correctly chiding me for using source rather than site (I was re-using language from pre-1.0):

➜  hugo-site git:(main) ./build.sh

> build
> npm-run-all build:prelim move-excerpts search

> build:prelim
> NODE_ENV=production npm-run-all clean prod:hugo

> clean
> rimraf public

> prod:hugo
> npm-run-all install:hugo prodexec:hugo

> install:hugo
> hugo-installer --version config.hugo --extended

Hugo Installer

> Checking for existing binary
  Binary already exists!
> Verifying binary health

Hugo is now available in "bin/hugo".

- Version       0.119.0
- Extended      Yes
- OS            darwin
- Architecture  arm64

hugo v0.119.0-b84644c008e0dc2c4b67bd69cccf87a41a03937e+extended darwin/arm64 BuildDate=2023-09-24T15:20:17Z VendorInfo=gohugoio

Success!

> prodexec:hugo
> exec-bin bin/hugo/hugo --minify --gc

Start building sites … 
hugo v0.119.0-b84644c008e0dc2c4b67bd69cccf87a41a03937e+extended darwin/arm64 BuildDate=2023-09-24T15:20:17Z VendorInfo=gohugoio

                   | EN   
-------------------+------
  Pages            | 338  
  Paginator pages  |  64  
  Non-page files   |   0  
  Static files     |  65  
  Processed images | 491  
  Aliases          |   1  
  Sitemaps         |   1  
  Cleaned          |  32  

Total in 3025 ms

> move-excerpts
> move-cli public/posts/index.xml public/index-excerpts.xml && move-cli public/posts/index.json public/index-excerpts.json

> search
> pagefind --source public

Running Pagefind v1.0.3 (Extended)
Running from: "/Users/brycewray/hugo-site"
Source:       "public"
Output:       "public/pagefind"

[Walking source directory]
Found 398 files matching **/*.{html}

[Parsing files]
Did not find a data-pagefind-body element on the site.
↳ Indexing all <body> elements on the site.

[Reading languages]
Discovered 1 language: en

[Building search indexes]
Total: 
  Indexed 1 language
  Indexed 329 pages
  Indexed 13307 words
  Indexed 0 filters
  Indexed 0 sorts

Finished in 1.211 seconds
1 configuration warning(s):

The `source` option is deprecated as of Pagefind 1.0. The `source` option has been renamed to `site`:

cli:    --site
config: site
env:    PAGEFIND_SITE
└─ "The location of your built static website"

... So do you think it was just a bad install?

bglw commented 11 months ago

Yeah, probably just npm stumbling somewhere on the first run.

The risk/downside of Pagefind's current npm distribution is that it lists each platform as an optionalDependency with an os / cpu restriction, so only one gets downloaded.

However, since they're all marked as optional, if npm fails to download that package it actually just continues "successfully" since it thinks it isn't required anyway. So maybe the tarball download silently failed 🤷‍♂️.

Let me know if it happens again or seems more systemic — I'll make a note to update the error message that gets logged, as it could now reference clearing node_modules and reinstalling, or adding the platform dependency directly, as possible fixes

brycewray commented 11 months ago

@bglw As always, many thanks, sir! Next time I run into something of this nature, I'll delete node_modules and try again, first.

bglw commented 11 months ago

(reopening to track the language change so I don't forget 🙈)

ClockRide commented 3 weeks ago

npm i --force helped me (in case someone ends up here while searching for a solution).