aboutsummaryrefslogtreecommitdiffstats
path: root/build/tasks/npmcopy.js
blob: 93c0658b951ea6ed213de05bebebd08eada215c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
"use strict";

const fs = require( "node:fs/promises" );
const path = require( "node:path" );

const projectDir = path.resolve( __dirname, "..", ".." );

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() {
	await fs.mkdir( path.resolve( projectDir, "external" ), {
		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 );
		await fs.mkdir( toDir, { recursive: true } );
		await fs.copyFile( from, to );
		console.log( `${ source }${ dest }` );
	}
}

npmcopy();