@rawdash/connectors 0.16.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 ADDED
@@ -0,0 +1,65 @@
1
+ # @rawdash/connectors
2
+
3
+ [![npm version](https://img.shields.io/npm/v/@rawdash/connectors)](https://www.npmjs.com/package/@rawdash/connectors)
4
+ [![license](https://img.shields.io/npm/l/@rawdash/connectors)](https://github.com/rawdash/rawdash/blob/main/LICENSE)
5
+
6
+ Umbrella package that aggregates every built-in Rawdash connector. Depend on
7
+ this one package instead of listing each `@rawdash/connector-*` package
8
+ individually — adding a connector to the monorepo flows into the umbrella
9
+ automatically, with no consumer-side changes and no version drift.
10
+
11
+ The contents are generated at build time from the connector packages by
12
+ `scripts/generate-connectors-package.ts`.
13
+
14
+ ## Install
15
+
16
+ ```sh
17
+ npm install @rawdash/connectors
18
+ ```
19
+
20
+ ## Entry points
21
+
22
+ The package has two subpath exports, deliberately split so a metadata-only
23
+ consumer never bundles connector sync logic:
24
+
25
+ ### `@rawdash/connectors/metadata`
26
+
27
+ Metadata only — the display, configuration, and cost descriptors a catalog
28
+ needs, never the runnable connector class. Combined with `sideEffects: false`,
29
+ a bundler tree-shakes the connector class bodies out of a metadata-only build.
30
+
31
+ ```ts
32
+ import {
33
+ connectorMetadata,
34
+ connectorMetadataById,
35
+ } from '@rawdash/connectors/metadata';
36
+
37
+ for (const c of connectorMetadata) {
38
+ console.log(c.id, c.doc.displayName);
39
+ }
40
+
41
+ const github = connectorMetadataById['github-actions'];
42
+ ```
43
+
44
+ Each entry exposes `id`, `packageName`, `doc`, `configFields`, `resources`, and
45
+ (where the connector declares one) `cost`.
46
+
47
+ ### `@rawdash/connectors/registry`
48
+
49
+ The runnable connector classes, behind per-connector lazy loaders. The dynamic
50
+ `import()` per connector preserves the lazy-load boundary: resolving one
51
+ connector never pulls the others' class or sync code into the same chunk.
52
+
53
+ ```ts
54
+ import {
55
+ connectorIds,
56
+ connectorLoaders,
57
+ loadConnector,
58
+ } from '@rawdash/connectors/registry';
59
+
60
+ const GitHubConnector = await loadConnector('github-actions');
61
+ ```
62
+
63
+ ## License
64
+
65
+ Apache-2.0
@@ -0,0 +1,35 @@
1
+ import { ConnectorDoc, ResourceDefinitions, ConnectorCost } from '@rawdash/core';
2
+ import { z } from 'zod';
3
+
4
+ /**
5
+ * Build-time metadata for a single connector, aggregated into the umbrella
6
+ * package so consumers (e.g. the cloud connector catalog) can enumerate every
7
+ * connector without depending on each `@rawdash/connector-*` package
8
+ * individually.
9
+ *
10
+ * This is the *metadata-only* view: it carries the display/config/cost
11
+ * descriptors a catalog needs, never the runnable connector class or its sync
12
+ * logic. To instantiate a connector, use the lazy loaders from
13
+ * `@rawdash/connectors/registry` instead.
14
+ */
15
+ interface ConnectorMetadata {
16
+ /** The connector's stable id (the class's `static id`), e.g. `github-actions`. */
17
+ id: string;
18
+ /** The npm package the connector ships in, e.g. `@rawdash/connector-github`. */
19
+ packageName: string;
20
+ /** Display name, category, auth, vendor, per-resource docs, etc. */
21
+ doc: ConnectorDoc;
22
+ /** Zod schema describing the connector's configuration fields. */
23
+ configFields: z.ZodObject<z.ZodRawShape>;
24
+ /** Per-resource definitions (shape, docs, response schemas). */
25
+ resources: ResourceDefinitions;
26
+ /** Optional cost / recommended-frequency signal. */
27
+ cost?: ConnectorCost;
28
+ }
29
+
30
+ declare const connectorMetadata: ConnectorMetadata[];
31
+
32
+ /** The same metadata, keyed by connector id for direct lookup. */
33
+ declare const connectorMetadataById: Record<string, ConnectorMetadata>;
34
+
35
+ export { type ConnectorMetadata, connectorMetadata, connectorMetadataById };
@@ -0,0 +1,179 @@
1
+ // src/metadata.generated.ts
2
+ import awsCloudwatchConnector, {
3
+ configFields as awsCloudwatchConfigFields,
4
+ doc as awsCloudwatchDoc
5
+ } from "@rawdash/connector-aws-cloudwatch";
6
+ import awsCostConnector, {
7
+ configFields as awsCostConfigFields,
8
+ doc as awsCostDoc
9
+ } from "@rawdash/connector-aws-cost";
10
+ import datadogConnector, {
11
+ configFields as datadogConfigFields,
12
+ doc as datadogDoc
13
+ } from "@rawdash/connector-datadog";
14
+ import githubConnector, {
15
+ configFields as githubConfigFields,
16
+ doc as githubDoc
17
+ } from "@rawdash/connector-github";
18
+ import googleAnalyticsConnector, {
19
+ configFields as googleAnalyticsConfigFields,
20
+ doc as googleAnalyticsDoc
21
+ } from "@rawdash/connector-google-analytics";
22
+ import hubspotConnector, {
23
+ configFields as hubspotConfigFields,
24
+ doc as hubspotDoc
25
+ } from "@rawdash/connector-hubspot";
26
+ import intercomConnector, {
27
+ configFields as intercomConfigFields,
28
+ doc as intercomDoc
29
+ } from "@rawdash/connector-intercom";
30
+ import jiraConnector, {
31
+ configFields as jiraConfigFields,
32
+ doc as jiraDoc
33
+ } from "@rawdash/connector-jira";
34
+ import linearConnector, {
35
+ configFields as linearConfigFields,
36
+ doc as linearDoc
37
+ } from "@rawdash/connector-linear";
38
+ import mixpanelConnector, {
39
+ configFields as mixpanelConfigFields,
40
+ doc as mixpanelDoc
41
+ } from "@rawdash/connector-mixpanel";
42
+ import posthogConnector, {
43
+ configFields as posthogConfigFields,
44
+ doc as posthogDoc
45
+ } from "@rawdash/connector-posthog";
46
+ import salesforceConnector, {
47
+ configFields as salesforceConfigFields,
48
+ doc as salesforceDoc
49
+ } from "@rawdash/connector-salesforce";
50
+ import sentryConnector, {
51
+ configFields as sentryConfigFields,
52
+ doc as sentryDoc
53
+ } from "@rawdash/connector-sentry";
54
+ import stripeConnector, {
55
+ configFields as stripeConfigFields,
56
+ doc as stripeDoc
57
+ } from "@rawdash/connector-stripe";
58
+ import vercelConnector, {
59
+ configFields as vercelConfigFields,
60
+ doc as vercelDoc
61
+ } from "@rawdash/connector-vercel";
62
+ var connectorMetadata = [
63
+ {
64
+ id: awsCloudwatchConnector.id,
65
+ packageName: "@rawdash/connector-aws-cloudwatch",
66
+ doc: awsCloudwatchDoc,
67
+ configFields: awsCloudwatchConfigFields,
68
+ resources: awsCloudwatchConnector.resources,
69
+ cost: awsCloudwatchConnector.cost
70
+ },
71
+ {
72
+ id: awsCostConnector.id,
73
+ packageName: "@rawdash/connector-aws-cost",
74
+ doc: awsCostDoc,
75
+ configFields: awsCostConfigFields,
76
+ resources: awsCostConnector.resources,
77
+ cost: awsCostConnector.cost
78
+ },
79
+ {
80
+ id: datadogConnector.id,
81
+ packageName: "@rawdash/connector-datadog",
82
+ doc: datadogDoc,
83
+ configFields: datadogConfigFields,
84
+ resources: datadogConnector.resources
85
+ },
86
+ {
87
+ id: githubConnector.id,
88
+ packageName: "@rawdash/connector-github",
89
+ doc: githubDoc,
90
+ configFields: githubConfigFields,
91
+ resources: githubConnector.resources
92
+ },
93
+ {
94
+ id: googleAnalyticsConnector.id,
95
+ packageName: "@rawdash/connector-google-analytics",
96
+ doc: googleAnalyticsDoc,
97
+ configFields: googleAnalyticsConfigFields,
98
+ resources: googleAnalyticsConnector.resources
99
+ },
100
+ {
101
+ id: hubspotConnector.id,
102
+ packageName: "@rawdash/connector-hubspot",
103
+ doc: hubspotDoc,
104
+ configFields: hubspotConfigFields,
105
+ resources: hubspotConnector.resources
106
+ },
107
+ {
108
+ id: intercomConnector.id,
109
+ packageName: "@rawdash/connector-intercom",
110
+ doc: intercomDoc,
111
+ configFields: intercomConfigFields,
112
+ resources: intercomConnector.resources
113
+ },
114
+ {
115
+ id: jiraConnector.id,
116
+ packageName: "@rawdash/connector-jira",
117
+ doc: jiraDoc,
118
+ configFields: jiraConfigFields,
119
+ resources: jiraConnector.resources
120
+ },
121
+ {
122
+ id: linearConnector.id,
123
+ packageName: "@rawdash/connector-linear",
124
+ doc: linearDoc,
125
+ configFields: linearConfigFields,
126
+ resources: linearConnector.resources
127
+ },
128
+ {
129
+ id: mixpanelConnector.id,
130
+ packageName: "@rawdash/connector-mixpanel",
131
+ doc: mixpanelDoc,
132
+ configFields: mixpanelConfigFields,
133
+ resources: mixpanelConnector.resources,
134
+ cost: mixpanelConnector.cost
135
+ },
136
+ {
137
+ id: posthogConnector.id,
138
+ packageName: "@rawdash/connector-posthog",
139
+ doc: posthogDoc,
140
+ configFields: posthogConfigFields,
141
+ resources: posthogConnector.resources
142
+ },
143
+ {
144
+ id: salesforceConnector.id,
145
+ packageName: "@rawdash/connector-salesforce",
146
+ doc: salesforceDoc,
147
+ configFields: salesforceConfigFields,
148
+ resources: salesforceConnector.resources
149
+ },
150
+ {
151
+ id: sentryConnector.id,
152
+ packageName: "@rawdash/connector-sentry",
153
+ doc: sentryDoc,
154
+ configFields: sentryConfigFields,
155
+ resources: sentryConnector.resources
156
+ },
157
+ {
158
+ id: stripeConnector.id,
159
+ packageName: "@rawdash/connector-stripe",
160
+ doc: stripeDoc,
161
+ configFields: stripeConfigFields,
162
+ resources: stripeConnector.resources
163
+ },
164
+ {
165
+ id: vercelConnector.id,
166
+ packageName: "@rawdash/connector-vercel",
167
+ doc: vercelDoc,
168
+ configFields: vercelConfigFields,
169
+ resources: vercelConnector.resources
170
+ }
171
+ ];
172
+
173
+ // src/metadata.ts
174
+ var connectorMetadataById = Object.fromEntries(connectorMetadata.map((m) => [m.id, m]));
175
+ export {
176
+ connectorMetadata,
177
+ connectorMetadataById
178
+ };
179
+ //# sourceMappingURL=metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/metadata.generated.ts","../src/metadata.ts"],"sourcesContent":["// This file is generated from the connector packages by scripts/generate-connectors-package.ts. Do not edit by hand.\nimport awsCloudwatchConnector, {\n configFields as awsCloudwatchConfigFields,\n doc as awsCloudwatchDoc,\n} from '@rawdash/connector-aws-cloudwatch';\nimport awsCostConnector, {\n configFields as awsCostConfigFields,\n doc as awsCostDoc,\n} from '@rawdash/connector-aws-cost';\nimport datadogConnector, {\n configFields as datadogConfigFields,\n doc as datadogDoc,\n} from '@rawdash/connector-datadog';\nimport githubConnector, {\n configFields as githubConfigFields,\n doc as githubDoc,\n} from '@rawdash/connector-github';\nimport googleAnalyticsConnector, {\n configFields as googleAnalyticsConfigFields,\n doc as googleAnalyticsDoc,\n} from '@rawdash/connector-google-analytics';\nimport hubspotConnector, {\n configFields as hubspotConfigFields,\n doc as hubspotDoc,\n} from '@rawdash/connector-hubspot';\nimport intercomConnector, {\n configFields as intercomConfigFields,\n doc as intercomDoc,\n} from '@rawdash/connector-intercom';\nimport jiraConnector, {\n configFields as jiraConfigFields,\n doc as jiraDoc,\n} from '@rawdash/connector-jira';\nimport linearConnector, {\n configFields as linearConfigFields,\n doc as linearDoc,\n} from '@rawdash/connector-linear';\nimport mixpanelConnector, {\n configFields as mixpanelConfigFields,\n doc as mixpanelDoc,\n} from '@rawdash/connector-mixpanel';\nimport posthogConnector, {\n configFields as posthogConfigFields,\n doc as posthogDoc,\n} from '@rawdash/connector-posthog';\nimport salesforceConnector, {\n configFields as salesforceConfigFields,\n doc as salesforceDoc,\n} from '@rawdash/connector-salesforce';\nimport sentryConnector, {\n configFields as sentryConfigFields,\n doc as sentryDoc,\n} from '@rawdash/connector-sentry';\nimport stripeConnector, {\n configFields as stripeConfigFields,\n doc as stripeDoc,\n} from '@rawdash/connector-stripe';\nimport vercelConnector, {\n configFields as vercelConfigFields,\n doc as vercelDoc,\n} from '@rawdash/connector-vercel';\n\nimport type { ConnectorMetadata } from './types';\n\nexport const connectorMetadata: ConnectorMetadata[] = [\n {\n id: awsCloudwatchConnector.id,\n packageName: '@rawdash/connector-aws-cloudwatch',\n doc: awsCloudwatchDoc,\n configFields: awsCloudwatchConfigFields,\n resources: awsCloudwatchConnector.resources,\n cost: awsCloudwatchConnector.cost,\n },\n {\n id: awsCostConnector.id,\n packageName: '@rawdash/connector-aws-cost',\n doc: awsCostDoc,\n configFields: awsCostConfigFields,\n resources: awsCostConnector.resources,\n cost: awsCostConnector.cost,\n },\n {\n id: datadogConnector.id,\n packageName: '@rawdash/connector-datadog',\n doc: datadogDoc,\n configFields: datadogConfigFields,\n resources: datadogConnector.resources,\n },\n {\n id: githubConnector.id,\n packageName: '@rawdash/connector-github',\n doc: githubDoc,\n configFields: githubConfigFields,\n resources: githubConnector.resources,\n },\n {\n id: googleAnalyticsConnector.id,\n packageName: '@rawdash/connector-google-analytics',\n doc: googleAnalyticsDoc,\n configFields: googleAnalyticsConfigFields,\n resources: googleAnalyticsConnector.resources,\n },\n {\n id: hubspotConnector.id,\n packageName: '@rawdash/connector-hubspot',\n doc: hubspotDoc,\n configFields: hubspotConfigFields,\n resources: hubspotConnector.resources,\n },\n {\n id: intercomConnector.id,\n packageName: '@rawdash/connector-intercom',\n doc: intercomDoc,\n configFields: intercomConfigFields,\n resources: intercomConnector.resources,\n },\n {\n id: jiraConnector.id,\n packageName: '@rawdash/connector-jira',\n doc: jiraDoc,\n configFields: jiraConfigFields,\n resources: jiraConnector.resources,\n },\n {\n id: linearConnector.id,\n packageName: '@rawdash/connector-linear',\n doc: linearDoc,\n configFields: linearConfigFields,\n resources: linearConnector.resources,\n },\n {\n id: mixpanelConnector.id,\n packageName: '@rawdash/connector-mixpanel',\n doc: mixpanelDoc,\n configFields: mixpanelConfigFields,\n resources: mixpanelConnector.resources,\n cost: mixpanelConnector.cost,\n },\n {\n id: posthogConnector.id,\n packageName: '@rawdash/connector-posthog',\n doc: posthogDoc,\n configFields: posthogConfigFields,\n resources: posthogConnector.resources,\n },\n {\n id: salesforceConnector.id,\n packageName: '@rawdash/connector-salesforce',\n doc: salesforceDoc,\n configFields: salesforceConfigFields,\n resources: salesforceConnector.resources,\n },\n {\n id: sentryConnector.id,\n packageName: '@rawdash/connector-sentry',\n doc: sentryDoc,\n configFields: sentryConfigFields,\n resources: sentryConnector.resources,\n },\n {\n id: stripeConnector.id,\n packageName: '@rawdash/connector-stripe',\n doc: stripeDoc,\n configFields: stripeConfigFields,\n resources: stripeConnector.resources,\n },\n {\n id: vercelConnector.id,\n packageName: '@rawdash/connector-vercel',\n doc: vercelDoc,\n configFields: vercelConfigFields,\n resources: vercelConnector.resources,\n },\n];\n","import { connectorMetadata } from './metadata.generated';\nimport type { ConnectorMetadata } from './types';\n\nexport type { ConnectorMetadata } from './types';\n\n/**\n * Every built-in connector's build-time metadata, generated from the connector\n * packages in this monorepo. Ordered by connector id.\n *\n * Importing this entry point pulls connector *metadata* only — distinct from\n * `@rawdash/connectors/registry`, which exposes the runnable connector classes\n * behind per-connector lazy loaders. Keep the two apart so a metadata consumer\n * (such as the cloud connector catalog) never bundles connector sync logic.\n */\nexport { connectorMetadata } from './metadata.generated';\n\n/** The same metadata, keyed by connector id for direct lookup. */\nexport const connectorMetadataById: Record<string, ConnectorMetadata> =\n Object.fromEntries(connectorMetadata.map((m) => [m.id, m]));\n"],"mappings":"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","names":[]}
@@ -0,0 +1,15 @@
1
+ import { ConnectorClass } from '@rawdash/core';
2
+
3
+ declare const connectorLoaders: Record<string, () => Promise<ConnectorClass>>;
4
+
5
+ /** Ids of every built-in connector, sorted. */
6
+ declare const connectorIds: string[];
7
+ /**
8
+ * Load a single connector class by id. Throws if the id is unknown.
9
+ *
10
+ * @example
11
+ * const GitHubConnector = await loadConnector('github-actions');
12
+ */
13
+ declare function loadConnector(id: string): Promise<ConnectorClass>;
14
+
15
+ export { connectorIds, connectorLoaders, loadConnector };
@@ -0,0 +1,36 @@
1
+ // src/registry.generated.ts
2
+ var connectorLoaders = {
3
+ "aws-cloudwatch": () => import("@rawdash/connector-aws-cloudwatch").then((m) => m.default),
4
+ "aws-cost": () => import("@rawdash/connector-aws-cost").then((m) => m.default),
5
+ datadog: () => import("@rawdash/connector-datadog").then((m) => m.default),
6
+ "github-actions": () => import("@rawdash/connector-github").then((m) => m.default),
7
+ "google-analytics": () => import("@rawdash/connector-google-analytics").then((m) => m.default),
8
+ hubspot: () => import("@rawdash/connector-hubspot").then((m) => m.default),
9
+ intercom: () => import("@rawdash/connector-intercom").then((m) => m.default),
10
+ jira: () => import("@rawdash/connector-jira").then((m) => m.default),
11
+ linear: () => import("@rawdash/connector-linear").then((m) => m.default),
12
+ mixpanel: () => import("@rawdash/connector-mixpanel").then((m) => m.default),
13
+ posthog: () => import("@rawdash/connector-posthog").then((m) => m.default),
14
+ salesforce: () => import("@rawdash/connector-salesforce").then((m) => m.default),
15
+ sentry: () => import("@rawdash/connector-sentry").then((m) => m.default),
16
+ stripe: () => import("@rawdash/connector-stripe").then((m) => m.default),
17
+ vercel: () => import("@rawdash/connector-vercel").then((m) => m.default)
18
+ };
19
+
20
+ // src/registry.ts
21
+ var connectorIds = Object.keys(connectorLoaders).sort();
22
+ async function loadConnector(id) {
23
+ const loader = connectorLoaders[id];
24
+ if (!loader) {
25
+ throw new Error(
26
+ `Unknown connector id "${id}". Known ids: ${connectorIds.join(", ")}.`
27
+ );
28
+ }
29
+ return loader();
30
+ }
31
+ export {
32
+ connectorIds,
33
+ connectorLoaders,
34
+ loadConnector
35
+ };
36
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/registry.generated.ts","../src/registry.ts"],"sourcesContent":["// This file is generated from the connector packages by scripts/generate-connectors-package.ts. Do not edit by hand.\nimport type { ConnectorClass } from '@rawdash/core';\n\nexport const connectorLoaders: Record<string, () => Promise<ConnectorClass>> = {\n 'aws-cloudwatch': () =>\n import('@rawdash/connector-aws-cloudwatch').then((m) => m.default),\n 'aws-cost': () =>\n import('@rawdash/connector-aws-cost').then((m) => m.default),\n datadog: () => import('@rawdash/connector-datadog').then((m) => m.default),\n 'github-actions': () =>\n import('@rawdash/connector-github').then((m) => m.default),\n 'google-analytics': () =>\n import('@rawdash/connector-google-analytics').then((m) => m.default),\n hubspot: () => import('@rawdash/connector-hubspot').then((m) => m.default),\n intercom: () => import('@rawdash/connector-intercom').then((m) => m.default),\n jira: () => import('@rawdash/connector-jira').then((m) => m.default),\n linear: () => import('@rawdash/connector-linear').then((m) => m.default),\n mixpanel: () => import('@rawdash/connector-mixpanel').then((m) => m.default),\n posthog: () => import('@rawdash/connector-posthog').then((m) => m.default),\n salesforce: () =>\n import('@rawdash/connector-salesforce').then((m) => m.default),\n sentry: () => import('@rawdash/connector-sentry').then((m) => m.default),\n stripe: () => import('@rawdash/connector-stripe').then((m) => m.default),\n vercel: () => import('@rawdash/connector-vercel').then((m) => m.default),\n};\n","import type { ConnectorClass } from '@rawdash/core';\n\nimport { connectorLoaders } from './registry.generated';\n\n/**\n * Lazy loaders for every built-in connector, keyed by connector id. Each entry\n * dynamically imports its connector package and resolves to the connector\n * class (the module's default export).\n *\n * The per-connector dynamic `import()` preserves the lazy-load boundary:\n * resolving one connector never pulls the other connectors' class or sync code\n * into the same chunk. Consumers that only need metadata should use\n * `@rawdash/connectors/metadata` instead, which never touches this module.\n */\nexport { connectorLoaders } from './registry.generated';\n\n/** Ids of every built-in connector, sorted. */\nexport const connectorIds: string[] = Object.keys(connectorLoaders).sort();\n\n/**\n * Load a single connector class by id. Throws if the id is unknown.\n *\n * @example\n * const GitHubConnector = await loadConnector('github-actions');\n */\nexport async function loadConnector(id: string): Promise<ConnectorClass> {\n const loader = connectorLoaders[id];\n if (!loader) {\n throw new Error(\n `Unknown connector id \"${id}\". Known ids: ${connectorIds.join(', ')}.`,\n );\n }\n return loader();\n}\n"],"mappings":";AAGO,IAAM,mBAAkE;AAAA,EAC7E,kBAAkB,MAChB,OAAO,mCAAmC,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO;AAAA,EACnE,YAAY,MACV,OAAO,6BAA6B,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO;AAAA,EAC7D,SAAS,MAAM,OAAO,4BAA4B,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO;AAAA,EACzE,kBAAkB,MAChB,OAAO,2BAA2B,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO;AAAA,EAC3D,oBAAoB,MAClB,OAAO,qCAAqC,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO;AAAA,EACrE,SAAS,MAAM,OAAO,4BAA4B,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO;AAAA,EACzE,UAAU,MAAM,OAAO,6BAA6B,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO;AAAA,EAC3E,MAAM,MAAM,OAAO,yBAAyB,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO;AAAA,EACnE,QAAQ,MAAM,OAAO,2BAA2B,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO;AAAA,EACvE,UAAU,MAAM,OAAO,6BAA6B,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO;AAAA,EAC3E,SAAS,MAAM,OAAO,4BAA4B,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO;AAAA,EACzE,YAAY,MACV,OAAO,+BAA+B,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO;AAAA,EAC/D,QAAQ,MAAM,OAAO,2BAA2B,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO;AAAA,EACvE,QAAQ,MAAM,OAAO,2BAA2B,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO;AAAA,EACvE,QAAQ,MAAM,OAAO,2BAA2B,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO;AACzE;;;ACPO,IAAM,eAAyB,OAAO,KAAK,gBAAgB,EAAE,KAAK;AAQzE,eAAsB,cAAc,IAAqC;AACvE,QAAM,SAAS,iBAAiB,EAAE;AAClC,MAAI,CAAC,QAAQ;AACX,UAAM,IAAI;AAAA,MACR,yBAAyB,EAAE,iBAAiB,aAAa,KAAK,IAAI,CAAC;AAAA,IACrE;AAAA,EACF;AACA,SAAO,OAAO;AAChB;","names":[]}
package/package.json ADDED
@@ -0,0 +1,60 @@
1
+ {
2
+ "name": "@rawdash/connectors",
3
+ "version": "0.16.0",
4
+ "description": "Umbrella package aggregating every built-in Rawdash connector. Depend on this one package instead of N individual @rawdash/connector-* packages.",
5
+ "license": "Apache-2.0",
6
+ "type": "module",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/rawdash/rawdash.git",
10
+ "directory": "packages/connectors-umbrella"
11
+ },
12
+ "files": [
13
+ "dist",
14
+ "README.md",
15
+ "LICENSE"
16
+ ],
17
+ "sideEffects": false,
18
+ "exports": {
19
+ "./metadata": {
20
+ "@rawdash/source": "./src/metadata.ts",
21
+ "types": "./dist/metadata.d.ts",
22
+ "import": "./dist/metadata.js"
23
+ },
24
+ "./registry": {
25
+ "@rawdash/source": "./src/registry.ts",
26
+ "types": "./dist/registry.d.ts",
27
+ "import": "./dist/registry.js"
28
+ }
29
+ },
30
+ "scripts": {
31
+ "build": "tsup",
32
+ "typecheck": "tsc --noEmit",
33
+ "lint": "eslint src",
34
+ "test": "vitest run"
35
+ },
36
+ "dependencies": {
37
+ "@rawdash/connector-aws-cloudwatch": "workspace:*",
38
+ "@rawdash/connector-aws-cost": "workspace:*",
39
+ "@rawdash/connector-datadog": "workspace:*",
40
+ "@rawdash/connector-github": "workspace:*",
41
+ "@rawdash/connector-google-analytics": "workspace:*",
42
+ "@rawdash/connector-hubspot": "workspace:*",
43
+ "@rawdash/connector-intercom": "workspace:*",
44
+ "@rawdash/connector-jira": "workspace:*",
45
+ "@rawdash/connector-linear": "workspace:*",
46
+ "@rawdash/connector-mixpanel": "workspace:*",
47
+ "@rawdash/connector-posthog": "workspace:*",
48
+ "@rawdash/connector-salesforce": "workspace:*",
49
+ "@rawdash/connector-sentry": "workspace:*",
50
+ "@rawdash/connector-stripe": "workspace:*",
51
+ "@rawdash/connector-vercel": "workspace:*",
52
+ "@rawdash/core": "workspace:*",
53
+ "zod": "^4.4.3"
54
+ },
55
+ "devDependencies": {
56
+ "tsup": "^8.0.0",
57
+ "typescript": "^5.7.2",
58
+ "vitest": "^4.1.4"
59
+ }
60
+ }