Skip to content

Commit

Permalink
chore!: Drop legacy loaders & extensions (#79)
Browse files Browse the repository at this point in the history
chore!: Remove legacy node-jsx hook
chore!: Remove deprecated typescript-node hook
chore!: Remove deprecated typescript-register hook
chore!: Remove unmaintained typescript-require hook
chore!: Replace legacy require-yaml with yaml-hook
chore!: Remove legacy require-xml support
chore!: Remove legacy/deprecated babel hooks
chore!: Remove legacy buble support
chore!: Remove legacy cirru-script support
chore!: Remove legacy node-cjsx support
chore!: Remove legacy coco support
chore!: Remove legacy/deprecated coffeescript hooks
chore!: Remove legacy require-csv support
chore!: Remove legacy earlgrey support
chore!: Remove legacy iced-coffee-script support
chore!: Remove legacy require-ini support
chore!: Remove legacy json5 hook
chore!: Remove legacy livescript support
chore!: Remove legacy wisp support
  • Loading branch information
phated committed Apr 7, 2022
1 parent d4b3104 commit 18a0319
Show file tree
Hide file tree
Showing 109 changed files with 147 additions and 982 deletions.
129 changes: 24 additions & 105 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,45 +26,16 @@ Map file types to modules which provide a [require.extensions] loader.

```js
{
'.babel.js': [
{
module: '@babel/register',
register: function(hook) {
hook({
extensions: '.js',
rootMode: 'upward-optional',
ignore: [ignoreNonBabelAndNodeModules],
});
},
},
{
module: 'babel-register',
register: function(hook) {
hook({
extensions: '.js',
ignore: ignoreNonBabelAndNodeModules,
});
},
},
{
module: 'babel-core/register',
register: function(hook) {
hook({
extensions: '.js',
ignore: ignoreNonBabelAndNodeModules,
});
},
},
{
module: 'babel/register',
register: function(hook) {
hook({
extensions: '.js',
ignore: ignoreNonBabelAndNodeModules,
});
},
'.babel.js': {
module: '@babel/register',
register: function(hook) {
hook({
extensions: '.js',
rootMode: 'upward-optional',
ignore: [ignoreNonBabelAndNodeModules],
});
},
],
},
'.babel.ts': [
{
module: '@babel/register',
Expand All @@ -77,14 +48,8 @@ Map file types to modules which provide a [require.extensions] loader.
},
},
],
'.buble.js': 'buble/register',
'.cirru': 'cirru-script/lib/register',
'.cjsx': 'node-cjsx/register',
'.co': 'coco',
'.coffee': ['coffeescript/register', 'coffee-script/register', 'coffeescript', 'coffee-script'],
'.coffee.md': ['coffeescript/register', 'coffee-script/register', 'coffeescript', 'coffee-script'],
'.csv': 'require-csv',
'.eg': 'earlgrey/register',
'.coffee': 'coffeescript/register',
'.coffee.md': 'coffeescript/register',
'.esm.js': {
module: 'esm',
register: function(hook) {
Expand All @@ -94,60 +59,20 @@ Map file types to modules which provide a [require.extensions] loader.
require.extensions['.js'] = esmLoader('module')._extensions['.js'];
},
},
'.iced': ['iced-coffee-script/register', 'iced-coffee-script'],
'.iced.md': 'iced-coffee-script/register',
'.ini': 'require-ini',
'.js': null,
'.json': null,
'.json5': ['json5/lib/register', 'json5/lib/require'],
'.jsx': [
{
module: '@babel/register',
register: function(hook) {
hook({
extensions: '.jsx',
rootMode: 'upward-optional',
ignore: [ignoreNonBabelAndNodeModules],
});
},
},
{
module: 'babel-register',
register: function(hook) {
hook({
extensions: '.jsx',
ignore: ignoreNonBabelAndNodeModules,
});
},
},
{
module: 'babel-core/register',
register: function(hook) {
hook({
extensions: '.jsx',
ignore: ignoreNonBabelAndNodeModules,
});
},
},
{
module: 'babel/register',
register: function(hook) {
hook({
extensions: '.jsx',
ignore: ignoreNonBabelAndNodeModules,
});
},
},
{
module: 'node-jsx',
register: function(hook) {
hook.install({ extension: '.jsx', harmony: true });
},
'.json5': 'json5/lib/register',
'.jsx': {
module: '@babel/register',
register: function(hook) {
hook({
extensions: '.jsx',
rootMode: 'upward-optional',
ignore: [ignoreNonBabelAndNodeModules],
});
},
],
'.litcoffee': ['coffeescript/register', 'coffee-script/register', 'coffeescript', 'coffee-script'],
'.liticed': 'iced-coffee-script/register',
'.ls': ['livescript', 'LiveScript'],
},
'.litcoffee': 'coffeescript/register',
'.mjs': '/absolute/path/to/interpret/mjs-stub.js',
'.node': null,
'.toml': {
Expand All @@ -158,9 +83,6 @@ Map file types to modules which provide a [require.extensions] loader.
},
'.ts': [
'ts-node/register',
'typescript-node/register',
'typescript-register',
'typescript-require',
'sucrase/register/ts',
{
module: '@babel/register',
Expand All @@ -175,7 +97,6 @@ Map file types to modules which provide a [require.extensions] loader.
],
'.tsx': [
'ts-node/register',
'typescript-node/register',
'sucrase/register',
{
module: '@babel/register',
Expand All @@ -188,10 +109,8 @@ Map file types to modules which provide a [require.extensions] loader.
},
},
],
'.wisp': 'wisp/engine/node',
'.xml': 'require-xml',
'.yaml': 'require-yaml',
'.yml': 'require-yaml',
'.yaml': 'yaml-hook/register',
'.yml': 'yaml-hook/register',
}
```

Expand Down
144 changes: 24 additions & 120 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,56 +14,22 @@ var endsInEsbuildTsx = /\.esbuild\.tsx$/;

var mjsStub = path.join(__dirname, 'mjs-stub');

function ignoreNonBabelAndNodeModules(file) {
return !endsInBabelJs.test(file) &&
path.relative(process.cwd(), file).split(path.sep).indexOf('node_modules') >= 0;
}

// Not part of the above check because it seems broken
function isNodeModules(file) {
return path.relative(process.cwd(), file).split(path.sep).indexOf('node_modules') >= 0;
}

var extensions = {
'.babel.js': [
{
module: '@babel/register',
register: function(hook) {
hook({
extensions: '.js',
rootMode: 'upward-optional',
overrides: [{ only: [endsInBabelJs] }],
});
},
},
{
module: 'babel-register',
register: function(hook) {
hook({
extensions: '.js',
ignore: ignoreNonBabelAndNodeModules,
});
},
},
{
module: 'babel-core/register',
register: function(hook) {
hook({
extensions: '.js',
ignore: ignoreNonBabelAndNodeModules,
});
},
},
{
module: 'babel/register',
register: function(hook) {
hook({
extensions: '.js',
ignore: ignoreNonBabelAndNodeModules,
});
},
'.babel.js': {
module: '@babel/register',
register: function(hook) {
hook({
extensions: '.js',
rootMode: 'upward-optional',
overrides: [{ only: [endsInBabelJs] }],
});
},
],
},
'.babel.jsx': {
module: '@babel/register',
register: function(hook) {
Expand Down Expand Up @@ -96,14 +62,8 @@ var extensions = {
});
},
},
'.buble.js': 'buble/register',
'.cirru': 'cirru-script/lib/register',
'.cjsx': 'node-cjsx/register',
'.co': 'coco',
'.coffee': ['coffeescript/register', 'coffee-script/register', 'coffeescript', 'coffee-script'],
'.coffee.md': ['coffeescript/register', 'coffee-script/register', 'coffeescript', 'coffee-script'],
'.csv': 'require-csv',
'.eg': 'earlgrey/register',
'.coffee': 'coffeescript/register',
'.coffee.md': 'coffeescript/register',
'.esbuild.js': {
module: 'esbuild-register/dist/node',
register: function(mod) {
Expand Down Expand Up @@ -161,60 +121,20 @@ var extensions = {
require.extensions['.js'] = esmLoader('module')._extensions['.js'];
},
},
'.iced': ['iced-coffee-script/register', 'iced-coffee-script'],
'.iced.md': 'iced-coffee-script/register',
'.ini': 'require-ini',
'.js': null,
'.json': null,
'.json5': ['json5/lib/register', 'json5/lib/require'],
'.jsx': [
{
module: '@babel/register',
register: function(hook) {
hook({
extensions: '.jsx',
rootMode: 'upward-optional',
overrides: [{ only: [endsInJsx] }],
});
},
},
{
module: 'babel-register',
register: function(hook) {
hook({
extensions: '.jsx',
ignore: ignoreNonBabelAndNodeModules,
});
},
},
{
module: 'babel-core/register',
register: function(hook) {
hook({
extensions: '.jsx',
ignore: ignoreNonBabelAndNodeModules,
});
},
},
{
module: 'babel/register',
register: function(hook) {
hook({
extensions: '.jsx',
ignore: ignoreNonBabelAndNodeModules,
});
},
},
{
module: 'node-jsx',
register: function(hook) {
hook.install({ extension: '.jsx', harmony: true });
},
'.json5': 'json5/lib/register',
'.jsx': {
module: '@babel/register',
register: function(hook) {
hook({
extensions: '.jsx',
rootMode: 'upward-optional',
overrides: [{ only: [endsInJsx] }],
});
},
],
'.litcoffee': ['coffeescript/register', 'coffee-script/register', 'coffeescript', 'coffee-script'],
'.liticed': 'iced-coffee-script/register',
'.ls': ['livescript', 'LiveScript'],
},
'.litcoffee': 'coffeescript/register',
'.mjs': mjsStub,
'.node': null,
'.toml': {
Expand All @@ -225,9 +145,6 @@ var extensions = {
},
'.ts': [
'ts-node/register',
'typescript-node/register',
'typescript-register',
'typescript-require',
'sucrase/register/ts',
{
module: '@babel/register',
Expand Down Expand Up @@ -264,7 +181,6 @@ var extensions = {
],
'.tsx': [
'ts-node/register',
'typescript-node/register',
'sucrase/register',
{
module: '@babel/register',
Expand Down Expand Up @@ -299,10 +215,8 @@ var extensions = {
},
},
],
'.wisp': 'wisp/engine/node',
'.xml': 'require-xml',
'.yaml': 'require-yaml',
'.yml': 'require-yaml',
'.yaml': 'yaml-hook/register',
'.yml': 'yaml-hook/register',
};

var jsVariantExtensions = [
Expand All @@ -315,24 +229,14 @@ var jsVariantExtensions = [
'.esbuild.jsx',
'.esbuild.ts',
'.esbuild.tsx',
'.buble.js',
'.cirru',
'.cjsx',
'.co',
'.coffee',
'.coffee.md',
'.eg',
'.esm.js',
'.iced',
'.iced.md',
'.jsx',
'.litcoffee',
'.liticed',
'.ls',
'.mjs',
'.ts',
'.tsx',
'.wisp',
];

module.exports = {
Expand Down

0 comments on commit 18a0319

Please sign in to comment.