Skip to content

Commit 272f016

Browse files
author
Lotfi Arif
committed
feat: add new scripts for Contentful setup and export, and update package dependencies for improved compatibility
1 parent c603273 commit 272f016

7 files changed

Lines changed: 954 additions & 61 deletions

File tree

package.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@
1313
"test-all": "nx run-many --target=test --all --skip-nx-cache",
1414
"generate:doc": "ts-node -P ./tools/scripts/tsconfig.scripts.json ./tools/scripts/documentation/generate-documentation.ts",
1515
"prepare": "husky install",
16-
"license:add": "ts-node -P ./tools/scripts/tsconfig.scripts.json ./tools/scripts/add-license.ts"
16+
"license:add": "ts-node -P ./tools/scripts/tsconfig.scripts.json ./tools/scripts/add-license.ts",
17+
"setup": "PATH_TO_ENV_FILE=./packages/playgrounds/easy-hr/.env.local node ./packages/playgrounds/easy-hr/contentful/setup.js",
18+
"export": "PATH_TO_ENV_FILE=./packages/playgrounds/easy-hr/.env.local node ./packages/playgrounds/easy-hr/contentful/export.js"
1719
},
1820
"private": true,
1921
"dependencies": {
@@ -28,6 +30,10 @@
2830
"async-retry": "1.3.3",
2931
"classnames": "2.3.2",
3032
"contentful": "9.2.14",
33+
"contentful-export": "7.18.16",
34+
"contentful-import": "8.3.0",
35+
"contentful-management": "10.15.1",
36+
"contentful-typescript-codegen": "3.2.3",
3137
"core-js": "3.26.1",
3238
"diary": "0.4.4",
3339
"dot": "1.1.3",
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
NEXT_PUBLIC_NINETAILED_CLIENT_ID=
2+
NEXT_PUBLIC_NINETAILED_ENVIRONMENT=
3+
4+
NEXT_PUBLIC_NINETAILED_MANAGEMENT_CLIENT_ID=
5+
NEXT_PUBLIC_NINETAILED_MANAGEMENT_SECRET=
6+
7+
NEXT_PUBLIC_GTM_ID=
8+
9+
NEXT_PUBLIC_CONTENTFUL_SPACE_ID=
10+
NEXT_PUBLIC_CONTENTFUL_ENVIRONMENT=
11+
CONTENTFUL_TOKEN=
12+
CONTENTFUL_PREVIEW_TOKEN=
13+
CONTENTFUL_PREVIEW_SECRET=
14+
15+
CONTENTFUL_MANAGEMENT_TOKEN=
16+
CONTENTFUL_SPACE_DATA_LOCATION=./packages/playgrounds/easy-hr/contentful/data/contentful-space-data.json

packages/playgrounds/easy-hr/contentful/deleteEntriesOfContentType.js

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -26,21 +26,23 @@ async function unpublishAndDeleteEntry(entry) {
2626
}
2727
}
2828

29-
contentfulClient.getSpace(process.env.CONTENTFUL_SPACE_ID).then((space) => {
30-
space
31-
.getEnvironment(process.env.CONTENTFUL_ENVIRONMENT)
32-
.then((environment) => {
33-
console.info(`Accessing Environment: ${environment.sys.id}`);
34-
console.info(
35-
`Deleting Entries Of ContentType: ${process.env.CONTENT_TYPE} `
36-
);
37-
environment
38-
.getEntries({
39-
content_type: `${process.env.CONTENT_TYPE}`,
40-
limit: `${process.env.LIMIT}`,
41-
})
42-
.then(async (response) => {
43-
await Promise.all(response.items.map(unpublishAndDeleteEntry));
44-
});
45-
});
46-
});
29+
contentfulClient
30+
.getSpace(process.env.NEXT_PUBLIC_CONTENTFUL_SPACE_ID)
31+
.then((space) => {
32+
space
33+
.getEnvironment(process.env.NEXT_PUBLIC_CONTENTFUL_ENVIRONMENT)
34+
.then((environment) => {
35+
console.info(`Accessing Environment: ${environment.sys.id}`);
36+
console.info(
37+
`Deleting Entries Of ContentType: ${process.env.CONTENT_TYPE} `
38+
);
39+
environment
40+
.getEntries({
41+
content_type: `${process.env.CONTENT_TYPE}`,
42+
limit: `${process.env.LIMIT}`,
43+
})
44+
.then(async (response) => {
45+
await Promise.all(response.items.map(unpublishAndDeleteEntry));
46+
});
47+
});
48+
});

packages/playgrounds/easy-hr/contentful/export.js

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,27 @@ dotEnv.config({ path: `${process.env.PATH_TO_ENV_FILE}` });
88
* just the latest published versions of your content
99
* */
1010
const exportOptions = {
11-
spaceId: process.env.CONTENTFUL_SPACE_ID,
12-
environmentId: process.env.CONTENTFUL_ENVIRONMENT,
11+
spaceId: process.env.NEXT_PUBLIC_CONTENTFUL_SPACE_ID,
12+
environmentId: process.env.NEXT_PUBLIC_CONTENTFUL_ENVIRONMENT || 'master',
1313
managementToken: process.env.CONTENTFUL_MANAGEMENT_TOKEN,
14-
/* deliveryToken: process.env.CONTENTFUL_TOKEN, */
15-
contentFile: process.env.CONTENTFUL_SPACE_DATA_LOCATION,
14+
contentFile:
15+
process.env.CONTENTFUL_SPACE_DATA_LOCATION ||
16+
'./packages/playgrounds/easy-hr/contentful/data/contentful-space-data.json',
1617
includeDrafts: true,
18+
skipRoles: true,
19+
skipWebhooks: true,
1720
};
1821

1922
if (
20-
!process.env.CONTENTFUL_SPACE_ID ||
21-
!process.env.CONTENTFUL_MANAGEMENT_TOKEN ||
22-
!process.env.CONTENTFUL_SPACE_DATA_LOCATION
23+
!process.env.NEXT_PUBLIC_CONTENTFUL_SPACE_ID ||
24+
!process.env.CONTENTFUL_MANAGEMENT_TOKEN
2325
) {
2426
throw new Error(
2527
[
2628
'Parameters missing...',
27-
'Please insert the following credentials into your .env.local.local file:',
28-
'- CONTENTFUL_SPACE_ID=XXX',
29+
'Please insert the following credentials into your .env.local file:',
30+
'- NEXT_PUBLIC_CONTENTFUL_SPACE_ID=XXX',
2931
'- CONTENTFUL_MANAGEMENT_TOKEN=CFPAT-XXX',
30-
'- CONTENTFUL_SPACE_DATA_LOCATION="PATH TO STORAGE DIRECTORY"',
3132
'Afterwards run the export command as follows:',
3233
'"npm run export" or "yarn export"',
3334
].join('\n')

packages/playgrounds/easy-hr/contentful/setup.js

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,25 +5,24 @@ const dotEnv = require('dotenv');
55
dotEnv.config({ path: `${process.env.PATH_TO_ENV_FILE}` });
66

77
const importOptions = {
8-
spaceId: process.env.CONTENTFUL_SPACE_ID,
9-
environmentId: process.env.CONTENTFUL_ENVIRONMENT || 'master',
8+
spaceId: process.env.NEXT_PUBLIC_CONTENTFUL_SPACE_ID,
9+
environmentId: process.env.NEXT_PUBLIC_CONTENTFUL_ENVIRONMENT || 'master',
1010
managementToken: process.env.CONTENTFUL_MANAGEMENT_TOKEN,
1111
contentFile:
1212
process.env.CONTENTFUL_SPACE_DATA_LOCATION ||
13-
'./contentful/data/contentful-space-data.json',
13+
'./packages/playgrounds/easy-hr/contentful/data/contentful-space-data.json',
1414
};
1515

1616
if (
17-
!process.env.CONTENTFUL_SPACE_ID ||
17+
!process.env.NEXT_PUBLIC_CONTENTFUL_SPACE_ID ||
1818
!process.env.CONTENTFUL_MANAGEMENT_TOKEN
1919
) {
2020
throw new Error(
2121
[
2222
'Parameters missing...',
23-
'Please insert the following credentials into your .env.local.local file:',
24-
'- CONTENTFUL_SPACE_ID=XXX',
23+
'Please insert the following credentials into your .env.local file:',
24+
'- NEXT_PUBLIC_CONTENTFUL_SPACE_ID=XXX',
2525
'- CONTENTFUL_MANAGEMENT_TOKEN=CFPAT-XXX',
26-
'- CONTENTFUL_SPACE_DATA_LOCATION="PATH TO STORAGE DIRECTORY"',
2726
'Afterwards run the setup command as follows:',
2827
'"npm run setup" or "yarn setup"',
2928
].join('\n')

packages/playgrounds/easy-hr/lib/api.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@ import {
1111

1212
const contentfulClient = createClient({
1313
space: process.env.NEXT_PUBLIC_CONTENTFUL_SPACE_ID ?? '',
14-
accessToken: process.env.NEXT_PUBLIC_CONTENTFUL_TOKEN ?? '',
14+
accessToken: process.env.CONTENTFUL_TOKEN ?? '',
1515
environment: process.env.NEXT_PUBLIC_CONTENTFUL_ENVIRONMENT ?? 'master',
1616
});
1717

1818
const previewClient = createClient({
1919
space: process.env.NEXT_PUBLIC_CONTENTFUL_SPACE_ID ?? '',
20-
accessToken: process.env.NEXT_PUBLIC_CONTENTFUL_PREVIEW_TOKEN ?? '',
20+
accessToken: process.env.CONTENTFUL_PREVIEW_TOKEN ?? '',
2121
host: 'preview.contentful.com',
2222
});
2323

0 commit comments

Comments
 (0)