-
Notifications
You must be signed in to change notification settings - Fork 5.5k
Package publish fixes 2 #18042
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Package publish fixes 2 #18042
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎ |
WalkthroughThis PR updates many component package.json files (version bumps, dependency additions/changes), corrects an import path, updates Stack Exchange package main, increments a few action versions, and updates the package-validation script to ignore Node.js native modules. Changes
Sequence Diagram(s)sequenceDiagram
participant CI as CI / Dev
participant Script as generate-package-report.js
participant Validator as validatePackageDependencies
participant Report as Validation Report
CI->>Script: Run validation
Script->>Validator: validatePackageDependencies(package)
alt packageName is native (or node:prefixed)
Validator-->>Script: Skip dependency check
else
Validator-->>Script: Validate package dependencies
end
Script->>Report: Aggregate results
Report-->>CI: Output report
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~15–20 minutes Assessment against linked issues
Assessment against linked issues: Out-of-scope changes
Possibly related PRs
Suggested reviewers
Poem
Tip 🔌 Remote MCP (Model Context Protocol) integration is now available!Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats. 📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
✨ Finishing Touches
🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 8
🔭 Outside diff range comments (2)
scripts/generate-package-report.js (1)
388-456
: Broaden dependency scan beyond the main file to catch real-world failuresCurrently, only the main file is scanned for package imports, missing a large class of issues (e.g., imports in sources under actions, sources, or common). Expand the scan to all .mjs/.js files under the component directory and combine found imports before the dependency check.
Example approach (apply within validatePackageDependencies):
// Gather files to scan const rootDir = path.join('components', app); const filesToScan = []; function walk(dir) { for (const entry of fs.readdirSync(dir, { withFileTypes: true })) { if (entry.name.startsWith('.')) continue; const full = path.join(dir, entry.name); if (entry.isDirectory()) walk(full); else if (/\.(mjs|js)$/.test(entry.name)) filesToScan.push(full); } } walk(rootDir); // Aggregate imports across all files const allImports = []; for (const file of filesToScan) { const content = fs.existsSync(file) ? fs.readFileSync(file, 'utf8') : ''; for (const m of content.matchAll(/import\s+.*\s+from\s+["']([^./][^"']*)["']/g)) { allImports.push(m[1]); } // Optional: also detect common require() for (const m of content.matchAll(/require\(\s*["']([^./][^"']*)["']\s*\)/g)) { allImports.push(m[1]); } } // ... then normalize, dedupe, and perform the same dependency presence check (with node: normalization).Additionally, your relative import check targets only .app.mjs. Consider matching .app.js too to address RELATIVEIMPORTS failures.
components/stack_exchange/package.json (1)
12-17
: Bump @pipedream/platform to ^3.0.3 to align with the rest of the PR and dependency validationThis package still references @pipedream/platform ^1.2.0 while the PR standardizes on ^3.0.3. This can cause inconsistent behavior and continued validation warnings.
Apply:
"dependencies": { - "@pipedream/platform": "^1.2.0", + "@pipedream/platform": "^3.0.3", "axios": "^0.21.1", "he": "^1.2.0", "lodash": "^4.17.20" },Optional: if the code doesn’t need direct axios, consider migrating to @pipedream/platform’s HTTP client and removing axios to reduce surface area.
🧹 Nitpick comments (6)
components/getemails/package.json (1)
3-3
: Version bump looks good — align @pipedream/platform across this PRRan a repo-wide search: components/getemails/package.json uses "@pipedream/platform": "^3.1.0", while the repo contains many packages pinned to "^3.0.3". Please standardize the @pipedream/platform caret range for packages changed in this PR (prefer ^3.1.0) or confirm the deviation is intentional.
Files to check:
- components/getemails/package.json — "@pipedream/platform": "^3.1.0"
- Examples of other packages pinned to "^3.0.3": components/activecampaign/package.json, components/airtable_oauth/package.json, components/apiverve/package.json (and many others shown by the search)
If you want, I can list exactly which package.json files are modified in this PR so we can update them consistently.
components/trakt/package.json (1)
15-17
: Align @pipedream/platform to ^3.1.0 for consistency.
Other packages (e.g., getemails, spotlightr) use ^3.1.0. Suggest bumping here to avoid mixed minor versions across components.Apply this diff:
"dependencies": { - "@pipedream/platform": "^3.0.3" + "@pipedream/platform": "^3.1.0" }components/credit_repair_cloud/package.json (1)
15-19
: Good migration away from axios; prefer aligning platform version to ^3.1.0.
Dropping axios in favor of @pipedream/platform matches the PR’s objective. Consider standardizing version to ^3.1.0 across packages.Apply this diff:
"dependencies": { - "@pipedream/platform": "^3.0.3", + "@pipedream/platform": "^3.1.0", "js2xmlparser": "^5.0.0", "xml2js": "^0.6.0" }scripts/generate-package-report.js (1)
5-13
: Solid addition of NATIVE_MODULES; include diagnostics_channelThis strengthens the “don’t require core modules” rule. Add diagnostics_channel to cover another Node core module.
- 'timers', 'tls', 'tty', 'url', 'util', 'v8', 'vm', 'wasi', 'worker_threads', - 'zlib', 'async_hooks', 'inspector', 'trace_events', 'http2' + 'timers', 'tls', 'tty', 'url', 'util', 'v8', 'vm', 'wasi', 'worker_threads', + 'zlib', 'async_hooks', 'inspector', 'trace_events', 'http2', 'diagnostics_channel'components/workflow_max/package.json (1)
16-16
: Align @pipedream/platform version with the rest of the repo, or document why ^3.1.0 is requiredMost components in this PR pin to ^3.0.3; this one uses ^3.1.0. If there isn’t a specific need for 3.1 features/bugfixes, align for consistency. Otherwise, consider upgrading others to ^3.1.0 in a follow-up.
Two options:
- Align to ^3.0.3:
- "@pipedream/platform": "^3.1.0", + "@pipedream/platform": "^3.0.3",
- Or plan a repo-wide bump to ^3.1.0 in a separate PR.
components/typebot/package.json (1)
14-14
: Confirm removal of a top-level "files" whitelist to avoid publishing extraneous filesIf the package previously whitelisted artifacts (e.g., "files": ["dist"]) and that was removed, the npm tarball may include source, tests, or other non-runtime files. Verify that the removal was intentional and that the publish footprint remains minimal.
- If you intend to ship source, consider adding a conservative whitelist to keep the package lean (for example, only .mjs and necessary assets).
- Validate locally with npm pack --dry-run to see what would be published.
Example whitelist (adjust to your layout):
{
"files": [
"*.mjs"
]
}
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
pnpm-lock.yaml
is excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (26)
components/campaignhq/package.json
(2 hunks)components/credit_repair_cloud/package.json
(2 hunks)components/getemails/getemails.app.mjs
(1 hunks)components/getemails/package.json
(1 hunks)components/spotlightr/package.json
(1 hunks)components/stack_exchange/package.json
(1 hunks)components/stormboard/package.json
(2 hunks)components/strava/package.json
(2 hunks)components/supernotes/package.json
(2 hunks)components/superphone/package.json
(2 hunks)components/teamwork_desk/package.json
(2 hunks)components/trakt/package.json
(2 hunks)components/translate_com/package.json
(2 hunks)components/trestle/package.json
(2 hunks)components/typebot/package.json
(1 hunks)components/uipath_automation_hub/package.json
(2 hunks)components/universal_summarizer_by_kagi/package.json
(2 hunks)components/upwave/package.json
(2 hunks)components/userflow/package.json
(2 hunks)components/visualping/package.json
(2 hunks)components/voice_monkey/package.json
(2 hunks)components/wesupply/package.json
(2 hunks)components/workflow_max/package.json
(2 hunks)components/yotpo/package.json
(1 hunks)components/zoho_analytics/package.json
(2 hunks)scripts/generate-package-report.js
(2 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2024-12-12T19:23:09.039Z
Learnt from: jcortes
PR: PipedreamHQ/pipedream#14935
File: components/sailpoint/package.json:15-18
Timestamp: 2024-12-12T19:23:09.039Z
Learning: When developing Pipedream components, do not add built-in Node.js modules like `fs` to `package.json` dependencies, as they are native modules provided by the Node.js runtime.
Applied to files:
components/supernotes/package.json
components/userflow/package.json
components/campaignhq/package.json
components/trakt/package.json
components/upwave/package.json
components/teamwork_desk/package.json
components/spotlightr/package.json
components/uipath_automation_hub/package.json
components/wesupply/package.json
components/workflow_max/package.json
components/universal_summarizer_by_kagi/package.json
components/voice_monkey/package.json
components/stormboard/package.json
components/visualping/package.json
components/trestle/package.json
components/zoho_analytics/package.json
components/translate_com/package.json
🔇 Additional comments (29)
components/trakt/package.json (1)
3-6
: Main file present and exports the app — no action neededcomponents/trakt/trakt.app.mjs was found and contains an
export default
object (includestype: "app"
andapp: "trakt"
).
- components/trakt/trakt.app.mjs — export default at/around lines 3–5
components/credit_repair_cloud/package.json (1)
15-19
: Confirmed — no directaxios
imports; using@pipedream/platform
axiosSearch found no direct imports of "axios". The component imports axios from @pipedream/platform:
- components/credit_repair_cloud/credit_repair_cloud.app.mjs:1 — import { axios } from "@pipedream/platform";
No changes required.
components/supernotes/package.json (1)
3-17
: Add @pipedream/platform and bump version — LGTMVerified: ran the search in components/supernotes; no imports of @pipedream/types, axios, or @pipedreamhq/platform were found. Change aligns with platform standardization and publishConfig; no additional dependencies required.
- components/supernotes/package.json — version 0.0.5, dependency "@pipedream/platform": "^3.0.3"
components/voice_monkey/package.json (1)
3-17
: Add @pipedream/platform and bump version — LGTMChange is aligned with the platform dependency standardization and publish config. No native modules added as deps.
components/campaignhq/package.json (1)
3-17
: Add @pipedream/platform and bump version — LGTMConsistent with the PR objective to address PACKAGEDEPENDENCIES validation failures and standardize on @pipedream/platform.
components/strava/package.json (1)
13-14
: No axios imports found in components/strava — no action requiredSearched components/strava for
axios
imports/requires and for@pipedream/types
; both returned no matches. package.json already uses@pipedream/platform
, so no need to re-add axios or change anything.components/stormboard/package.json (1)
15-17
: Approve: @pipedream/platform dependency looks correct — no @pipedream/types or axios imports foundSearched components/stormboard for '@pipedream/types' and 'axios' imports — none found. No further dependency changes required.
"dependencies": { "@pipedream/platform": "^3.0.3" }
components/trestle/package.json (1)
15-17
: Approve: @pipedream/platform addition verified — no extra deps neededRan checks in components/trestle: no @pipedream/types imports and no direct axios usage were found, so keeping "@pipedream/platform": "^3.0.3" in components/trestle/package.json is fine.
- components/trestle/package.json — no changes required
components/stack_exchange/package.json (1)
5-5
: Approve: main set to stack_exchange.app.js is correct (CommonJS .js file)stack_exchange.app.js exists and uses CommonJS exports (module.exports). package.json has no "type" field, so Node will treat .js as CommonJS — the change is safe. Keep main as "stack_exchange.app.js".
- components/stack_exchange/stack_exchange.app.js — contains
module.exports = {
(line 5)- components/stack_exchange/package.json — no "type" field
"main" line (unchanged):
"main": "stack_exchange.app.js",components/workflow_max/package.json (1)
17-17
: xml2js addition — verified in component code (LGTM)Imports of parseStringPromise from xml2js are present, so the dependency is required.
Files referencing xml2js:
- components/workflow_max/package.json
- components/workflow_max/workflow_max.app.mjs
- components/workflow_max/actions/delete-client-group/delete-client-group.mjs
- components/workflow_max/actions/create-client-group/create-client-group.mjs
components/upwave/package.json (2)
3-3
: LGTM: version bump and platform dependency addition look correctPatch bump for a manifest-only change is appropriate, and adding @pipedream/platform ^3.0.3 aligns with the cross-repo standardization effort.
Also applies to: 15-16
15-16
: Verified — main file present and runtime deps accounted forQuick check: I scanned the 5 updated packages. For components/upwave the main entry components/upwave/upwave.app.mjs exists and all bare imports used by the package are declared in dependencies or devDependencies (no missing runtime deps detected). I ran the same check for components/wesupply, components/userflow, components/uipath_automation_hub and components/zoho_analytics — their main files exist and imports are covered as well.
components/wesupply/package.json (2)
3-3
: LGTM: consistent patch bump and platform dependency addedChange aligns with the PR’s objective to standardize on @pipedream/platform ^3.0.3 and should reduce PACKAGEDEPENDENCIES failures.
Also applies to: 15-16
15-16
: Main file present; dependency import is covered
- components/wesupply/wesupply.app.mjs — file exists; imports { axios } from "@pipedream/platform"
- components/wesupply/actions/import-order/import-order.mjs — imports wesupply via "../../wesupply.app.mjs" (relative)
package.json declares "@pipedream/platform": "^3.0.3", so the external import is covered. No changes required.
components/userflow/package.json (2)
3-3
: LGTM: manifest update matches repo-wide dependency standardizationPatch version bump + @pipedream/platform ^3.0.3 addition looks good.
Also applies to: 15-16
15-16
: Main entry and dependencies validated — no action requiredVerified: components/userflow/userflow.app.mjs exists and the only external package imported is @pipedream/platform, which is declared in components/userflow/package.json. Other imports are either relative or Node built-ins.
Files checked:
- components/userflow/userflow.app.mjs — imports { axios } from "@pipedream/platform" ✅
- components/userflow/actions/find-user/find-user.mjs — imports { ConfigurationError } from "@pipedream/platform" ✅
- components/userflow/sources/common/webhook.mjs — imports crypto (Node built-in; no package required) ✅
- All other imports in the component are relative (./ or ../) and resolve within the component ✅
components/uipath_automation_hub/package.json (2)
3-3
: LGTM: dependency addition and version bump are appropriateThis should resolve missing @pipedream/platform issues flagged by the validator.
Also applies to: 15-16
15-16
: Confirm package is publishable — OKMain file present and external imports are declared in package.json.
- Main file: components/uipath_automation_hub/uipath_automation_hub.app.mjs
- Declared dependency: "@pipedream/platform" (components/uipath_automation_hub/package.json)
- Files importing the external package:
- components/uipath_automation_hub/uipath_automation_hub.app.mjs (import { axios } from "@pipedream/platform")
- components/uipath_automation_hub/sources/automation-published/automation-published.mjs (import { DEFAULT_POLLING_SOURCE_TIMER_INTERVAL } from "@pipedream/platform")
- components/uipath_automation_hub/actions/update-idea/update-idea.mjs (import { ConfigurationError } from "@pipedream/platform")
- Files importing the app relatively (no extra deps needed): create-idea, update-category-idea, update-idea, automation-published (all import "../../uipath_automation_hub.app.mjs")
components/zoho_analytics/package.json (2)
3-3
: LGTM: consistent with PR goals and prior component updatesPatch bump + @pipedream/platform ^3.0.3 dependency should help reduce PACKAGEDEPENDENCIES failures.
Also applies to: 15-16
15-16
: Sanity check passed — main file present and dependencies cover imports
- components/zoho_analytics/zoho_analytics.app.mjs — main file found; imports axios from "@pipedream/platform".
- components/zoho_analytics/package.json — contains "@pipedream/platform": "^3.0.3".
- Other imports are relative (e.g., ../../common/utils.mjs) and don't require package deps.
components/teamwork_desk/package.json (1)
3-3
: Version bump looks appropriate.Patch increment matches a dependency-only change.
components/translate_com/package.json (1)
3-3
: Patch version bump is correct for manifest-only change.components/superphone/package.json (2)
3-3
: Version bump is fine given dependency changes.
13-14
: graphql-request is used — keep it; verify runtime fetch/ESM supportVerified: package.json contains "graphql-request": "^7.2.0" and the package is actually imported/used:
- components/superphone/superphone.app.mjs
- import { GraphQLClient } from "graphql-request";
- getClient() → new GraphQLClient(...)
- makeRequest() → this.getClient().request(query, variables)
- components/superphone/common/queries/{contact,conversation,message,webhook}.mjs
- import { gql } from "graphql-request" and define queries/mutations
No imports of @pipedream/types were found.
Actionable items:
- Keep graphql-request in dependencies.
- Confirm the target runtime (Pipedream) supports ESM and provides a global fetch (Node >=18) or otherwise add a fetch polyfill / provide a fetch implementation to GraphQLClient or switch to the platform HTTP client if required.
components/visualping/package.json (2)
3-3
: Patch version bump matches the dependency-only change.
15-17
: Approve: @pipedream/platform ^3.0.3 — quick validation passed
- OK: main exists — components/visualping/app/visualping.app.mjs
- No imports of @pipedream/types found (no missing dependency)
- Relative app imports detected (expected for component-local app) in:
- components/visualping/actions/find-jobs/find-jobs.mjs
- components/visualping/actions/get-job/get-job.mjs
- components/visualping/sources/new-job-event/new-job-event.mjs
- components/visualping/actions/delete-job/delete-job.mjs
- components/visualping/sources/new-alert-received/new-alert-received.mjs
- components/visualping/actions/update-job/update-job.mjs
- components/visualping/sources/new-job-created/new-job-created.mjs
- components/visualping/actions/create-job/create-job.mjs
No changes required; approving the dependency update.
components/universal_summarizer_by_kagi/package.json (1)
3-3
: Version bump is appropriate.components/typebot/package.json (2)
3-3
: Patch version bump to 0.0.6 looks correctIncrement matches a dependency addition and no breaking config changes here.
15-16
: Confirmed: @pipedream/platform is used; no @pipedream/types import — please pick a repo-wide @pipedream/platform baseline
- Verified: components/typebot/typebot.app.mjs imports from "@pipedream/platform" (import { axios } from "@pipedream/platform").
- components/typebot/package.json declares "@pipedream/platform": "^3.0.3" (line 16).
- No imports of "@pipedream/types" found under components/typebot — no need to add that dependency.
- Repository already contains both ^3.0.3 and ^3.1.0 (and other versions) across components — recommend choosing a single baseline (e.g., ^3.1.0) and updating components/typebot/package.json (or aligning repo-wide) to avoid duplicate installs.
Closes #18035
Can be merged after approval, no components are being actually updated here
Summary by CodeRabbit