// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. 'use strict'; import {execSync} from 'node:child_process'; import {writeFileSync} from 'node:fs'; import {resolve, dirname} from 'node:path'; import {fileURLToPath} from 'node:url'; const __dirname = dirname(fileURLToPath(import.meta.url)); // build the following folders: // - dist/cjs // - dist/esm execSync('npm run build:cjs', {shell: true, stdio: 'inherit', cwd: __dirname}); execSync('npm run build:esm', {shell: true, stdio: 'inherit', cwd: __dirname}); // generate package.json files under each of the dist folders for commonJS and ESModule // this trick allows typescript to import this package as different module type // see also: https://evertpot.com/universal-commonjs-esm-typescript-packages/ writeFileSync(resolve(__dirname, './dist/cjs', 'package.json'), '{"type": "commonjs"}'); writeFileSync(resolve(__dirname, './dist/esm', 'package.json'), '{"type": "module"}');