Skip to content

Commit

Permalink
chore: Update readme & run prettier
Browse files Browse the repository at this point in the history
  • Loading branch information
phated committed Apr 7, 2022
1 parent 2f5b29a commit 0c2b229
Show file tree
Hide file tree
Showing 3 changed files with 181 additions and 34 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/dev.yml
Expand Up @@ -35,8 +35,8 @@ jobs:
- name: Prettier
uses: gulpjs/prettier_action@v3.0
with:
commit_message: "chore: Update readme & run prettier"
prettier_options: "--write ."
commit_message: 'chore: Update readme & run prettier'
prettier_options: '--write .'

test:
name: Tests for Node ${{ matrix.node }} on ${{ matrix.os }}
Expand Down
140 changes: 140 additions & 0 deletions README.md
Expand Up @@ -60,6 +60,77 @@ A sample of an entry containing multiple hooks would look like:
**Supported extensions and their hooks**

```yaml file=scripts/extensions.yaml
.babel.js:
- '@babel/register'
.babel.jsx:
- '@babel/register'
.babel.ts:
- '@babel/register'
.babel.tsx:
- '@babel/register'
.coffee:
- coffeescript/register
.coffee.md:
- coffeescript/register
.esbuild.js:
- esbuild-register/dist/node
.esbuild.jsx:
- esbuild-register/dist/node
.esbuild.ts:
- esbuild-register/dist/node
.esbuild.tsx:
- esbuild-register/dist/node
.esm.js:
- esm
.js:
- built-in node.js loader
.json:
- built-in node.js loader
.json5:
- json5/lib/register
.jsx:
- '@babel/register'
- sucrase/register/jsx
.litcoffee:
- coffeescript/register
.mjs:
- interpret/mjs-stub
.node:
- built-in node.js loader
.sucrase.js:
- sucrase/dist/register
.sucrase.jsx:
- sucrase/dist/register
.sucrase.ts:
- sucrase/dist/register
.sucrase.tsx:
- sucrase/dist/register
.swc.js:
- '@swc/register'
.swc.jsx:
- '@swc/register'
.swc.ts:
- '@swc/register'
.swc.tsx:
- '@swc/register'
.toml:
- toml-require
.ts:
- ts-node/register
- sucrase/register/ts
- '@babel/register'
- esbuild-register/dist/node
- '@swc/register'
.tsx:
- ts-node/register
- sucrase/register/tsx
- '@babel/register'
- esbuild-register/dist/node
- '@swc/register'
.yaml:
- yaml-hook/register
.yml:
- yaml-hook/register
```

### `jsVariants`
Expand All @@ -69,26 +140,95 @@ The `jsVariants` is the same mapping as above, but only include the extensions w
**Supported extensions and their hooks**

```yaml file=scripts/jsVariants.yaml
.babel.js:
- '@babel/register'
.babel.jsx:
- '@babel/register'
.babel.ts:
- '@babel/register'
.babel.tsx:
- '@babel/register'
.coffee:
- coffeescript/register
.coffee.md:
- coffeescript/register
.esbuild.js:
- esbuild-register/dist/node
.esbuild.jsx:
- esbuild-register/dist/node
.esbuild.ts:
- esbuild-register/dist/node
.esbuild.tsx:
- esbuild-register/dist/node
.esm.js:
- esm
.js:
- built-in node.js loader
.jsx:
- '@babel/register'
- sucrase/register/jsx
.litcoffee:
- coffeescript/register
.mjs:
- interpret/mjs-stub
.sucrase.js:
- sucrase/dist/register
.sucrase.jsx:
- sucrase/dist/register
.sucrase.ts:
- sucrase/dist/register
.sucrase.tsx:
- sucrase/dist/register
.swc.js:
- '@swc/register'
.swc.jsx:
- '@swc/register'
.swc.ts:
- '@swc/register'
.swc.tsx:
- '@swc/register'
.ts:
- ts-node/register
- sucrase/register/ts
- '@babel/register'
- esbuild-register/dist/node
- '@swc/register'
.tsx:
- ts-node/register
- sucrase/register/tsx
- '@babel/register'
- esbuild-register/dist/node
- '@swc/register'
```

## License

MIT

<!-- prettier-ignore-start -->

[downloads-image]: https://img.shields.io/npm/dm/interpret.svg?style=flat-square

[npm-url]: https://www.npmjs.com/package/interpret

[npm-image]: https://img.shields.io/npm/v/interpret.svg?style=flat-square

[ci-url]: https://github.com/gulpjs/interpret/actions?query=workflow:dev

[ci-image]: https://img.shields.io/github/workflow/status/gulpjs/interpret/dev?style=flat-square

[coveralls-url]: https://coveralls.io/r/gulpjs/interpret

[coveralls-image]: https://img.shields.io/coveralls/gulpjs/interpret/master.svg?style=flat-square

<!-- prettier-ignore-end -->

<!-- prettier-ignore-start -->

[Liftoff]: http://github.com/gulpjs/liftoff

[rechoir]: http://github.com/gulpjs/rechoir

[require.extensions]: https://nodejs.org/api/modules.html#requireextensions

<!-- prettier-ignore-end -->
71 changes: 39 additions & 32 deletions scripts/plugin.mjs
Expand Up @@ -10,41 +10,48 @@ export default codeImport;

// Also preparing the files we need for the README
var config = {
sortKeys: true,
skipInvalid: true,
replacer: function (key, value) {
// Top-level object
if (key === '') {
return value;
}

if (key.startsWith('.')) {
return Array.isArray(value) ? value : [value];
}

if (value === null) {
return 'built-in node.js loader'
}

if (typeof value !== 'string') {
return value.module;
}

if (value.includes('mjs-stub')) {
return 'interpret/mjs-stub';
}

if (value.includes('cjs-stub')) {
return 'interpret/cjs-stub';
}

return value;
sortKeys: true,
skipInvalid: true,
replacer: function (key, value) {
// Top-level object
if (key === '') {
return value;
}

if (key.startsWith('.')) {
return Array.isArray(value) ? value : [value];
}

if (value === null) {
return 'built-in node.js loader';
}

if (typeof value !== 'string') {
return value.module;
}

if (value.includes('mjs-stub')) {
return 'interpret/mjs-stub';
}

if (value.includes('cjs-stub')) {
return 'interpret/cjs-stub';
}

return value;
},
};

var extensions = yaml.dump(interpret.extensions, config);
var jsVariants = yaml.dump(interpret.jsVariants, config);

fs.writeFileSync(new URL('./extensions.yaml', import.meta.url), extensions, 'utf8');
fs.writeFileSync(new URL('./jsVariants.yaml', import.meta.url), jsVariants, 'utf8');

fs.writeFileSync(
new URL('./extensions.yaml', import.meta.url),
extensions,
'utf8'
);
fs.writeFileSync(
new URL('./jsVariants.yaml', import.meta.url),
jsVariants,
'utf8'
);

0 comments on commit 0c2b229

Please sign in to comment.