diff --git a/README.md b/README.md
index c20c3a3..64b775c 100644
--- a/README.md
+++ b/README.md
@@ -43,7 +43,7 @@ Or, if using [yarn 🔗](https://yarnpkg.com/lang/en/):
yarn add contentful-cli-export
```
-> Similarly, if you are using [Bun 🔗](https://bun.sh), just run `bun add contentful-cli-export`
+> Similarly, if you are using [Bun 🔗](https://bun.sh), just run
`bun add contentful-cli-export`
### Requirements
@@ -51,7 +51,7 @@ yarn add contentful-cli-export
* `npm` >= 8.5.5
* `contentful-management` >= 7.50.0
* `contentful-export` >= 7.18.7
-* [contentful-lib-helpers](https://www.npmjs.com/package/contentful-lib-helpers) >= 1.9.0
+* [contentful-lib-helpers](https://www.npmjs.com/package/contentful-lib-helpers) >= 0.1.10
### Set-up
diff --git a/contentful-cli-export.js b/contentful-cli-export.js
index 8b9bfc4..5a6cb50 100755
--- a/contentful-cli-export.js
+++ b/contentful-cli-export.js
@@ -17,7 +17,7 @@ const DEFAULT_EXPORT_DIR = 'export/'
envValues?.CMS_MANAGEMENT_TOKEN ?? PLACEHOLDER_MANAGEMENT_TOKEN
const cmsSpaceId = envValues?.CMS_SPACE_ID ?? PLACEHOLDER_SPACE_ID
const cmsMaxEntries =
- parseInt(envValues?.CMS_MAX_ALLOWED_LIMIT) ?? DEFAULT_ALLOWED_LIMIT
+ parseInt(envValues?.CMS_MAX_ALLOWED_LIMIT, 10) ?? DEFAULT_ALLOWED_LIMIT
const cmsExportDir = envValues?.CMS_EXPORT_DIR ?? DEFAULT_EXPORT_DIR
const initialSettings = await parseArguments(
@@ -101,23 +101,21 @@ async function parseArguments(
const parsedArgs = minimist(process.argv.slice(2))
await checkArgs(parsedArgs)
- let environmentId = null
- const spaceId = parsedArgs['space-id'] ?? cmsSpaceId
- const managementToken =
- parsedArgs['management-token'] ?? parsedArgs['mt'] ?? cmsManagementToken
- const maxEntries = parsedArgs['max-allowed-limit'] ?? cmsMaxEntries
+ const {
+ 'space-id': spaceId = cmsSpaceId,
+ 'management-token': managementToken = parsedArgs['mt'] ??
+ cmsManagementToken,
+ 'max-allowed-limit': maxEntries = cmsMaxEntries
+ } = parsedArgs
+
const rootDestinationFolder = await getDestinationFolder(
rootFolder,
cmsExportDir,
parsedArgs
)
- if (
- parsedArgs.hasOwnProperty('from') ||
- parsedArgs.hasOwnProperty('environment-id')
- ) {
- environmentId = parsedArgs.from ?? parsedArgs['environment-id']
- } else {
+ const environmentId = parsedArgs.from || parsedArgs['environment-id']
+ if (!environmentId) {
console.error('@@/ERROR: An environment-id should be specified')
process.exit(1)
}
@@ -160,24 +158,14 @@ async function parseArguments(
* @throws {Error} If both 'management-token' and 'mt' options are specified.
*/
async function checkArgs(parsedArgs) {
- if (
- (parsedArgs.hasOwnProperty('from') &&
- parsedArgs.hasOwnProperty('environment-id')) ||
- !(
- parsedArgs.hasOwnProperty('from') ||
- parsedArgs.hasOwnProperty('environment-id')
- )
- ) {
+ if (!(Boolean(parsedArgs.from) ^ Boolean(parsedArgs['environment-id']))) {
console.error(
"@@/ERROR: Only one of the two options '--environment-id' or '--from' should be specified"
)
process.exit(1)
}
- if (
- parsedArgs.hasOwnProperty('management-token') &&
- parsedArgs.hasOwnProperty('mt')
- ) {
+ if (Boolean(parsedArgs['management-token']) && Boolean(parsedArgs.mt)) {
console.error(
"@@/ERROR: Only one of the two options '--management-token' or '--mt' can be specified"
)
@@ -192,7 +180,7 @@ async function checkArgs(parsedArgs) {
* @param {string} cmsExportDir - The CMS Default Export Directory.
* @param {Object} parsedArgs - The object that contains the parsed command line arguments.
*
- * @returns {Promise