2023-07-27 15:24:49 +00:00
|
|
|
import fs from "node:fs/promises";
|
|
|
|
import path from "node:path";
|
2023-09-20 22:18:42 +00:00
|
|
|
|
2023-07-27 15:24:49 +00:00
|
|
|
const projectDir = path.resolve( "." );
|
2023-09-20 22:18:42 +00:00
|
|
|
|
|
|
|
const files = {
|
|
|
|
"bootstrap/bootstrap.css": "bootstrap/dist/css/bootstrap.css",
|
|
|
|
"bootstrap/bootstrap.min.css": "bootstrap/dist/css/bootstrap.min.css",
|
|
|
|
"bootstrap/bootstrap.min.css.map": "bootstrap/dist/css/bootstrap.min.css.map",
|
|
|
|
|
|
|
|
"core-js-bundle/core-js-bundle.js": "core-js-bundle/minified.js",
|
|
|
|
"core-js-bundle/LICENSE": "core-js-bundle/LICENSE",
|
|
|
|
|
|
|
|
"npo/npo.js": "native-promise-only/lib/npo.src.js",
|
|
|
|
|
|
|
|
"qunit/qunit.js": "qunit/qunit/qunit.js",
|
|
|
|
"qunit/qunit.css": "qunit/qunit/qunit.css",
|
|
|
|
"qunit/LICENSE.txt": "qunit/LICENSE.txt",
|
|
|
|
|
|
|
|
"requirejs/require.js": "requirejs/require.js",
|
|
|
|
|
|
|
|
"sinon/sinon.js": "sinon/pkg/sinon.js",
|
|
|
|
"sinon/LICENSE.txt": "sinon/LICENSE"
|
|
|
|
};
|
|
|
|
|
|
|
|
async function npmcopy() {
|
2024-03-10 16:19:15 +00:00
|
|
|
await fs.mkdir( path.resolve( projectDir, "external" ), {
|
2023-09-20 22:18:42 +00:00
|
|
|
recursive: true
|
|
|
|
} );
|
|
|
|
for ( const [ dest, source ] of Object.entries( files ) ) {
|
|
|
|
const from = path.resolve( projectDir, "node_modules", source );
|
|
|
|
const to = path.resolve( projectDir, "external", dest );
|
|
|
|
const toDir = path.dirname( to );
|
2024-03-10 16:19:15 +00:00
|
|
|
await fs.mkdir( toDir, { recursive: true } );
|
|
|
|
await fs.copyFile( from, to );
|
2023-11-01 23:48:05 +00:00
|
|
|
console.log( `${ source } → ${ dest }` );
|
2023-09-20 22:18:42 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
npmcopy();
|