
Security News
Axios Maintainer Confirms Social Engineering Attack Behind npm Compromise
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.
@calumk/codeflask
Advanced tools

CodeCup: A micro code-editor for awesome web pages.
A Fork of CodeFlask
CodeFlask was a brilliant project, but seems to be unmaintained, and it required some significant updates to work with a new project I am working on.
Yes - The new logo uses Comic Sans :)
(Submitted as PR to CodeFlask, incase it gets picked up again)
You can install CodeCup via npm:
todo
Or use it directly in browser via cdn service:
todo
import CodeCup from 'codecup';
const flask = new CodeCup('#my-selector', { language: 'js' });
You can also pass a DOM element instead of a selector:
import CodeCup from 'codecup';
const editorElem = document.getElementById('editor');
const flask = new CodeCup(editorElem, { language: 'js' });
Usage with Shadow DOM:
import CodeCup from 'codecup';
...
const shadowElem = this.shadowRoot.querySelector('#editor');
const flask = new CodeCup(shadowElem, { language: 'js', styleParent: this.shadowRoot });
flask.onUpdate((code) => {
// do something with code here.
// this will trigger whenever the code
// in the editor changes.
});
// This will also trigger .onUpdate()
flask.updateCode('const my_new_code_here = "Blabla"');
const code = flask.getCode();
import CodeCup from 'codecup';
const cup = new CodeCup('#my-selector', {
language: 'js',
lineNumbers: true
});
import CodeCup from 'codecup';
const cup = new CodeCup('#my-selector', {
language: 'js',
rtl: true
});
import CodeCup from 'codecup';
const cup = new CodeCup('#my-selector', {
language: 'js',
readonly: true
});
cup.addLanguage('ruby', options)
import Prism from 'prismjs';
import CodeCup from 'codecup';
const cup = new CodeCup('#my-selector', {
language: 'ruby',
readonly: true
});
cup.addLanguage('ruby', Prism.languages['ruby']);
This API is simply a proxy to add a new language to Prism itself (the code highlighter). The options parameter must be the same accepted in Prism. You can read more about it here.
By default, CodeCup supports the following languages (which are also the default supported in Prism):
By default, CodeCup comes with a simple theme made from scratch called CodeNoon.
You can easily override this theme with your own by writting your own CSS and adding it to your project. If that's the case, you should also disable CodeNoon with the defaultTheme option:
import CodeCup from 'codecup';
const cup = new CodeCup('#my-selector', {
language: 'js',
defaultTheme: false
});
CodeCup.js was made possible by awesome open-source projects such as Prism.js and Webpack.
FAQs
A micro code-editor for awesome web pages
We found that @calumk/codeflask 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
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.