Add chaldean-lectionary extension#26568
Conversation
|
Congratulations on your new Raycast extension! 🚀 We're currently experiencing a high volume of incoming requests. As a result, the initial review may take up to 10-15 business days. Once the PR is approved and merged, the extension will be available on our Store. |
Greptile SummaryThis PR adds a new Chaldean Lectionary extension that displays daily scripture readings for the Chaldean Catholic Church, pulling hardcoded 2026 lectionary data and optionally overlaying a Google Calendar title for liturgical feast overrides. Scripture text is fetched live by scraping USCCB pages. Issues found:
Confidence Score: 2/5
Important Files Changed
Prompt To Fix All With AIThis is a comment left during a code review.
Path: extensions/chaldean-lectionary/src/today.tsx
Line: 7-10
Comment:
**Manual Preferences interface should be removed**
Manually defining a `Preferences` interface for `getPreferenceValues()` is discouraged. These types are auto-generated in `raycast-env.d.ts` when the extension runs, so manual definitions can drift out of sync with the actual `package.json` preferences config and cause type mismatches.
```suggestion
const prefs = getPreferenceValues<Preferences>();
```
Remove lines 7–10 entirely and rely on the auto-generated `Preferences` type instead:
```ts
// Remove this block:
// interface Preferences {
// calendarId: string;
// googleApiKey: string;
// }
const prefs = getPreferenceValues<Preferences>();
```
**Rule Used:** What: Don't manually define `Preferences` for `get... ([source](https://app.greptile.com/review/custom-context?memory=d93fc9fb-a45d-4479-a6a4-b1b4af98ebc8))
How can I resolve this? If you propose a fix, please make it concise.
---
This is a comment left during a code review.
Path: extensions/chaldean-lectionary/package.json
Line: 40-43
Comment:
**Dependency versions out of sync with package-lock.json**
`package.json` declares `"@raycast/utils": "^1.15.0"` (and `"@raycast/api": "^1.70.0"`), but the `package-lock.json` was generated with `"@raycast/utils": "^2.2.3"` and `"@raycast/api": "^1.104.10"`. This is a major version mismatch for `@raycast/utils` (1.x vs 2.x), which includes breaking API changes.
If someone removes the lock file and runs `npm install`, they'll get `@raycast/utils` 1.x, which is incompatible with the lock file's resolved dependencies and potentially with the code. The `package.json` version ranges should be updated to match what the lock file actually uses:
```suggestion
"dependencies": {
"@raycast/api": "^1.104.10",
"@raycast/utils": "^2.2.3"
},
```
How can I resolve this? If you propose a fix, please make it concise.
---
This is a comment left during a code review.
Path: extensions/chaldean-lectionary/src/data/weeklyreadings.ts
Line: 1-7
Comment:
**Unused duplicate file**
`weeklyreadings.ts` appears to be an exact duplicate of `weekdayReadings2026.ts` — both export the same `WeekdayReadings` interface and `weekdayReadings2026` constant. Neither `today.tsx` nor `lookup.tsx` imports from this file; they both import from `weekdayReadings2026.ts`. This file should be removed to avoid confusion and dead code.
How can I resolve this? If you propose a fix, please make it concise.Reviews (1): Last reviewed commit: "Initial commit" | Re-trigger Greptile |
| interface Preferences { | ||
| calendarId: string; | ||
| googleApiKey: string; | ||
| } |
There was a problem hiding this comment.
Manual Preferences interface should be removed
Manually defining a Preferences interface for getPreferenceValues() is discouraged. These types are auto-generated in raycast-env.d.ts when the extension runs, so manual definitions can drift out of sync with the actual package.json preferences config and cause type mismatches.
| interface Preferences { | |
| calendarId: string; | |
| googleApiKey: string; | |
| } | |
| const prefs = getPreferenceValues<Preferences>(); |
Remove lines 7–10 entirely and rely on the auto-generated Preferences type instead:
// Remove this block:
// interface Preferences {
// calendarId: string;
// googleApiKey: string;
// }
const prefs = getPreferenceValues<Preferences>();Rule Used: What: Don't manually define Preferences for `get... (source)
Prompt To Fix With AI
This is a comment left during a code review.
Path: extensions/chaldean-lectionary/src/today.tsx
Line: 7-10
Comment:
**Manual Preferences interface should be removed**
Manually defining a `Preferences` interface for `getPreferenceValues()` is discouraged. These types are auto-generated in `raycast-env.d.ts` when the extension runs, so manual definitions can drift out of sync with the actual `package.json` preferences config and cause type mismatches.
```suggestion
const prefs = getPreferenceValues<Preferences>();
```
Remove lines 7–10 entirely and rely on the auto-generated `Preferences` type instead:
```ts
// Remove this block:
// interface Preferences {
// calendarId: string;
// googleApiKey: string;
// }
const prefs = getPreferenceValues<Preferences>();
```
**Rule Used:** What: Don't manually define `Preferences` for `get... ([source](https://app.greptile.com/review/custom-context?memory=d93fc9fb-a45d-4479-a6a4-b1b4af98ebc8))
How can I resolve this? If you propose a fix, please make it concise.| "@raycast/api": "^1.70.0", | ||
| "@raycast/utils": "^1.15.0" | ||
| }, | ||
| "devDependencies": { |
There was a problem hiding this comment.
Dependency versions out of sync with package-lock.json
package.json declares "@raycast/utils": "^1.15.0" (and "@raycast/api": "^1.70.0"), but the package-lock.json was generated with "@raycast/utils": "^2.2.3" and "@raycast/api": "^1.104.10". This is a major version mismatch for @raycast/utils (1.x vs 2.x), which includes breaking API changes.
If someone removes the lock file and runs npm install, they'll get @raycast/utils 1.x, which is incompatible with the lock file's resolved dependencies and potentially with the code. The package.json version ranges should be updated to match what the lock file actually uses:
| "@raycast/api": "^1.70.0", | |
| "@raycast/utils": "^1.15.0" | |
| }, | |
| "devDependencies": { | |
| "dependencies": { | |
| "@raycast/api": "^1.104.10", | |
| "@raycast/utils": "^2.2.3" | |
| }, |
Prompt To Fix With AI
This is a comment left during a code review.
Path: extensions/chaldean-lectionary/package.json
Line: 40-43
Comment:
**Dependency versions out of sync with package-lock.json**
`package.json` declares `"@raycast/utils": "^1.15.0"` (and `"@raycast/api": "^1.70.0"`), but the `package-lock.json` was generated with `"@raycast/utils": "^2.2.3"` and `"@raycast/api": "^1.104.10"`. This is a major version mismatch for `@raycast/utils` (1.x vs 2.x), which includes breaking API changes.
If someone removes the lock file and runs `npm install`, they'll get `@raycast/utils` 1.x, which is incompatible with the lock file's resolved dependencies and potentially with the code. The `package.json` version ranges should be updated to match what the lock file actually uses:
```suggestion
"dependencies": {
"@raycast/api": "^1.104.10",
"@raycast/utils": "^2.2.3"
},
```
How can I resolve this? If you propose a fix, please make it concise.| export interface WeekdayReadings { | ||
| title: string; | ||
| epistle: string; | ||
| gospel: string; | ||
| } | ||
|
|
||
| export const weekdayReadings2026: Record<string, WeekdayReadings> = { |
There was a problem hiding this comment.
weeklyreadings.ts appears to be an exact duplicate of weekdayReadings2026.ts — both export the same WeekdayReadings interface and weekdayReadings2026 constant. Neither today.tsx nor lookup.tsx imports from this file; they both import from weekdayReadings2026.ts. This file should be removed to avoid confusion and dead code.
Prompt To Fix With AI
This is a comment left during a code review.
Path: extensions/chaldean-lectionary/src/data/weeklyreadings.ts
Line: 1-7
Comment:
**Unused duplicate file**
`weeklyreadings.ts` appears to be an exact duplicate of `weekdayReadings2026.ts` — both export the same `WeekdayReadings` interface and `weekdayReadings2026` constant. Neither `today.tsx` nor `lookup.tsx` imports from this file; they both import from `weekdayReadings2026.ts`. This file should be removed to avoid confusion and dead code.
How can I resolve this? If you propose a fix, please make it concise.|
This pull request has been automatically marked as stale because it did not have any recent activity. It will be closed if no further activity occurs in the next 7 days to keep our backlog clean 😊 |
- Moved ReadingDetail and getReadingItems to a separate component for better organization - Improved error handling in scripture fetching - Updated today and lookup components to utilize the new structure - Added .gitignore, .prettierrc, and eslint configuration for better development experience - Created README and CHANGELOG for documentation
0xdhrv
left a comment
There was a problem hiding this comment.
Hey @patrosrock 👋
Thanks for your contribution 🔥
Could you add at least one screenshot of the extension and add them to a folder called metadata - you need to use our tool to get the right padding on the images
Also, please take a look, I have added some improvements to the extension.
I converted this PR into a draft until it's ready for the review, please press the button Ready for review when it's ready and we'll have a look 😊
|
This pull request has been automatically marked as stale because it did not have any recent activity. It will be closed if no further activity occurs in the next 7 days to keep our backlog clean 😊 |
Description
I'm a Chaldean Catholic Priest and I wanted an easy way to pull up the readings for Sundays and Daily Masses so I can prepare my homilies better and send these readings to friends and parishioners to read and reflect! It was a fun process and RayCast has been amazing! I hope this helps you in keeping up with the daily readings of our Church.
Screencast
Checklist
npm run buildand tested this distribution build in Raycastassetsfolder are used by the extension itselfREADMEare placed outside of themetadatafolder