mirror of
https://github.com/tenrok/OverlayScrollbars.git
synced 2026-06-21 21:40:37 +03:00
improve playwright coverage
This commit is contained in:
@@ -59,8 +59,9 @@ module.exports = {
|
||||
});
|
||||
}
|
||||
},
|
||||
rollupEsBuild: () =>
|
||||
rollupEsBuild: (sourceMap) =>
|
||||
rollupPluginEsBuild({
|
||||
sourceMap,
|
||||
include: /\.[jt]sx?$/,
|
||||
target: 'es6',
|
||||
}),
|
||||
|
||||
@@ -53,7 +53,6 @@ module.exports = (resolve, options) => {
|
||||
format,
|
||||
generatedCode,
|
||||
file: typeof filePathOverride === 'function' ? filePathOverride(filePath) : filePath,
|
||||
plugins: (outputConfig.plugins || []).filter(Boolean),
|
||||
};
|
||||
const output = [baseOutput, minifiedVersion && createMinifiedOutput(baseOutput)].filter(
|
||||
Boolean
|
||||
@@ -72,7 +71,7 @@ module.exports = (resolve, options) => {
|
||||
rollupCommonjs(sourcemap, resolve),
|
||||
rollupBabel(resolve, generatedCode === 'es2015'),
|
||||
...plugins,
|
||||
].filter(Boolean),
|
||||
],
|
||||
};
|
||||
})
|
||||
.flat();
|
||||
|
||||
@@ -5,10 +5,11 @@ const {
|
||||
rollupResolve,
|
||||
rollupAlias,
|
||||
rollupScss,
|
||||
rollupLicense,
|
||||
} = require('./plugins');
|
||||
|
||||
module.exports = (resolve, options) => {
|
||||
const { rollup, paths, alias, extractStyles } = options;
|
||||
const { rollup, paths, alias, extractStyles, banner } = options;
|
||||
const { output: rollupOutput, input, plugins = [], ...rollupOptions } = rollup;
|
||||
const { file, sourcemap: rawSourcemap, ...outputConfig } = rollupOutput;
|
||||
const { dist: distPath } = paths;
|
||||
@@ -16,11 +17,10 @@ module.exports = (resolve, options) => {
|
||||
|
||||
const output = {
|
||||
...outputConfig,
|
||||
sourcemap: true,
|
||||
sourcemap,
|
||||
format: 'esm',
|
||||
generatedCode: 'es2015',
|
||||
file: path.resolve(distPath, `${file}.js`),
|
||||
plugins: (outputConfig.plugins || []).filter(Boolean),
|
||||
};
|
||||
|
||||
return {
|
||||
@@ -28,12 +28,13 @@ module.exports = (resolve, options) => {
|
||||
output,
|
||||
...rollupOptions,
|
||||
plugins: [
|
||||
rollupLicense(banner, sourcemap),
|
||||
rollupAlias(alias),
|
||||
rollupScss(resolve, sourcemap, extractStyles, false),
|
||||
rollupEsBuild(),
|
||||
rollupEsBuild(sourcemap),
|
||||
rollupCommonjs(sourcemap, resolve),
|
||||
rollupResolve(resolve),
|
||||
...plugins,
|
||||
].filter(Boolean),
|
||||
],
|
||||
};
|
||||
};
|
||||
|
||||
@@ -20,7 +20,7 @@ module.exports = (resolve, options) => {
|
||||
banner,
|
||||
minified
|
||||
),
|
||||
rollupEsBuild(),
|
||||
rollupEsBuild(false),
|
||||
rollupResolve(resolve, (module) =>
|
||||
resolve.styleExtensions.some((ext) => module.endsWith(ext))
|
||||
),
|
||||
|
||||
@@ -84,6 +84,8 @@ const mergeAndResolveOptions = (userOptions) => {
|
||||
},
|
||||
};
|
||||
const { dist, types, styles } = mergedOptions.paths;
|
||||
const pluginFromFn = (plugin) =>
|
||||
typeof plugin === 'function' ? plugin(mergedOptions, workspaceRoot, workspaces) : plugin;
|
||||
|
||||
mergedOptions.paths.dist = resolvePath(projectPath, dist);
|
||||
mergedOptions.paths.types = resolvePath(projectPath, types);
|
||||
@@ -95,6 +97,10 @@ const mergeAndResolveOptions = (userOptions) => {
|
||||
name: mergedOptions.rollup.output?.name || mergedOptions.project,
|
||||
file: mergedOptions.rollup.output?.file || mergedOptions.project.toLocaleLowerCase(),
|
||||
};
|
||||
mergedOptions.rollup.plugins =
|
||||
mergedOptions.rollup.plugins?.map(pluginFromFn).filter(Boolean) || [];
|
||||
mergedOptions.rollup.output.plugins =
|
||||
mergedOptions.rollup.output?.plugins?.map(pluginFromFn).filter(Boolean) || [];
|
||||
|
||||
return mergedOptions;
|
||||
};
|
||||
|
||||
@@ -5,10 +5,12 @@ const path = require('path');
|
||||
const rollupPluginStyles = require('rollup-plugin-styles');
|
||||
const rollupPluginServe = require('rollup-plugin-serve');
|
||||
const rollupPluginLivereload = require('rollup-plugin-livereload');
|
||||
const resolve = require('@~local/config/resolve');
|
||||
|
||||
const rollupPluginHtml = require('./rollup.pluginHtml');
|
||||
const createRollupConfig = require('../createRollupConfig');
|
||||
const rollupAdditionalWatchFiles = require('./rollup.pluginAdditionalWatchFiles');
|
||||
const rollupIstanbul = require('./rollup.pluginIstanbul');
|
||||
|
||||
const portRange = {
|
||||
min: 20000,
|
||||
@@ -80,7 +82,7 @@ module.exports = (testDir, useEsbuild, dev) => {
|
||||
context: 'this',
|
||||
moduleContext: () => 'this',
|
||||
output: {
|
||||
sourcemap: isDev,
|
||||
sourcemap: !isDev,
|
||||
},
|
||||
plugins: [
|
||||
rollupPluginStyles(),
|
||||
@@ -104,6 +106,11 @@ module.exports = (testDir, useEsbuild, dev) => {
|
||||
port: port - 1,
|
||||
verbose: false,
|
||||
}),
|
||||
!isDev &&
|
||||
rollupIstanbul({
|
||||
include: resolve.extensions.map((extension) => `/**/*${extension}`).flat(),
|
||||
exclude: ['**/node_modules/**', `**/${path.relative(process.cwd(), testDir)}/**`],
|
||||
}),
|
||||
],
|
||||
},
|
||||
});
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
const { createFilter } = require('@rollup/pluginutils');
|
||||
const istanbul = require('istanbul-lib-instrument');
|
||||
|
||||
module.exports = (options = {}) => {
|
||||
const filter = createFilter(options.include, options.exclude);
|
||||
|
||||
return {
|
||||
name: 'istanbul',
|
||||
transform(code, id) {
|
||||
if (!filter(id)) {
|
||||
return;
|
||||
}
|
||||
|
||||
const instrumenter = istanbul.createInstrumenter({
|
||||
esModules: true,
|
||||
compact: true,
|
||||
produceSourceMap: true,
|
||||
autoWrap: true,
|
||||
preserveComments: true,
|
||||
...options.instrumenterConfig,
|
||||
});
|
||||
|
||||
const combinedSourceMap = this.getCombinedSourcemap();
|
||||
const instrumentedCode = instrumenter.instrumentSync(code, id, {
|
||||
...combinedSourceMap,
|
||||
version: String(combinedSourceMap.version),
|
||||
});
|
||||
const sourceMap = instrumenter.lastSourceMap();
|
||||
|
||||
return { code: instrumentedCode, map: { ...sourceMap, version: Number(sourceMap.version) } };
|
||||
},
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user