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

@rasahq/xdm-tabula

v2.0.0-alpha.22

Published

## API

Downloads

15

Readme

@rasahq/xdm-tabula

API

||| |--|--| |md2Html|xxx| |md2InlineHtml|xxx| |mdx2Jsx|xxx| |mdx2InlineJsx|xxx| |mdxCompile|xxx| |MDXRenderer|renders mdx-jsx string| |MDXProvider|provides Context to MDXRenderer |

compileMDX(str, { inline: true }) renderMarkdown(str, { inline: true })

compile mdx process markdown render

questions

  • does this fully work with SSR on Next and Gatsby

MDX compile and render steps

GOALS

  • automatically replace a with project Link component
  • automatically extract a list of the magic shortcodes contained in an MDX block

markdown compile & render steps

GOALS

  • automatically replace a with project Link component

unified processing

babel configuration

GOALS

  • use the config which is local to the project
  • keep processing low, as in the lessBabel option in gatsby-plugin-mdx

NOTES

  • when no config is present and no targets option is passed, preset-env defaults to preset-latest, transforming everything down to ES5 (bad—planned to be revised in babel 8); therefore it must always be used with a config, or with a special targets string, e.g.:
    • targets: { esmodules: true } will ignore browser configs and build for module-supporting browsers. this is ideal for a two-part build, where you are serving two bundle types
  • other options:
    • bugfixes: this option "tries to compile the broken syntax to the closest non-broken modern syntax supported by your target browsers", consolidating various features sets in a smaller and smarter way (worth a try)
    • useBuiltIns: defaults to false, could be 'entry' or 'usage': in the latter cases it's recommended to also add core-js@3 and specify the corejs: 3 option. (question: what does gatsby do here?)
    • browserslistEnv: tells babel to use a specific environment; probably should not be specified at library level but rather in project; applies to projects which specify environment sub-configs that key off of BROWSERSLIST_ENV or NODE_ENV.
  • recommended configuration method:
    • babel recommends using .browserslistrc. Here you specify queries in separate lines in a plain text file.
    • browserslist recommends using browserslist key in package.json. Here you specify queries as separate strings in an array.
  • about additional plugins:
    • babel-plugin-remove-export-keywords comes from @mdx-js and seems only relevant to files; we are going to assume that our MDX strings from the CMS contain neither imports nor exports, but as noted in this issue thread, the combination of skipExport: true and this plugin can be used to turn an MDX file in to a function, as a beginning transformation
    • babel-plugin-remove-make-shortcode and babel-plugin-remove-imports are being kept around here, in case they are useful for eventualy file (page-component) MDX parsing

/* CONSIDER as defaults: https://github.com/remarkjs/remark-squeeze-paragraphs https://github.com/rehypejs/rehype-minify/tree/main/packages/rehype-minify-whitespace */

module.exports = { remarkPlugins: [ // [require('./lib/remark-abbr'), {}], [require('remark-kbd'), {}], [require('remark-mark-plus'), {}], [require('remark-sources'), {}], // [require('remark-images'), {}], // [require('remark-collapse'), { test: '' }], // [require('remark-unwrap-images'), {}], // [require('./plugins/remark-figure-caption'), {}], ], rehypePlugins: [[require('./rehype-figure'), {}]], };