<!-- Please make sure you have read the submission guidelines before posting an PR --> <!-- https://github.com/nrwl/nx/blob/master/CONTRIBUTING.md#-submitting-a-pr --> <!-- Please make sure that your commit message follows our format --> <!-- Example: `fix(nx): must begin with lowercase` --> <!-- If this is a particularly complex change or feature addition, you can request a dedicated Nx release for this pull request branch. Mention someone from the Nx team or the `@nrwl/nx-pipelines-reviewers` and they will confirm if the PR warrants its own release for testing purposes, and generate it for you if appropriate. --> ## Current Behavior <!-- This is the behavior we have today --> There is no implementation for `createNodesV2`. ## Expected Behavior <!-- This is the behavior we should expect with the changes in this PR --> There should be an implementation for `createNodesV2`. ## Related Issue(s) <!-- Please link the issue being fixed so it gets closed when this is merged. --> Fixes #
62 lines
1.5 KiB
TypeScript
62 lines
1.5 KiB
TypeScript
import { CreateNodesContext } from '@nx/devkit';
|
|
import { createNodesV2 } from './plugin';
|
|
import { TempFs } from 'nx/src/internal-testing-utils/temp-fs';
|
|
import { join } from 'path';
|
|
|
|
describe('@nx/webpack/plugin', () => {
|
|
let createNodesFunction = createNodesV2[1];
|
|
let context: CreateNodesContext;
|
|
let tempFs: TempFs;
|
|
|
|
beforeEach(() => {
|
|
tempFs = new TempFs('webpack-plugin');
|
|
|
|
context = {
|
|
nxJsonConfiguration: {
|
|
namedInputs: {
|
|
default: ['{projectRoot}/**/*'],
|
|
production: ['!{projectRoot}/**/*.spec.ts'],
|
|
},
|
|
},
|
|
workspaceRoot: tempFs.tempDir,
|
|
configFiles: [],
|
|
};
|
|
|
|
tempFs.createFileSync(
|
|
'my-app/project.json',
|
|
JSON.stringify({ name: 'my-app' })
|
|
);
|
|
tempFs.createFileSync('my-app/webpack.config.js', '');
|
|
});
|
|
|
|
afterEach(() => {
|
|
jest.resetModules();
|
|
});
|
|
|
|
it('should create nodes', async () => {
|
|
mockWebpackConfig({
|
|
output: {
|
|
path: 'dist/foo',
|
|
},
|
|
});
|
|
const nodes = await createNodesFunction(
|
|
['my-app/webpack.config.js'],
|
|
{
|
|
buildTargetName: 'build-something',
|
|
serveTargetName: 'my-serve',
|
|
previewTargetName: 'preview-site',
|
|
serveStaticTargetName: 'serve-static',
|
|
},
|
|
context
|
|
);
|
|
|
|
expect(nodes).toMatchSnapshot();
|
|
});
|
|
|
|
function mockWebpackConfig(config: any) {
|
|
jest.mock(join(tempFs.tempDir, 'my-app/webpack.config.js'), () => config, {
|
|
virtual: true,
|
|
});
|
|
}
|
|
});
|