Skip to content

Commit

Permalink
chore: update pkg json validator
Browse files Browse the repository at this point in the history
  • Loading branch information
kuhe committed Nov 10, 2023
1 parent 3ff4c4a commit d6091b6
Show file tree
Hide file tree
Showing 9 changed files with 29 additions and 51 deletions.
3 changes: 1 addition & 2 deletions packages/credential-provider-web-identity/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@
"test": "jest"
},
"browser": {
"./dist-es/fromTokenFile": false,
"./dist-cjs/fromTokenFile": false
"./dist-es/fromTokenFile": false
},
"react-native": {
"./dist-es/fromTokenFile": false,
Expand Down
7 changes: 3 additions & 4 deletions packages/middleware-flexible-checksums/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@
"main": "./dist-cjs/index.js",
"module": "./dist-es/index.js",
"browser": {
"./dist-es/streams/create-read-stream-on-buffer": "./dist-es/streams/create-read-stream-on-buffer.browser"
},
"react-native": {
"./dist-es/streams/create-read-stream-on-buffer": "./dist-es/streams/create-read-stream-on-buffer.browser",
"./dist-cjs/streams/create-read-stream-on-buffer": "./dist-cjs/streams/create-read-stream-on-buffer.browser"
},
Expand Down Expand Up @@ -63,9 +66,5 @@
},
"typedoc": {
"entryPoint": "src/index.ts"
},
"react-native": {
"./dist-es/streams/create-read-stream-on-buffer": "./dist-es/streams/create-read-stream-on-buffer.browser",
"./dist-cjs/streams/create-read-stream-on-buffer": "./dist-cjs/streams/create-read-stream-on-buffer.browser"
}
}
3 changes: 1 addition & 2 deletions packages/middleware-token/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,7 @@
"dist-*/**"
],
"browser": {
"./dist-es/tokenDefaultProvider": "./dist-es/tokenDefaultProvider.browser",
"./dist-cjs/tokenDefaultProvider": "./dist-cjs/tokenDefaultProvider.browser"
"./dist-es/tokenDefaultProvider": "./dist-es/tokenDefaultProvider.browser"
},
"react-native": {
"./dist-es/tokenDefaultProvider": "./dist-es/tokenDefaultProvider.browser",
Expand Down
8 changes: 2 additions & 6 deletions packages/rds-signer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -58,13 +58,9 @@
"dist-*/**"
],
"browser": {
"./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser",
"./dist-cjs/runtimeConfig": "./dist-cjs/runtimeConfig.browser"
},
"react-native": {
"./dist-es/runtimeConfig": "./dist-es/runtimeConfig.native",
"./dist-cjs/runtimeConfig": "./dist-cjs/runtimeConfig.native"
"./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser"
},
"react-native": {},
"homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/packages/rds-signer",
"repository": {
"type": "git",
Expand Down
3 changes: 1 addition & 2 deletions packages/token-providers/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,7 @@
"dist-*/**"
],
"browser": {
"./dist-es/bundle/client-sso-oidc-node": "./dist-es/bundle/client-sso-oidc-browser",
"./dist-cjs/bundle/client-sso-oidc-node": "./dist-cjs/bundle/client-sso-oidc-browser"
"./dist-es/bundle/client-sso-oidc-node": "./dist-es/bundle/client-sso-oidc-browser"
},
"react-native": {
"./dist-es/bundle/client-sso-oidc-node": "./dist-es/bundle/client-sso-oidc-browser",
Expand Down
3 changes: 1 addition & 2 deletions packages/types/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,7 @@
"entryPoint": "src/index.ts"
},
"browser": {
"./dist-es/blob/runtime-blob-types.node": "./dist-es/blob/runtime-blob-types.browser",
"./dist-cjs/blob/runtime-blob-types.node": "./dist-cjs/blob/runtime-blob-types.browser"
"./dist-es/blob/runtime-blob-types.node": "./dist-es/blob/runtime-blob-types.browser"
},
"react-native": {
"./dist-es/blob/runtime-blob-types.node": "./dist-es/blob/runtime-blob-types.browser",
Expand Down
6 changes: 1 addition & 5 deletions packages/util-dns/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -59,11 +59,7 @@
"./dist-es/index": "./dist-es/index.browser",
"./dist-es/HostResolver": "./dist-es/HostResolver.browser",
"./dist-es/NodeDnsLookupHostResolver": false,
"./dist-es/NodeDnsResolveHostResolver": false,
"./dist-cjs/index": "./dist-cjs/index.browser",
"./dist-cjs/HostResolver": "./dist-cjs/HostResolver.browser",
"./dist-cjs/NodeDnsLookupHostResolver": false,
"./dist-cjs/NodeDnsResolveHostResolver": false
"./dist-es/NodeDnsResolveHostResolver": false
},
"react-native": {
"./dist-es/index": "./dist-es/index.browser",
Expand Down
2 changes: 1 addition & 1 deletion packages/util-user-agent-browser/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@
},
"main": "./dist-cjs/index.js",
"module": "./dist-es/index.js",
"browser": "./dist-es/index.js",
"types": "./dist-types/index.d.ts",
"author": {
"name": "AWS SDK for JavaScript Team",
"url": "https://aws.amazon.com/javascript/"
},
"license": "Apache-2.0",
"browser": "./dist-es/index.js",
"react-native": "dist-es/index.native.js",
"dependencies": {
"@aws-sdk/types": "*",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
const { error } = require("console");
const fs = require("fs");

/**
Expand Down Expand Up @@ -49,34 +50,21 @@ module.exports = function (pkgJsonFilePath, overwrite = false) {

if (typeof pkgJson.browser !== typeof pkgJson["react-native"]) {
errors.push(`browser and react-native fields are different in ${pkgJson.name}`);
if (overwrite) {
if (typeof pkgJson.browser === "object") {
pkgJson["react-native"] = pkgJson.browser;
} else if (typeof pkgJson["react-native"] === "object") {
pkgJson.browser = pkgJson["react-native"];
}
}
}

if (typeof pkgJson.browser === "object" && typeof pkgJson["react-native"] === "object") {
const browserCanonical = [
...new Set([
...Object.entries(pkgJson.browser).map(([k, v]) => [
k.replace("dist-cjs", "dist-es"),
typeof v === "string" ? v.replace("dist-cjs", "dist-es") : v,
]),
...Object.entries(pkgJson.browser).map(([k, v]) => [
k.replace("dist-es", "dist-cjs"),
typeof v === "string" ? v.replace("dist-es", "dist-cjs") : v,
]),
]),
].reduce((acc, [k, v]) => {
acc[k] = v;
const browserCanonical = Object.entries(pkgJson.browser).reduce((acc, [k, v]) => {
if (!k.includes("dist-cjs/")) {
acc[k] = v;
}
return acc;
}, {});

if (Object.keys(browserCanonical).length !== Object.keys(pkgJson.browser).length) {
errors.push(`${pkgJson.name} browser field is incomplete.`);
if (overwrite) {
pkgJson.browser = browserCanonical;
}
}

const reactNativeCanonical = [
Expand All @@ -91,21 +79,24 @@ module.exports = function (pkgJsonFilePath, overwrite = false) {
]),
]),
].reduce((acc, [k, v]) => {
acc[k] = v;
const automatic = typeof v === "string" ? v.match(/\.native(\.js)?$/) && k === v.replace(".native", "") : false;
if (!automatic) {
acc[k] = v;
} else {
errors.push(`${k} -> ${v} is unnecessary in ${pkgJson.name} (automatic in React-Native bundler)`);
}
return acc;
}, {});

if (Object.keys(reactNativeCanonical).length !== Object.keys(pkgJson["react-native"]).length) {
errors.push(`${pkgJson.name} react-native field is incomplete.`);
}

if (overwrite) {
pkgJson.browser = browserCanonical;
pkgJson["react-native"] = reactNativeCanonical;
if (overwrite) {
pkgJson["react-native"] = reactNativeCanonical;
}
}
}

if (overwrite) {
if (overwrite && errors.length) {
fs.writeFileSync(pkgJsonFilePath, JSON.stringify(pkgJson, null, 2) + "\n");
}

Expand Down

0 comments on commit d6091b6

Please sign in to comment.