fix: runtime
This commit is contained in:
parent
6abc4bc01f
commit
f476a6792a
|
@ -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",
|
||||
|
|
|
@ -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);
|
||||
});
|
||||
|
|
|
@ -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');
|
|
@ -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",
|
||||
|
|
62
packages/core/test/server/resolve.js
Normal file
62
packages/core/test/server/resolve.js
Normal 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);
|
||||
});
|
|
@ -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,
|
||||
|
|
|
@ -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',
|
||||
}),
|
||||
);
|
||||
|
|
Loading…
Reference in New Issue
Block a user