@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 +65 -0
- package/dist/metadata.d.ts +35 -0
- package/dist/metadata.js +179 -0
- package/dist/metadata.js.map +1 -0
- package/dist/registry.d.ts +15 -0
- package/dist/registry.js +36 -0
- package/dist/registry.js.map +1 -0
- package/package.json +60 -0
package/README.md
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# @rawdash/connectors
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@rawdash/connectors)
|
|
4
|
+
[](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 };
|
package/dist/metadata.js
ADDED
|
@@ -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 };
|
package/dist/registry.js
ADDED
|
@@ -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
|
+
}
|