123456789101112131415161718192021222324252627282930313233343536373839 |
- import { readFileSync, writeFileSync, unlinkSync, renameSync } from 'fs';
- import { join } from 'path';
- const atClass = /\/\*\* \@class \*\//g, pure = '/*#__PURE__*/';
- const esModule = /exports.__esModule = true;\n/;
- const libDir = join(__dirname, '..', 'lib');
- const libIndex = join(libDir, 'index.js');
- const lib = readFileSync(libIndex, 'utf-8')
- .replace(atClass, pure)
- .replace(esModule, '')
- .replace(/exports\.(.*) = void 0;\n/, '');
- writeFileSync(libIndex, lib);
- const esmDir = join(__dirname, '..', 'esm');
- const esmIndex = join(esmDir, 'index.js'),
- esmWK = join(esmDir, 'worker.js'),
- esmNWK = join(esmDir, 'node-worker.js'),
- libWK = join(libDir, 'worker.js'),
- libNWK = join(libDir, 'node-worker.js');
- const esm = readFileSync(esmIndex, 'utf-8').replace(atClass, pure);
- const wk = readFileSync(esmWK, 'utf-8'),
- nwk = readFileSync(esmNWK, 'utf-8');
- writeFileSync(join(libDir, 'worker.cjs'), readFileSync(join(libDir, 'worker.js'), 'utf-8').replace(esModule, ''));
- writeFileSync(join(libDir, 'node-worker.cjs'), readFileSync(join(libDir, 'node-worker.js'), 'utf-8').replace(esModule, ''));
- unlinkSync(esmIndex), unlinkSync(esmWK), unlinkSync(esmNWK), unlinkSync(libIndex), unlinkSync(libWK), unlinkSync(libNWK);
- unlinkSync(join(libDir, 'worker.d.ts')), unlinkSync(join(libDir, 'node-worker.d.ts'));
- const workerImport = /import (.*) from '\.\/node-worker';/;
- const workerRequire = /var (.*) = require\("\.\/node-worker"\);/;
- const defaultExport = /export default/;
- writeFileSync(join(esmDir, 'index.mjs'), esm.replace(workerImport, name => nwk.replace(defaultExport, `var ${name.slice(7, name.indexOf(' ', 8))} =`)));
- writeFileSync(join(esmDir, 'browser.js'), esm.replace(workerImport, name => wk.replace(defaultExport, `var ${name.slice(7, name.indexOf(' ', 8))} =`)));
- writeFileSync(join(libDir, 'node.cjs'), lib.replace(workerRequire, name => {
- name = name.slice(4, name.indexOf(' ', 5));
- return nwk.replace(defaultExport, `var ${name} = {};\n${name}["default"] =`)
- }));
- writeFileSync(join(libDir, 'browser.cjs'), lib.replace(workerRequire, name => {
- name = name.slice(4, name.indexOf(' ', 5));
- return wk.replace(defaultExport, `var ${name} = {};\n${name}["default"] =`)
- }));
- writeFileSync(join(libDir, 'index.cjs'), lib.replace(workerRequire, name => `var ${name.slice(4, name.indexOf(' ', 5))} = require("./node-worker.cjs");`));
|