Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read
Q&A

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?

Why does this post require moderator attention?
You might want to add some details to your flag.
Why should this post be closed?

0 comment threads

1 answer

+1
−0

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.

Why does this post require moderator attention?
You might want to add some details to your flag.

0 comment threads

Sign up to answer this question »