rerumaccusamus
Version:
The meta-framework suite designed from scratch for frontend-focused modern web development.
42 lines (33 loc) • 1.14 kB
text/typescript
import path from 'path';
import { NodeWebpackConfig } from '../src/config/node';
import { userConfig } from './util';
describe('node webpack config', () => {
const fixtures = path.resolve(__dirname, './fixtures');
const appContext = {
internalDirectory: '/node_modules/.modern-js',
srcDirectory: '/src',
sharedDirectory: './shared',
appDirectory: fixtures,
entrypoints: [
{
entryName: 'page-a',
entryPath: path.resolve(fixtures, './demo/src/page-a/index.jsx'),
},
],
internalDirAlias: '@_modern_js_internal',
internalSrcAlias: '@_modern_js_src',
};
test(`webpack config target should be node`, () => {
const config = new NodeWebpackConfig(
appContext as any,
userConfig as any,
).config();
expect(config.target).toEqual('node');
expect(config.devtool).toBe(false);
expect(config.output?.filename).toBe('bundles/[name].js');
expect(config.output?.libraryTarget).toBe('commonjs2');
expect(config.optimization?.splitChunks).toBe(false);
expect(config.optimization?.runtimeChunk).toBe(false);
// TODO: css & babel
});
});