diff --git a/scripts/exp/prepare-database-for-exp-release.ts b/scripts/exp/prepare-database-for-exp-release.ts index 058424108c7..e4b34993608 100644 --- a/scripts/exp/prepare-database-for-exp-release.ts +++ b/scripts/exp/prepare-database-for-exp-release.ts @@ -45,9 +45,25 @@ export async function prepare() { }; packageJson.main = expPackageJson.main.replace('../', ''); - packageJson.module = expPackageJson.module.replace('../', ''); - packageJson.browser = expPackageJson.browser.replace('../', ''); - packageJson.esm2017 = expPackageJson.esm2017.replace('../', ''); + + // Set esm2017 as default. + // Delete esm2017 field. + // Add esm5 field. + packageJson.module = expPackageJson.esm2017.replace('../', ''); + packageJson.browser = expPackageJson.esm2017.replace('../', ''); + delete packageJson.esm2017; + packageJson.esm5 = expPackageJson.browser.replace('../', ''); + + // Add exports field. These need to be relative paths so start with './'; + packageJson.exports = { + main: expPackageJson.main.replace('../', './'), + // Again, these are esm2017 now. + module: expPackageJson.esm2017.replace('../', './'), + browser: expPackageJson.esm2017.replace('../', './'), + esm5: expPackageJson.browser.replace('../', './'), + node: expPackageJson.main.replace('../', './'), + default: expPackageJson.esm2017.replace('../', './') + }; packageJson.typings = expPackageJson.typings.replace('../', ''); diff --git a/scripts/exp/prepare-firestore-for-exp-release.ts b/scripts/exp/prepare-firestore-for-exp-release.ts index 1df5571afcf..d0890894874 100644 --- a/scripts/exp/prepare-firestore-for-exp-release.ts +++ b/scripts/exp/prepare-firestore-for-exp-release.ts @@ -54,6 +54,17 @@ export async function prepare() { delete packageJson['main-esm2017']; delete packageJson['esm2017']; + // Add exports field. These need to be relative paths so start with './'; + packageJson.exports = { + main: expPackageJson.main.replace('../', './'), + module: expPackageJson.module.replace('../', './'), + browser: expPackageJson.browser.replace('../', './'), + 'react-native': expPackageJson['react-native'].replace('../', './'), + node: expPackageJson.main.replace('../', './'), + default: expPackageJson.browser.replace('../', './') + // No esm5 build for Firestore? + }; + packageJson.typings = expPackageJson.typings.replace('../', ''); // include files to be published diff --git a/scripts/exp/prepare-storage-for-exp-release.ts b/scripts/exp/prepare-storage-for-exp-release.ts index ca2f3fc9ff9..3f2f0dd2139 100644 --- a/scripts/exp/prepare-storage-for-exp-release.ts +++ b/scripts/exp/prepare-storage-for-exp-release.ts @@ -50,6 +50,16 @@ export async function prepare() { packageJson.browser = expPackageJson.browser.replace('./', 'exp/'); delete packageJson['esm2017']; + // Add exports field. These need to be relative paths so start with './'; + packageJson.exports = { + main: expPackageJson.main.replace('../', './'), + module: expPackageJson.module.replace('../', './'), + browser: expPackageJson.browser.replace('../', './'), + node: expPackageJson.main.replace('../', './'), + default: expPackageJson.browser.replace('../', './') + // No esm5 build for Storage? + }; + packageJson.typings = expPackageJson.typings.replace('./', 'exp/'); // include files to be published