mirror of
https://github.com/tenrok/OverlayScrollbars.git
synced 2026-06-18 09:20:37 +03:00
prepare for beta 3
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "overlayscrollbars",
|
||||
"version": "2.0.0-beta.2",
|
||||
"version": "2.0.0-beta.3",
|
||||
"description": "A scrollbar plugin that hides native scrollbars, provides custom styleable overlay scrollbars and keeps the native functionality and feeling.",
|
||||
"author": "Rene Haas | KingSora",
|
||||
"license": "MIT",
|
||||
@@ -33,8 +33,8 @@
|
||||
"types": "types/overlayscrollbars.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"require": "./dist/overlayscrollbars.cjs.js",
|
||||
"import": "./dist/overlayscrollbars.esm.js",
|
||||
"require": "./dist/overlayscrollbars.cjs",
|
||||
"import": "./dist/overlayscrollbars.mjs",
|
||||
"types": "./types/overlayscrollbars.d.ts"
|
||||
},
|
||||
"./overlayscrollbars.css": "./styles/overlayscrollbars.css"
|
||||
|
||||
@@ -13,19 +13,31 @@ module.exports = createRollupConfig({
|
||||
{
|
||||
format: 'cjs',
|
||||
generatedCode: 'es2015',
|
||||
outputSuffix: '.cjs',
|
||||
minifiedVersion: true,
|
||||
extension: '.cjs.js',
|
||||
minifiedVersion: false,
|
||||
},
|
||||
{
|
||||
format: 'esm',
|
||||
generatedCode: 'es2015',
|
||||
outputSuffix: '.esm',
|
||||
minifiedVersion: true,
|
||||
extension: '.esm.js',
|
||||
minifiedVersion: false,
|
||||
},
|
||||
{
|
||||
format: 'cjs',
|
||||
generatedCode: 'es2015',
|
||||
extension: '.cjs',
|
||||
minifiedVersion: false,
|
||||
},
|
||||
{
|
||||
format: 'esm',
|
||||
generatedCode: 'es2015',
|
||||
extension: '.mjs',
|
||||
minifiedVersion: false,
|
||||
},
|
||||
{
|
||||
format: 'iife',
|
||||
generatedCode: 'es2015',
|
||||
outputSuffix: '.browser.es6',
|
||||
extension: '.browser.es6.js',
|
||||
minifiedVersion: true,
|
||||
file: (originalPath) =>
|
||||
`${resolve(dirname(originalPath), 'browser', basename(originalPath))}`,
|
||||
@@ -33,7 +45,7 @@ module.exports = createRollupConfig({
|
||||
{
|
||||
format: 'iife',
|
||||
generatedCode: 'es5',
|
||||
outputSuffix: '.browser.es5',
|
||||
extension: '.browser.es5.js',
|
||||
minifiedVersion: true,
|
||||
file: (originalPath) =>
|
||||
`${resolve(dirname(originalPath), 'browser', basename(originalPath))}`,
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
import path from 'path';
|
||||
import fs from 'node:fs';
|
||||
import { rollup } from 'rollup';
|
||||
|
||||
// @ts-ignore
|
||||
import pkg from '~/../package.json';
|
||||
// @ts-ignore
|
||||
import rollupConfig from '~/../rollup.config';
|
||||
|
||||
const cleanBundle = true;
|
||||
const cleanFixture = true;
|
||||
const expectedBundleDiff = 2300;
|
||||
|
||||
const fixturesDir = path.join(__dirname, '.moduleTypeFixtures');
|
||||
const libraryFixturePath = path.join(fixturesDir, 'lib.js');
|
||||
const modulePkgJson = {
|
||||
version: '0.0.0',
|
||||
type: 'module',
|
||||
};
|
||||
const commonPkgJson = {
|
||||
version: '0.0.0',
|
||||
type: 'commonjs',
|
||||
};
|
||||
|
||||
describe('module type', () => {
|
||||
// build the fixture
|
||||
beforeAll(async () => {
|
||||
const { module } = pkg;
|
||||
const esmEntryFilename = path.basename(module);
|
||||
const config = rollupConfig.find((inputConfig: any) => {
|
||||
const { output } = inputConfig;
|
||||
if (output) {
|
||||
const outputArr = Array.isArray(output) ? output : [output];
|
||||
const outputConfig = outputArr.find(({ file }) => path.basename(file) === esmEntryFilename);
|
||||
if (outputConfig) {
|
||||
inputConfig.output = outputConfig;
|
||||
inputConfig.output.sourcemap = false;
|
||||
inputConfig.output.file = libraryFixturePath;
|
||||
inputConfig.plugins = inputConfig.plugins.filter(
|
||||
(plugin: any) => plugin.name !== 'PROJECT'
|
||||
);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
});
|
||||
|
||||
const bundle = await rollup(config);
|
||||
await bundle.write(config.output);
|
||||
|
||||
if (!fs.existsSync(fixturesDir)) {
|
||||
fs.mkdirSync(fixturesDir);
|
||||
}
|
||||
|
||||
// fs.writeFileSync(normalFixturePath, unshakedFixtureContent);
|
||||
// fs.writeFileSync(treeshakedFixturePath, shakedFixtureContent);
|
||||
}, 60000 * 2);
|
||||
|
||||
// clean the fixture
|
||||
afterAll(() => {
|
||||
// cleanFixture && fs.rmSync(fixturesDir, { recursive: true });
|
||||
});
|
||||
|
||||
test('esbuild', () => {
|
||||
console.log('hi');
|
||||
}, 60000);
|
||||
});
|
||||
+16
-12
@@ -1,21 +1,23 @@
|
||||
import path from 'path';
|
||||
import fs from 'fs';
|
||||
import fs from 'node:fs';
|
||||
import { rollup } from 'rollup';
|
||||
import { webpack } from 'webpack';
|
||||
import { build } from 'esbuild';
|
||||
import { terser } from 'rollup-plugin-terser';
|
||||
|
||||
// @ts-ignore
|
||||
import pkg from '~/../package.json';
|
||||
// @ts-ignore
|
||||
import rollupConfig from '~/../rollup.config';
|
||||
|
||||
const cleanBundle = true;
|
||||
const cleanFixture = true;
|
||||
const expectedBundleDiff = 2300;
|
||||
|
||||
const normalizePath = (pathName) =>
|
||||
const normalizePath = (pathName: string) =>
|
||||
pathName ? pathName.split(path.sep).join(path.posix.sep) : pathName;
|
||||
|
||||
const fixturesDir = path.join(__dirname, '.fixtures');
|
||||
const fixturesDir = path.join(__dirname, '.treeshakingFixtures');
|
||||
const libraryFixturePath = normalizePath(path.join(fixturesDir, 'lib.js'));
|
||||
const normalFixturePath = normalizePath(path.join(fixturesDir, 'nromal.js'));
|
||||
const treeshakedFixturePath = normalizePath(path.join(fixturesDir, 'treeshaked.js'));
|
||||
@@ -29,7 +31,7 @@ const shakedFixtureContent = `
|
||||
`;
|
||||
|
||||
const bundleFunctions = {
|
||||
webpack: async (input, output) => {
|
||||
webpack: async (input: string, output: string) => {
|
||||
const outputPath = path.dirname(output);
|
||||
const outputfilename = path.basename(output);
|
||||
const compiler = webpack({
|
||||
@@ -45,19 +47,19 @@ const bundleFunctions = {
|
||||
},
|
||||
});
|
||||
|
||||
const result = await new Promise((resolve, reject) => {
|
||||
const result = (await new Promise((resolve, reject) => {
|
||||
compiler.run((err, res) => {
|
||||
if (err) {
|
||||
return reject(err);
|
||||
}
|
||||
resolve(res);
|
||||
});
|
||||
});
|
||||
})) as any;
|
||||
|
||||
return result.compilation.assetsInfo.get(outputfilename).size;
|
||||
},
|
||||
rollup: async (input, output) => {
|
||||
const config = {
|
||||
rollup: async (input: string, output: string) => {
|
||||
const config: any = {
|
||||
input,
|
||||
output: {
|
||||
format: 'iife',
|
||||
@@ -71,7 +73,7 @@ const bundleFunctions = {
|
||||
|
||||
return fs.statSync(config.output.file).size;
|
||||
},
|
||||
esbuild: async (input, output) => {
|
||||
esbuild: async (input: string, output: string) => {
|
||||
await build({
|
||||
entryPoints: [input],
|
||||
outfile: output,
|
||||
@@ -86,7 +88,7 @@ const bundleFunctions = {
|
||||
},
|
||||
};
|
||||
|
||||
const testBundler = (bundlerName) => async () => {
|
||||
const testBundler = (bundlerName: string) => async () => {
|
||||
const bundleFunction = bundleFunctions[bundlerName];
|
||||
const outputDir = path.join(__dirname, `.${bundlerName}`);
|
||||
const normal = await bundleFunction(
|
||||
@@ -115,7 +117,7 @@ describe('tree shaking', () => {
|
||||
beforeAll(async () => {
|
||||
const { module } = pkg;
|
||||
const esmEntryFilename = path.basename(module);
|
||||
const config = rollupConfig.find((inputConfig) => {
|
||||
const config = rollupConfig.find((inputConfig: any) => {
|
||||
const { output } = inputConfig;
|
||||
if (output) {
|
||||
const outputArr = Array.isArray(output) ? output : [output];
|
||||
@@ -124,7 +126,9 @@ describe('tree shaking', () => {
|
||||
inputConfig.output = outputConfig;
|
||||
inputConfig.output.sourcemap = false;
|
||||
inputConfig.output.file = libraryFixturePath;
|
||||
inputConfig.plugins = inputConfig.plugins.filter((plugin) => plugin.name !== 'PROJECT');
|
||||
inputConfig.plugins = inputConfig.plugins.filter(
|
||||
(plugin: any) => plugin.name !== 'PROJECT'
|
||||
);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -4,6 +4,6 @@
|
||||
"paths": {
|
||||
"~/*": ["./src/*"]
|
||||
},
|
||||
"types": ["jest"],
|
||||
"types": ["jest", "node"],
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user