highlight.js 3rd party plugin error: Cannot read properties of undefined
+3
−0
Highlight.js version: 11.6.0
Node version: v18.12.0
npm version: 8.19.12
When I provide a plugin with the following code to highlightjs (full code is at github):
/*
Language: BQN
Requires:
Author: Raghu Ranganathan <rraghu.11502@gmail.com>
Contributors:
Description: BQN array language definitions
Website: https://mlochbaum.github.io/BQN
*/
export default function(hljs) {
return {
name: "BQN",
unicodeRegex: true,
keywords: '•BQN •ReBQN •primitives', // only primitive functions included.
contains: [
{
scope: 'string',
begin: '"', end: '"'
}
}
I get the following error during build:
$ node tools/build.js -t node
Starting build.
Finished build.
Writing styles.
/home/razetime/Documents/Code/gen/highlight.js/tools/build_node.js:184
const common = languages.filter(l => l.categories.includes("common"));
^
TypeError: Cannot read properties of undefined (reading 'categories')
at /home/razetime/Documents/Code/gen/highlight.js/tools/build_node.js:184:42
at Array.filter (<anonymous>)
at Object.buildNode [as build] (/home/razetime/Documents/Code/gen/highlight.js/tools/build_node.js:184:28)
at async doTarget (/home/razetime/Documents/Code/gen/highlight.js/tools/build.js:90:3)
Node.js v18.12.0
What is causing this error?
1 answer
+1
−0
Works for me
The following users marked this post as Works for me:
User | Comment | Date |
---|---|---|
Razetime | (no comment) | Nov 2, 2022 at 04:31 |
Answer from allejo (highlightjs contributor):
In your language file, remove your empty Requires:
line in the comment. After removing that, it should let you compile again. The comment is significant to the build process.
This will likely be handled silently or throw a warning in a future version of highlight.js.
0 comment threads