@cooperco/cooper-component-library 0.1.62 → 0.1.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cms/README.md +31 -101
- package/dist/lib/component-lib.js +1369 -1281
- package/dist/lib/component-lib.umd.cjs +19 -19
- package/dist/lib/style.css +1 -1
- package/dist/types/src/components/HelloBar/HelloBar.d.ts +23 -0
- package/dist/types/src/components/HelloBar/HelloBar.vue.d.ts +3 -0
- package/dist/types/src/components/components.d.ts +1 -0
- package/dist/types/src/components/types.d.ts +1 -0
- package/dist/types/src/config/defaultPassthrough/index.d.ts +2 -0
- package/dist/types/src/config/defaultPassthrough/types.d.ts +3 -1
- package/package.json +1 -1
package/dist/cms/README.md
CHANGED
|
@@ -1,112 +1,42 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Migrations
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
## Prerequisites
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
- Run `pnpm install`
|
|
6
|
+
- Obtain a Contentful CMA token
|
|
7
|
+
- Confirm and double check what space and environment you should be running these in
|
|
8
|
+
- Run `pnpm exec contentful-cli-migrations --environment-id <your-env-name> --space-id <space-id> --management-token <CMA-TOKEN> --initialise` on environment if not already and update `.env`
|
|
6
9
|
|
|
7
|
-
```
|
|
8
|
-
cms/contentful/queries/
|
|
9
|
-
├── index.ts # Barrel export file (manual updates required)
|
|
10
|
-
├── fragments.ts # Shared GraphQL fragments
|
|
11
|
-
├── *.query.ts # Individual component queries
|
|
12
|
-
└── README.md # This file
|
|
13
|
-
```
|
|
14
10
|
|
|
15
|
-
##
|
|
11
|
+
## Helpful Docs
|
|
16
12
|
|
|
17
|
-
|
|
13
|
+
- [Contentful Migration](https://github.com/contentful/contentful-migration)
|
|
14
|
+
- [Contentful Migration Reference Docs](https://github.com/contentful/contentful-migration/blob/main/README.md#reference-documentation)
|
|
15
|
+
- [Contentful Data Model](https://www.contentful.com/developers/docs/concepts/data-model/)
|
|
18
16
|
|
|
19
|
-
###
|
|
17
|
+
### Instructions
|
|
20
18
|
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
- Create your migration file in the scripts folder with the following format: `0002-description.cjs`
|
|
20
|
+
- Write your migrations
|
|
21
|
+
- This should be with an up and a down function
|
|
22
|
+
- The up function updates the model
|
|
23
|
+
- The down function reversts your changes
|
|
24
|
+
- Run your migration on a test environment with the following command: `pnpm exec contentful-cli-migrations --environment-id <your-env-name> --space-id <space-id> --management-token <CMA-TOKEN>`
|
|
25
|
+
- Optional Flags:
|
|
26
|
+
- `--rollback`: Rolls back one migration.
|
|
23
27
|
|
|
24
|
-
|
|
25
|
-
- Uses wildcard exports: `export * from './accordion.query.js'`
|
|
26
|
-
- **Note:** Exports use `.js` extensions even though source files are `.ts` (ESM compatibility)
|
|
28
|
+
### Gotchas
|
|
27
29
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
"types": "./dist/cms/contentful/queries/index.d.ts"
|
|
33
|
-
}
|
|
34
|
-
```
|
|
30
|
+
- Currently the rollback may change the version counter even if the migration doesnt run.
|
|
31
|
+
- for this just update the counter to the correct counter in contentful and rerun.
|
|
32
|
+
- The migration may run and create a content type even if the whole migration doesnt run correctly.
|
|
33
|
+
- To fix you will need to delete the content type and re-run
|
|
35
34
|
|
|
36
|
-
|
|
35
|
+
### TODO
|
|
37
36
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
import { gql } from 'graphql-tag'
|
|
45
|
-
import type { DocumentNode } from 'graphql'
|
|
46
|
-
import { someFragment } from './fragments.js' // If needed
|
|
47
|
-
|
|
48
|
-
export const getYourComponent: DocumentNode = gql`
|
|
49
|
-
${someFragment} // Include fragments if needed
|
|
50
|
-
query yourComponentQuery($id: String!, $preview: Boolean = false) {
|
|
51
|
-
yourComponent(id: $id, preview: $preview) {
|
|
52
|
-
__typename
|
|
53
|
-
# Add your fields here
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
`
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
3. **Update Barrel Export** - **MANUALLY ADD** export to `index.ts`:
|
|
60
|
-
```typescript
|
|
61
|
-
export * from './yourComponent.query.js'
|
|
62
|
-
```
|
|
63
|
-
- Maintain alphabetical order for consistency
|
|
64
|
-
- Use `.js` extension (not `.ts`)
|
|
65
|
-
|
|
66
|
-
### Query Naming Conventions
|
|
67
|
-
|
|
68
|
-
- **File Name:** `componentName.query.ts` (camelCase)
|
|
69
|
-
- **Export Name:** `getComponentName` (camelCase with `get` prefix)
|
|
70
|
-
- **Query Name:** `componentNameQuery` (camelCase with `Query` suffix)
|
|
71
|
-
|
|
72
|
-
### Example
|
|
73
|
-
|
|
74
|
-
```typescript
|
|
75
|
-
// accordion.query.ts
|
|
76
|
-
import { gql } from 'graphql-tag'
|
|
77
|
-
import type { DocumentNode } from 'graphql'
|
|
78
|
-
import { accordionItemFragment } from './fragments.js'
|
|
79
|
-
|
|
80
|
-
export const getAccordion: DocumentNode = gql`
|
|
81
|
-
${accordionItemFragment}
|
|
82
|
-
query accordionQuery($id: String!, $preview: Boolean = false) {
|
|
83
|
-
accordion(id: $id, preview: $preview) {
|
|
84
|
-
__typename
|
|
85
|
-
headline
|
|
86
|
-
accordionType
|
|
87
|
-
loadMoreButtonTitle
|
|
88
|
-
startOpen
|
|
89
|
-
accordionItemCollection {
|
|
90
|
-
items {
|
|
91
|
-
...accordionItemFragment
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
`
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
## Using Queries in Consumer Projects
|
|
100
|
-
|
|
101
|
-
Queries are consumed via the package export:
|
|
102
|
-
|
|
103
|
-
```typescript
|
|
104
|
-
import { getAccordion, getCarousel } from '@cooperco/cooper-component-library/cms/contentful/graphql'
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
## Important Notes
|
|
108
|
-
|
|
109
|
-
- **Manual Export Required:** The system is NOT fully automatic - you MUST manually update `index.ts` when adding new queries
|
|
110
|
-
- **ESM Extensions:** Always use `.js` extensions in exports (even for `.ts` source files)
|
|
111
|
-
- **Preview Mode:** All queries support a `preview` parameter for Contentful preview API
|
|
112
|
-
- **Fragments:** Shared fragments are defined in `fragments.ts` and can be reused across queries
|
|
37
|
+
- Fix rollback versioning
|
|
38
|
+
- This flag should cause a rollback to that specific version, in this case 0001 `--version 0001`
|
|
39
|
+
- It should be used with `--rollback`
|
|
40
|
+
- It should update dthe versionTracker entry on successful rollback
|
|
41
|
+
- Run migration error handling
|
|
42
|
+
- runMigration is currently not working as expected and bumping the counter when the migration was aborted
|