forked from parcel-bundler/parcel
/
index.js
27 lines (25 loc) 路 872 Bytes
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// @flow
const {Resolver} = require('@parcel/plugin');
const path = require('path');
const {default: NodeResolver} = require('@parcel/node-resolver-core');
module.exports = new Resolver({
async resolve({dependency, options, specifier,logger}) {
let mainFields = ['source', 'browser', 'module', 'main'];
const replacedCode = options.env.replacedCode;
const resolver = new NodeResolver({
fs: options.inputFS,
projectRoot: options.projectRoot,
extensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'css', 'styl', 'vue'],
mainFields,
});
let result = await resolver.resolve({
filename: specifier,
specifierType: dependency.specifierType,
parent: dependency.sourcePath,
env: dependency.env,
});
result.code = replacedCode;
result.invalidateOnEnvChange = ['replacedCode'];
return result;
},
});