fix: runtime

This commit is contained in:
cha0s 2024-01-30 12:55:17 -06:00
parent 6abc4bc01f
commit f476a6792a
13 changed files with 67 additions and 59 deletions

View File

@ -30,7 +30,6 @@
"babel-merge": "^3.0.0",
"chai": "4.2.0",
"chai-as-promised": "7.1.1",
"clear-module": "^4.1.2",
"commander": "11.1.0",
"copy-webpack-plugin": "^11.0.0",
"enhanced-resolve": "^5.9.2",

View File

@ -1,17 +1,13 @@
import {join} from 'path';
import {expect} from 'chai';
import clearModule from 'clear-module';
import resolve from '@flecks/build/build/resolve';
import Resolver from '@flecks/build/build/resolver';
const {
FLECKS_CORE_ROOT = process.cwd(),
} = process.env;
const root = join(FLECKS_CORE_ROOT, 'test', 'server', 'resolve');
it('can resolve', async () => {
const resolver = new Resolver();
expect(await resolver.resolve('./test/server/resolve'))
@ -26,53 +22,3 @@ it('can create aliases at runtime', async () => {
expect(await resolver.resolve('./test/server/foobar'))
.to.not.be.undefined;
});
it('can resolve inexact at runtime', async () => {
const clear = resolve({
alias: {
'./foo': './bar',
},
fallback: {},
}, []);
expect(__non_webpack_require__(join(root, 'blah')))
.to.equal(4);
clear();
clearModule(join(root, 'blah'));
expect(__non_webpack_require__(join(root, 'blah')))
.to.equal(3);
clearModule(join(root, 'blah'));
});
it('can resolve exact at runtime', async () => {
const clear = resolve({
alias: {
'./foo$': './bar',
},
fallback: {},
}, []);
expect(__non_webpack_require__(join(root, 'blah')))
.to.equal(3);
expect(__non_webpack_require__(join(root, 'boo')))
.to.equal(2);
clear();
clearModule(join(root, 'blah'));
clearModule(join(root, 'boo'));
expect(__non_webpack_require__(join(root, 'boo')))
.to.equal(1);
clearModule(join(root, 'boo'));
});
it('can resolve false at runtime', async () => {
const clear = resolve({
alias: {
'./foo': false,
},
fallback: {},
}, []);
expect(__non_webpack_require__(join(root, 'boo')))
.to.be.undefined;
clear();
clearModule(join(root, 'boo'));
expect(__non_webpack_require__(join(root, 'boo')))
.to.equal(1);
});

View File

@ -1,8 +1,8 @@
const {resolve: resolvePath} = require('path');
const D = require('@flecks/core/build/debug');
const D = require('./debug');
const debug = D('@flecks/server/build/runtime');
const debug = D('@flecks/core/build/resolve');
module.exports = function resolve({alias, fallback}, stubs) {
debug('installing resolution magic');

View File

@ -41,6 +41,7 @@
"babel-merge": "^3.0.0",
"chai": "4.2.0",
"chai-as-promised": "7.1.1",
"clear-module": "^4.1.2",
"copy-webpack-plugin": "^11.0.0",
"eslint": "^8.56.0",
"eslint-config-airbnb": "^19.0.4",

View File

@ -0,0 +1,62 @@
import {join} from 'path';
import {expect} from 'chai';
import clearModule from 'clear-module';
import resolve from '@flecks/core/build/resolve';
const {
FLECKS_CORE_ROOT = process.cwd(),
} = process.env;
const root = join(FLECKS_CORE_ROOT, 'test', 'server', 'resolve');
it('can resolve inexact', async () => {
const clear = resolve({
alias: {
'./foo': './bar',
},
fallback: {},
}, []);
expect(__non_webpack_require__(join(root, 'blah')))
.to.equal(4);
clear();
clearModule(join(root, 'blah'));
expect(__non_webpack_require__(join(root, 'blah')))
.to.equal(3);
clearModule(join(root, 'blah'));
});
it('can resolve exact', async () => {
const clear = resolve({
alias: {
'./foo$': './bar',
},
fallback: {},
}, []);
expect(__non_webpack_require__(join(root, 'blah')))
.to.equal(3);
expect(__non_webpack_require__(join(root, 'boo')))
.to.equal(2);
clear();
clearModule(join(root, 'blah'));
clearModule(join(root, 'boo'));
expect(__non_webpack_require__(join(root, 'boo')))
.to.equal(1);
clearModule(join(root, 'boo'));
});
it('can resolve false', async () => {
const clear = resolve({
alias: {
'./foo': false,
},
fallback: {},
}, []);
expect(__non_webpack_require__(join(root, 'boo')))
.to.be.undefined;
clear();
clearModule(join(root, 'boo'));
expect(__non_webpack_require__(join(root, 'boo')))
.to.equal(1);
});

View File

@ -77,7 +77,7 @@ module.exports = (program, flecks) => {
});
});
};
require('@flecks/build/build/resolve')(
require('@flecks/core/build/resolve')(
{
alias: flecks.resolver.aliases,
fallback: flecks.resolver.fallbacks,

View File

@ -12,7 +12,7 @@ exports.hooks = {
server.plugins.push(
banner({
// `require()` magic.
banner: `require('@flecks/build/build/resolve')(${resolver}, ${stubs})`,
banner: `require('@flecks/core/build/resolve')(${resolver}, ${stubs})`,
include: 'index.js',
}),
);