@planningcenter/tapestry-migration-cli 3.4.1-rc.9 → 3.5.0
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/README.md +22 -0
- package/dist/tapestry-react-shim.cjs +5 -1
- package/package.json +3 -3
- package/src/availableComponents.ts +13 -0
- package/src/components/dropdown/index.test.ts +244 -4
- package/src/components/dropdown/index.ts +28 -2
- package/src/components/dropdown/transforms/auditSpreadProps.test.ts +110 -0
- package/src/components/dropdown/transforms/auditSpreadProps.ts +10 -0
- package/src/components/dropdown/transforms/dividerToSeparator.test.ts +134 -0
- package/src/components/dropdown/transforms/dividerToSeparator.ts +67 -0
- package/src/components/dropdown/transforms/itemToAction.test.ts +19 -1
- package/src/components/dropdown/transforms/itemToAction.ts +14 -2
- package/src/components/dropdown/transforms/linkToLink.test.ts +19 -1
- package/src/components/dropdown/transforms/linkToLink.ts +13 -2
- package/src/components/dropdown/transforms/moveDropdownImport.test.ts +93 -0
- package/src/components/dropdown/transforms/moveDropdownImport.ts +13 -0
- package/src/components/dropdown/transforms/placementIdToMenu.test.ts +140 -0
- package/src/components/dropdown/transforms/placementIdToMenu.ts +96 -0
- package/src/components/dropdown/transforms/unsupportedProps.test.ts +145 -0
- package/src/components/dropdown/transforms/unsupportedProps.ts +12 -0
- package/src/components/dropdown/transforms/unsupportedPropsDivider.test.ts +143 -0
- package/src/components/dropdown/transforms/unsupportedPropsDivider.ts +26 -0
- package/src/components/dropdown/transforms/unsupportedPropsItem.test.ts +123 -0
- package/src/components/dropdown/transforms/unsupportedPropsItem.ts +12 -0
- package/src/components/dropdown/transforms/unsupportedPropsLink.test.ts +107 -0
- package/src/components/dropdown/transforms/unsupportedPropsLink.ts +12 -0
- package/src/components/dropdown/transforms/variantToKind.test.ts +292 -0
- package/src/components/dropdown/transforms/variantToKind.ts +138 -0
- package/src/components/dropdown/transforms/wrapIconTrigger.test.ts +336 -0
- package/src/components/dropdown/transforms/wrapIconTrigger.ts +233 -0
- package/src/components/dropdown/transforms/wrapMenu.test.ts +153 -0
- package/src/components/dropdown/transforms/wrapMenu.ts +54 -0
- package/src/components/dropdown/transforms/wrapTrigger.test.ts +283 -0
- package/src/components/dropdown/transforms/wrapTrigger.ts +98 -0
- package/src/components/input/transforms/unsupportedProps.test.ts +14 -13
- package/src/components/shared/conditions/isChildOf.test.ts +89 -0
- package/src/components/shared/conditions/isChildOf.ts +43 -0
- package/src/components/shared/helpers/unsupportedPropsHelpers.ts +36 -0
- package/src/index.ts +5 -18
package/README.md
CHANGED
|
@@ -18,11 +18,13 @@ This order ensures that Button components with navigation props are properly han
|
|
|
18
18
|
Consider these steps to safely migrate your components:
|
|
19
19
|
|
|
20
20
|
1. **Prepare your workspace** (recommended)
|
|
21
|
+
|
|
21
22
|
- Commit your current changes or create a new branch
|
|
22
23
|
- This allows you to easily review or revert changes if needed
|
|
23
24
|
- Run your JS/TS code formatter (like Prettier) and commit any formatting changes if needed
|
|
24
25
|
|
|
25
26
|
2. **Create a theme file** (important for button migrations)
|
|
27
|
+
|
|
26
28
|
- Create a CommonJS file called `theme.js` at the root of your project
|
|
27
29
|
- Populate the file with your project's custom theme values using one of these methods:
|
|
28
30
|
- **Option 1**: Copy/paste your project's custom theme values directly into the file (computed values should be ignored or set)
|
|
@@ -69,6 +71,7 @@ Consider these steps to safely migrate your components:
|
|
|
69
71
|
- Use `--report-path` to generate a migration report for review (will default to MIGRATION_REPORT.md if not specified)
|
|
70
72
|
|
|
71
73
|
4. **Review the migration report and changed files**
|
|
74
|
+
|
|
72
75
|
- Check the generated migration report (default: `MIGRATION_REPORT.md`)
|
|
73
76
|
- Review the actual file changes using `git diff` or your editor
|
|
74
77
|
- Understand what transformations were applied
|
|
@@ -79,10 +82,12 @@ Consider these steps to safely migrate your components:
|
|
|
79
82
|
```
|
|
80
83
|
|
|
81
84
|
5. **Discard or revert changes if needed**
|
|
85
|
+
|
|
82
86
|
- If you're not ready to keep the changes, revert to discard the changes
|
|
83
87
|
- You can always re-run the migration later when ready
|
|
84
88
|
|
|
85
89
|
6. **Review TODO comments**
|
|
90
|
+
|
|
86
91
|
- Search for `TODO: tapestry-migration ([scope])` comments in your codebase
|
|
87
92
|
|
|
88
93
|
```bash
|
|
@@ -94,11 +99,13 @@ Consider these steps to safely migrate your components:
|
|
|
94
99
|
- Each TODO includes guidance on how to handle the unsupported prop
|
|
95
100
|
|
|
96
101
|
7. **Test your application**
|
|
102
|
+
|
|
97
103
|
- Run your test suite
|
|
98
104
|
- Manually verify migrated components work as expected
|
|
99
105
|
- Pay special attention to any components with TODO comments
|
|
100
106
|
|
|
101
107
|
8. **Format your code**
|
|
108
|
+
|
|
102
109
|
- Run your JS/TS code formatter (like Prettier) to ensure consistent code formatting
|
|
103
110
|
|
|
104
111
|
9. **Commit your changes**
|
|
@@ -124,10 +131,25 @@ npx @planningcenter/tapestry-migration-cli run button -p ./src/components --js-t
|
|
|
124
131
|
|
|
125
132
|
- `button` - Migrate Button components
|
|
126
133
|
- `checkbox` - Migrate Checkbox components
|
|
134
|
+
- `date-picker` - Migrate DatePicker components
|
|
135
|
+
- `input` - Migrate Input components
|
|
127
136
|
- `link` - Migrate Link components
|
|
128
137
|
- `radio` - Migrate Radio components
|
|
138
|
+
- `select` - Migrate Select components
|
|
139
|
+
- `text-area` - Migrate TextArea components
|
|
140
|
+
- `time-field` - Migrate TimeField components
|
|
129
141
|
- `toggle-switch` - Migrate ToggleSwitch components
|
|
130
142
|
|
|
143
|
+
## Preflight Assessment
|
|
144
|
+
|
|
145
|
+
Before running per-component migrations, use the `preflight` command to assess migration readiness across your `@planningcenter/tapestry-react` usage:
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
npx @planningcenter/tapestry-migration-cli preflight -p ./src/components --dry-run --report-path ./migration-plan.md
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
Preflight surfaces shorthand style props and unsupported `as` prop usage so you can plan the work. It is intended for assessment — running it with changes applied converts shorthand style props to inline `style={{}}` objects, which is rarely the desired end state. Use the per-component `run` migrations for the actual conversion.
|
|
152
|
+
|
|
131
153
|
## Required Arguments
|
|
132
154
|
|
|
133
155
|
- `-p, --path <path>` - **REQUIRED**: Path to the folder or file to migrate
|