Skip to content

Commit

Permalink
Move type:module declaration into package.json.
Browse files Browse the repository at this point in the history
matrix-js-sdk is built into ECMAScript modules, and we should declare it as
such. See https://nodejs.org/api/packages.html#type. Failure to do so causes
problems for javascript projects attempting to build against matrix-js-sdk: see #4347.

Previously, we did this as part of the package.json switcheroo, but that is
unnecessarily fragile.

matrix-react-sdk, element-web, etc are unaffected by this, because they use the
typescript files directly, by importing `matrix-js-sdk/src/...`.
  • Loading branch information
richvdh committed Aug 20, 2024
1 parent 51fdaf9 commit bc0f8c4
Show file tree
Hide file tree
Showing 3 changed files with 1 addition and 7 deletions.
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
"keywords": [
"matrix-org"
],
"type": "module",
"main": "./src/index.ts",
"browser": "./src/browser-index.ts",
"matrix_src_main": "./src/index.ts",
Expand Down
3 changes: 0 additions & 3 deletions scripts/release/pre-release.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
4 changes: 0 additions & 4 deletions scripts/switch_package_to_release.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,6 @@ async function main() {
}
}

// 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));
}

Expand Down

0 comments on commit bc0f8c4

Please sign in to comment.