feat: install moo and use in toy example (#2)

I failed to find a satisfactory way to compile and import moo.js with
  fixed specifiers, so finally I just gave up and patched the distributed
  moo code to be an es6 module. Very ugly but it works.

Resolves #1.

Reviewed-on: #2
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
This commit is contained in:
Glen Whitney 2023-09-01 21:32:25 +00:00 committed by Glen Whitney
parent 67a07e2000
commit e0861ea157
11 changed files with 88 additions and 25 deletions

9
tools/modulize.mjs Normal file
View file

@ -0,0 +1,9 @@
import {stdin, argv} from 'node:process'
import {streamToString} from '../etc/streamToString.js'
const preamble = `// ES6 Module converted from https://github.com/no-context/moo
export default (((f) => f())(function () {
`
const umd = await streamToString(stdin)
const realStart = umd.indexOf(" 'use strict'")
console.log(preamble + umd.substring(realStart))