npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@uwu/simple-monaco-core

v1.4.0

Published

Monaco easy components core (loader, themer, other logic)

Downloads

5

Readme

simple-monaco-core

This is the core package that manages the common tasks such as loading and theming for the uwunet simple-monaco packages.

Top level docs

The monaco loading process

Monaco loading is lazy, and done only on demand.

  1. initMonacoIfNeeded(useNpmMonaco?) is called. If monaco is passed, sets that as the instance of the library to use, else it loads it from jsDelivr. This is done asynchronously and is mutexed, so future calls will await for the same loading.

    This is called the first time a component is mounted on the page, and the prop is exposed via the noCdn props as mentioned in the main docs.

  2. The monaco export is set to the instance of monaco.

  3. All post-load callbacks set with registerPostloadCallback(cb) are ran in order, asynchronously, and passed the monaco instance. This is useful for setting default options and the like.

  4. The promise returned from the init function resolves, allowing editor components to render.

Theme loading

You may use any of the themes from monaco-themes by name, the names of which are exported as namedThemes.

If your theme is not one of these you can link to the json as a url, and that will work too.

Finally, you can pass it manually with a name and IStandaloneThemeData object.

You do this by calling addThemeIfNeeded, after which you can use the theme by name in monaco.

If you're using the components, they will call this for you, and you simply pass the theme you want directly into the theme prop, see the main docs for more details.