mirror of
https://github.com/faisalman/ua-parser-js.git
synced 2025-09-27 07:58:45 +03:00
53 lines
1.3 KiB
JavaScript
Executable File
53 lines
1.3 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
/* jshint esversion: 6 */
|
|
const fs = require('fs');
|
|
const PATH = {
|
|
main : {
|
|
src : 'src/ua-parser.js',
|
|
dest : 'src/module/ua-parser.mjs',
|
|
title : ''
|
|
},
|
|
enum : {
|
|
src : 'src/ua-parser-enum.js',
|
|
dest :'src/module/ua-parser-enum.mjs',
|
|
title : 'enum'
|
|
},
|
|
extension : {
|
|
src : 'src/ua-parser-extension.js',
|
|
dest : 'src/module/ua-parser-extension.mjs',
|
|
title : 'extension'
|
|
}
|
|
};
|
|
const generateMJS = (module, replacers) => {
|
|
const { src, dest, title } = PATH[module];
|
|
let text = fs.readFileSync(src, 'utf-8');
|
|
replacers.forEach(replacer => {
|
|
text = text.replace(replacer[0], replacer[1]);
|
|
});
|
|
|
|
console.log(`Generate ${dest}`);
|
|
|
|
fs.writeFileSync(dest,
|
|
`// Generated ESM version of UAParser.js ${title}
|
|
// DO NOT EDIT THIS FILE!
|
|
// Source: /src/ua-parser.js
|
|
|
|
${text}`, 'utf-8');
|
|
};
|
|
|
|
if (!fs.existsSync('src/module')) {
|
|
fs.mkdirSync('src/module', { recursive: true });
|
|
}
|
|
|
|
// ua-parser.mjs
|
|
generateMJS('main', [
|
|
[/\(func[\s\S]+strict\';/ig, ''],
|
|
[/esversion\: 3/ig, 'esversion: 6'],
|
|
[/\/[\/\s]+export[\s\S]+/ig,'export {UAParser};']
|
|
]);
|
|
|
|
// ua-parser-enum.mjs
|
|
generateMJS('enum', [[/module\.exports =/ig, 'export']]);
|
|
|
|
// ua-parser-extension.mjs
|
|
generateMJS('extension', [[/module\.exports =/ig, 'export']]); |