diff --git a/.eslintrc.js b/.eslintrc.cjs similarity index 100% rename from .eslintrc.js rename to .eslintrc.cjs diff --git a/package.json b/package.json index 075d821ec9a..29624b30b0a 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ "keywords": [ "matrix-org" ], + "type": "module", "main": "./src/index.ts", "browser": "./src/browser-index.ts", "matrix_src_main": "./src/index.ts", diff --git a/scripts/release/pre-release.sh b/scripts/release/pre-release.sh index 19319fb6105..6b47ef180ff 100755 --- a/scripts/release/pre-release.sh +++ b/scripts/release/pre-release.sh @@ -12,6 +12,3 @@ do jq ".$i = .matrix_lib_$i" package.json > package.json.new && mv package.json.new package.json && yarn prettier --write package.json fi done - -# Ensure that "type": "module" is present -jq '.type = "module"' package.json > package.json.new && mv package.json.new package.json && yarn prettier --write package.json diff --git a/scripts/switch_package_to_release.cjs b/scripts/switch_package_to_release.cjs new file mode 100755 index 00000000000..6d857a4070a --- /dev/null +++ b/scripts/switch_package_to_release.cjs @@ -0,0 +1,18 @@ +#!/usr/bin/env node + +const fsProm = require("fs/promises"); + +const PKGJSON = "package.json"; + +async function main() { + const pkgJson = JSON.parse(await fsProm.readFile(PKGJSON, "utf8")); + for (const field of ["main", "typings"]) { + if (pkgJson["matrix_lib_" + field] !== undefined) { + pkgJson[field] = pkgJson["matrix_lib_" + field]; + } + } + + await fsProm.writeFile(PKGJSON, JSON.stringify(pkgJson, null, 2)); +} + +main(); diff --git a/scripts/switch_package_to_release.js b/scripts/switch_package_to_release.js deleted file mode 100755 index 353840d4d92..00000000000 --- a/scripts/switch_package_to_release.js +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env node - -const fsProm = require("fs/promises"); - -const PKGJSON = "package.json"; - -async function main() { - const pkgJson = JSON.parse(await fsProm.readFile(PKGJSON, "utf8")); - for (const field of ["main", "typings"]) { - if (pkgJson["matrix_lib_" + field] !== undefined) { - pkgJson[field] = pkgJson["matrix_lib_" + field]; - } - } - - // matrix-js-sdk is built into ECMAScript modules. Make sure we declare it as such. - // See https://nodejs.org/api/packages.html#type. - pkgJson["type"] = "module"; - - await fsProm.writeFile(PKGJSON, JSON.stringify(pkgJson, null, 2)); -} - -main(); diff --git a/scripts/switch_package_to_release.js b/scripts/switch_package_to_release.js new file mode 120000 index 00000000000..27f1619c9a2 --- /dev/null +++ b/scripts/switch_package_to_release.js @@ -0,0 +1 @@ +switch_package_to_release.cjs \ No newline at end of file