diff --git a/features.js b/features.js index ca3b0011..f4e1dae6 100644 --- a/features.js +++ b/features.js @@ -119,9 +119,11 @@ module.exports = { entry: 'vs/editor/standalone/browser/quickOpen/quickOutline', worker: undefined, }, - // TODO: here referenceSearch: { - entry: 'vs/editor/standalone/browser/referenceSearch/standaloneReferenceSearch', + entry: [ + 'vs/editor/contrib/referenceSearch/referenceSearch', + 'vs/editor/standalone/browser/referenceSearch/standaloneReferenceSearch', + ], worker: undefined, }, rename: { diff --git a/index.js b/index.js index 6b92702c..76501b27 100644 --- a/index.js +++ b/index.js @@ -84,8 +84,8 @@ function getPublicPath(compiler) { function createLoaderRules(languages, features, workers, outputPath, publicPath) { if (!languages.length && !features.length) { return []; } - const languagePaths = languages.map(({ entry }) => entry).filter(Boolean); - const featurePaths = features.map(({ entry }) => entry).filter(Boolean); + const languagePaths = flatArr(languages.map(({ entry }) => entry).filter(Boolean)); + const featurePaths = flatArr(features.map(({ entry }) => entry).filter(Boolean)); const workerPaths = fromPairs(workers.map(({ label, output }) => [label, path.join(outputPath, output)])); const globals = { @@ -162,6 +162,15 @@ function flatMap(items, iteratee) { return items.map(iteratee).reduce((acc, item) => [].concat(acc).concat(item), []); } +function flatArr(items) { + return items.reduce((acc, item) => { + if (Array.isArray(item)) { + return [].concat(acc).concat(item); + } + return [].concat(acc).concat([item]); + }, []); +} + function toPairs(object) { return Object.keys(object).map((key) => [key, object[key]]); }