Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
codemirror
Advanced tools
CodeMirror is a versatile text editor implemented in JavaScript for the browser. It is specialized for editing code and comes with a number of language modes and addons that implement more advanced editing functionality. A rich programming API and a CSS theming system are available for customizing CodeMirror to fit the needs of the project.
Syntax highlighting
This feature allows for syntax highlighting of code written in various programming languages. The example code initializes a CodeMirror instance with JavaScript syntax highlighting.
var editor = CodeMirror.fromTextArea(document.getElementById('code'), {mode: 'javascript'});
Code editing
CodeMirror provides a rich text editor for code, with features like auto-indentation, line numbers, and bracket matching. The example code creates an editor instance with some JavaScript code pre-filled.
var editor = CodeMirror(document.body, {value: 'function myScript(){return 100;}', mode: 'javascript'});
Autocompletion
Autocompletion can be enabled to suggest completions for the current token. The example code sets up an event listener to trigger autocompletion on certain inputs.
editor.on('inputRead', function onChange(editor, input) { if (input.text[0] === ';' || input.text[0] === ' ') { return; } CodeMirror.commands.autocomplete(editor); });
Themes
CodeMirror supports various themes to customize the appearance of the editor. The example code initializes a CodeMirror instance with the Monokai theme.
var editor = CodeMirror.fromTextArea(document.getElementById('code'), {mode: 'javascript', theme: 'monokai'});
Addons
CodeMirror has a variety of addons that can extend its functionality, such as displaying line numbers or matching brackets. The example code enables line numbers and bracket matching for the editor.
var editor = CodeMirror.fromTextArea(document.getElementById('code'), {mode: 'javascript', lineNumbers: true, matchBrackets: true});
Ace is a standalone code editor written in JavaScript. It matches many of the features of CodeMirror, such as syntax highlighting, themes, and extensions. However, Ace is known for its performance and is used in large-scale applications like Cloud9 IDE.
Monaco Editor is the code editor that powers VS Code, which is known for its rich IntelliSense, integrated debugging, and embedded Git control. It's more feature-rich compared to CodeMirror and is designed to work well in any browser.
Brace is a fork of Ace that is browserify compatible. It has a similar feature set to Ace and by extension, CodeMirror, but it is designed to be easier to install and use with browserify.
[ WEBSITE | DOCS | ISSUES | FORUM | CHANGELOG ]
This package provides an example configuration for the
CodeMirror code editor. The actual editor
is implemented in the various packages under the @codemirror
scope,
which this package depends on.
The project page has more information, a number of examples and the documentation.
This code is released under an MIT license.
We aim to be an inclusive, welcoming community. To make that explicit, we have a code of conduct that applies to communication around the project.
6.0.1 (2022-06-30)
Work around limitations in tree-shaking software that prevented basicSetup
from being removed when unused.
FAQs
Basic configuration for the CodeMirror code editor
The npm package codemirror receives a total of 2,220,335 weekly downloads. As such, codemirror popularity was classified as popular.
We found that codemirror demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.