builtwith-api 3.1.0 → 3.2.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/dist/schemas.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { z } from "zod/v4";
2
+ /** Supported API response formats. */
2
3
  export declare const ResponseFormatSchema: z.ZodEnum<{
3
4
  xml: "xml";
4
5
  json: "json";
@@ -6,7 +7,14 @@ export declare const ResponseFormatSchema: z.ZodEnum<{
6
7
  csv: "csv";
7
8
  tsv: "tsv";
8
9
  }>;
10
+ /**
11
+ * Response format returned by the BuiltWith API.
12
+ *
13
+ * - `"json"` — parsed and validated (default)
14
+ * - `"xml"` / `"txt"` / `"csv"` / `"tsv"` — returned as raw strings
15
+ */
9
16
  export type ResponseFormat = z.infer<typeof ResponseFormatSchema>;
17
+ /** Validation schema for {@link ClientOptions}. */
10
18
  export declare const ClientOptionsSchema: z.ZodObject<{
11
19
  responseFormat: z.ZodOptional<z.ZodEnum<{
12
20
  xml: "xml";
@@ -16,7 +24,16 @@ export declare const ClientOptionsSchema: z.ZodObject<{
16
24
  tsv: "tsv";
17
25
  }>>;
18
26
  }, z.core.$strict>;
27
+ /**
28
+ * Options passed to `createClient`.
29
+ *
30
+ * @example
31
+ * ```ts
32
+ * const client = createClient(API_KEY, { responseFormat: "xml" });
33
+ * ```
34
+ */
19
35
  export type ClientOptions = z.infer<typeof ClientOptionsSchema>;
36
+ /** Validation schema for {@link DomainParams}. */
20
37
  export declare const DomainParamsSchema: z.ZodObject<{
21
38
  hideAll: z.ZodOptional<z.ZodBoolean>;
22
39
  hideDescriptionAndLinks: z.ZodOptional<z.ZodBoolean>;
@@ -27,29 +44,77 @@ export declare const DomainParamsSchema: z.ZodObject<{
27
44
  firstDetectedRange: z.ZodOptional<z.ZodString>;
28
45
  lastDetectedRange: z.ZodOptional<z.ZodString>;
29
46
  }, z.core.$strict>;
47
+ /**
48
+ * Optional parameters for the Domain API endpoint.
49
+ *
50
+ * @example
51
+ * ```ts
52
+ * await client.domain("example.com", {
53
+ * onlyLiveTechnologies: true,
54
+ * hideAll: true,
55
+ * });
56
+ * ```
57
+ */
30
58
  export type DomainParams = z.infer<typeof DomainParamsSchema>;
59
+ /** Validation schema for {@link ListsParams}. */
31
60
  export declare const ListsParamsSchema: z.ZodObject<{
32
61
  includeMetaData: z.ZodOptional<z.ZodBoolean>;
33
62
  offset: z.ZodOptional<z.ZodString>;
34
63
  since: z.ZodOptional<z.ZodString>;
35
64
  }, z.core.$strict>;
65
+ /**
66
+ * Optional parameters for the Lists API endpoint.
67
+ *
68
+ * @example
69
+ * ```ts
70
+ * await client.lists("Shopify", { since: "2024-01-01" });
71
+ * ```
72
+ */
36
73
  export type ListsParams = z.infer<typeof ListsParamsSchema>;
74
+ /** Validation schema for {@link TrendsParams}. */
37
75
  export declare const TrendsParamsSchema: z.ZodObject<{
38
76
  date: z.ZodOptional<z.ZodString>;
39
77
  }, z.core.$strict>;
78
+ /**
79
+ * Optional parameters for the Trends API endpoint.
80
+ *
81
+ * @example
82
+ * ```ts
83
+ * await client.trends("jQuery", { date: "2024-06" });
84
+ * ```
85
+ */
40
86
  export type TrendsParams = z.infer<typeof TrendsParamsSchema>;
87
+ /** Validation schema for {@link CompanyToUrlParams}. */
41
88
  export declare const CompanyToUrlParamsSchema: z.ZodObject<{
42
89
  tld: z.ZodOptional<z.ZodString>;
43
90
  amount: z.ZodOptional<z.ZodNumber>;
44
91
  }, z.core.$strict>;
92
+ /**
93
+ * Optional parameters for the Company-to-URL API endpoint.
94
+ *
95
+ * @example
96
+ * ```ts
97
+ * await client.companyToUrl("Google", { tld: "com", amount: 5 });
98
+ * ```
99
+ */
45
100
  export type CompanyToUrlParams = z.infer<typeof CompanyToUrlParamsSchema>;
101
+ /** Validation schema for {@link TrustParams}. */
46
102
  export declare const TrustParamsSchema: z.ZodObject<{
47
103
  words: z.ZodOptional<z.ZodString>;
48
104
  live: z.ZodOptional<z.ZodBoolean>;
49
105
  }, z.core.$strict>;
106
+ /**
107
+ * Optional parameters for the Trust API endpoint.
108
+ *
109
+ * @example
110
+ * ```ts
111
+ * await client.trust("example.com", { words: "shop,buy", live: true });
112
+ * ```
113
+ */
50
114
  export type TrustParams = z.infer<typeof TrustParamsSchema>;
51
115
  export declare const SingleLookupSchema: z.ZodString;
52
116
  export declare const MultiLookupSchema: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>;
117
+ /** Validation schema for {@link FreeResponse}. */
53
118
  export declare const FreeResponseSchema: z.ZodObject<{
54
119
  domain: z.ZodString;
55
120
  first: z.ZodNumber;
@@ -66,17 +131,19 @@ export declare const FreeResponseSchema: z.ZodObject<{
66
131
  latest: z.ZodNumber;
67
132
  oldest: z.ZodNumber;
68
133
  name: z.ZodString;
69
- }, z.core.$strip>>;
70
- }, z.core.$strip>>;
71
- }, z.core.$strip>;
134
+ }, z.core.$strict>>;
135
+ }, z.core.$strict>>;
136
+ }, z.core.$strict>;
137
+ /** Response from the Free API — basic technology profile for a single domain. */
72
138
  export type FreeResponse = z.infer<typeof FreeResponseSchema>;
139
+ /** Validation schema for {@link DomainResponse}. */
73
140
  export declare const DomainResponseSchema: z.ZodObject<{
74
141
  Results: z.ZodArray<z.ZodObject<{
75
142
  Result: z.ZodObject<{
76
143
  SpendHistory: z.ZodArray<z.ZodObject<{
77
144
  D: z.ZodNumber;
78
145
  S: z.ZodNumber;
79
- }, z.core.$strip>>;
146
+ }, z.core.$strict>>;
80
147
  IsDB: z.ZodString;
81
148
  Spend: z.ZodNumber;
82
149
  Paths: z.ZodArray<z.ZodObject<{
@@ -90,14 +157,14 @@ export declare const DomainResponseSchema: z.ZodObject<{
90
157
  LastDetected: z.ZodNumber;
91
158
  IsPremium: z.ZodString;
92
159
  Categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
93
- }, z.core.$strip>>;
160
+ }, z.core.$strict>>;
94
161
  FirstIndexed: z.ZodNumber;
95
162
  LastIndexed: z.ZodNumber;
96
163
  Domain: z.ZodString;
97
164
  Url: z.ZodString;
98
165
  SubDomain: z.ZodString;
99
- }, z.core.$strip>>;
100
- }, z.core.$strip>;
166
+ }, z.core.$strict>>;
167
+ }, z.core.$strict>;
101
168
  Meta: z.ZodObject<{
102
169
  Majestic: z.ZodNumber;
103
170
  Vertical: z.ZodString;
@@ -114,10 +181,10 @@ export declare const DomainResponseSchema: z.ZodObject<{
114
181
  Type: z.ZodNumber;
115
182
  Level: z.ZodString;
116
183
  Email: z.ZodString;
117
- }, z.core.$strip>>;
184
+ }, z.core.$strict>>;
118
185
  ARank: z.ZodNumber;
119
186
  QRank: z.ZodNumber;
120
- }, z.core.$strip>;
187
+ }, z.core.$strict>;
121
188
  Attributes: z.ZodObject<{
122
189
  MJRank: z.ZodNumber;
123
190
  MJTLDRank: z.ZodNumber;
@@ -131,15 +198,17 @@ export declare const DomainResponseSchema: z.ZodObject<{
131
198
  CDimensions: z.ZodNumber;
132
199
  CGoals: z.ZodNumber;
133
200
  CMetrics: z.ZodNumber;
134
- }, z.core.$strip>;
201
+ }, z.core.$strict>;
135
202
  FirstIndexed: z.ZodNumber;
136
203
  LastIndexed: z.ZodNumber;
137
204
  Lookup: z.ZodString;
138
205
  SalesRevenue: z.ZodNumber;
139
- }, z.core.$strip>>;
206
+ }, z.core.$strict>>;
140
207
  Errors: z.ZodArray<z.ZodString>;
141
- }, z.core.$strip>;
208
+ }, z.core.$strict>;
209
+ /** Response from the Domain API — detailed technology profile with metadata and attributes. */
142
210
  export type DomainResponse = z.infer<typeof DomainResponseSchema>;
211
+ /** Validation schema for {@link ListsResponse}. */
143
212
  export declare const ListsResponseSchema: z.ZodObject<{
144
213
  NextOffset: z.ZodString;
145
214
  Results: z.ZodArray<z.ZodObject<{
@@ -159,9 +228,11 @@ export declare const ListsResponseSchema: z.ZodObject<{
159
228
  S: z.ZodOptional<z.ZodNumber>;
160
229
  R: z.ZodOptional<z.ZodNumber>;
161
230
  Country: z.ZodOptional<z.ZodString>;
162
- }, z.core.$strip>>;
163
- }, z.core.$strip>;
231
+ }, z.core.$strict>>;
232
+ }, z.core.$strict>;
233
+ /** Response from the Lists API — domains using a specific technology. */
164
234
  export type ListsResponse = z.infer<typeof ListsResponseSchema>;
235
+ /** Validation schema for {@link RelationshipsResponse}. */
165
236
  export declare const RelationshipsResponseSchema: z.ZodObject<{
166
237
  Relationships: z.ZodArray<z.ZodObject<{
167
238
  Domain: z.ZodString;
@@ -175,23 +246,27 @@ export declare const RelationshipsResponseSchema: z.ZodObject<{
175
246
  First: z.ZodNumber;
176
247
  Last: z.ZodNumber;
177
248
  Overlap: z.ZodBoolean;
178
- }, z.core.$strip>>;
179
- }, z.core.$strip>>;
180
- }, z.core.$strip>>;
249
+ }, z.core.$strict>>;
250
+ }, z.core.$strict>>;
251
+ }, z.core.$strict>>;
181
252
  Errors: z.ZodArray<z.ZodString>;
182
253
  results: z.ZodNumber;
183
254
  max_per_page: z.ZodNumber;
184
255
  next_skip: z.ZodNumber;
185
256
  more_results: z.ZodBoolean;
186
- }, z.core.$strip>;
257
+ }, z.core.$strict>;
258
+ /** Response from the Relationships API — domains sharing identifiers (analytics IDs, ad accounts, etc.). */
187
259
  export type RelationshipsResponse = z.infer<typeof RelationshipsResponseSchema>;
260
+ /** Validation schema for {@link KeywordsResponse}. */
188
261
  export declare const KeywordsResponseSchema: z.ZodObject<{
189
262
  Keywords: z.ZodArray<z.ZodObject<{
190
263
  Domain: z.ZodString;
191
264
  Keywords: z.ZodArray<z.ZodString>;
192
- }, z.core.$strip>>;
193
- }, z.core.$strip>;
265
+ }, z.core.$strict>>;
266
+ }, z.core.$strict>;
267
+ /** Response from the Keywords API — SEO keywords associated with domains. */
194
268
  export type KeywordsResponse = z.infer<typeof KeywordsResponseSchema>;
269
+ /** Validation schema for {@link TrendsResponse}. */
195
270
  export declare const TrendsResponseSchema: z.ZodObject<{
196
271
  Tech: z.ZodObject<{
197
272
  icon: z.ZodString;
@@ -208,10 +283,12 @@ export declare const TrendsResponseSchema: z.ZodObject<{
208
283
  milly: z.ZodNumber;
209
284
  live: z.ZodNumber;
210
285
  expired: z.ZodNumber;
211
- }, z.core.$strip>;
212
- }, z.core.$strip>;
213
- }, z.core.$strip>;
286
+ }, z.core.$strict>;
287
+ }, z.core.$strict>;
288
+ }, z.core.$strict>;
289
+ /** Response from the Trends API — technology adoption coverage data. */
214
290
  export type TrendsResponse = z.infer<typeof TrendsResponseSchema>;
291
+ /** Validation schema for {@link CompanyToUrlResponse}. */
215
292
  export declare const CompanyToUrlResponseSchema: z.ZodArray<z.ZodObject<{
216
293
  Domain: z.ZodString;
217
294
  CompanyName: z.ZodString;
@@ -224,8 +301,10 @@ export declare const CompanyToUrlResponseSchema: z.ZodArray<z.ZodObject<{
224
301
  Postcode: z.ZodString;
225
302
  City: z.ZodString;
226
303
  Socials: z.ZodArray<z.ZodString>;
227
- }, z.core.$strip>>;
304
+ }, z.core.$strict>>;
305
+ /** Response from the Company-to-URL API — domains associated with a company name. */
228
306
  export type CompanyToUrlResponse = z.infer<typeof CompanyToUrlResponseSchema>;
307
+ /** Validation schema for {@link TrustResponse}. */
229
308
  export declare const TrustResponseSchema: z.ZodObject<{
230
309
  Domain: z.ZodString;
231
310
  DBRecord: z.ZodObject<{
@@ -240,20 +319,24 @@ export declare const TrustResponseSchema: z.ZodObject<{
240
319
  Spend: z.ZodNumber;
241
320
  Established: z.ZodBoolean;
242
321
  DBIndexed: z.ZodBoolean;
243
- }, z.core.$strip>;
322
+ }, z.core.$strict>;
244
323
  LiveRecord: z.ZodNullable<z.ZodObject<{}, z.core.$loose>>;
245
324
  Status: z.ZodNumber;
246
- }, z.core.$strip>;
325
+ }, z.core.$strict>;
326
+ /** Response from the Trust API — domain verification and trust score. */
247
327
  export type TrustResponse = z.infer<typeof TrustResponseSchema>;
328
+ /** Validation schema for {@link TagsResponse}. */
248
329
  export declare const TagsResponseSchema: z.ZodArray<z.ZodObject<{
249
330
  Value: z.ZodString;
250
331
  Matches: z.ZodArray<z.ZodObject<{
251
332
  Domain: z.ZodString;
252
333
  First: z.ZodString;
253
334
  Last: z.ZodString;
254
- }, z.core.$strip>>;
255
- }, z.core.$strip>>;
335
+ }, z.core.$strict>>;
336
+ }, z.core.$strict>>;
337
+ /** Response from the Tags API — tracking and analytics tags found on a domain. */
256
338
  export type TagsResponse = z.infer<typeof TagsResponseSchema>;
339
+ /** Validation schema for {@link RecommendationsResponse}. */
257
340
  export declare const RecommendationsResponseSchema: z.ZodArray<z.ZodObject<{
258
341
  Domain: z.ZodString;
259
342
  Compiled: z.ZodString;
@@ -264,23 +347,27 @@ export declare const RecommendationsResponseSchema: z.ZodArray<z.ZodObject<{
264
347
  categories: z.ZodArray<z.ZodString>;
265
348
  stars: z.ZodNumber;
266
349
  match: z.ZodNumber;
267
- }, z.core.$strip>>;
268
- }, z.core.$strip>>;
350
+ }, z.core.$strict>>;
351
+ }, z.core.$strict>>;
352
+ /** Response from the Recommendations API — suggested technologies for a domain. */
269
353
  export type RecommendationsResponse = z.infer<typeof RecommendationsResponseSchema>;
354
+ /** Validation schema for {@link RedirectsResponse}. */
270
355
  export declare const RedirectsResponseSchema: z.ZodObject<{
271
356
  Lookup: z.ZodString;
272
357
  Inbound: z.ZodArray<z.ZodObject<{
273
358
  Domain: z.ZodString;
274
359
  FirstDetected: z.ZodString;
275
360
  LastDetected: z.ZodString;
276
- }, z.core.$strip>>;
361
+ }, z.core.$strict>>;
277
362
  Outbound: z.ZodArray<z.ZodObject<{
278
363
  Domain: z.ZodString;
279
364
  FirstDetected: z.ZodString;
280
365
  LastDetected: z.ZodString;
281
- }, z.core.$strip>>;
282
- }, z.core.$strip>;
366
+ }, z.core.$strict>>;
367
+ }, z.core.$strict>;
368
+ /** Response from the Redirects API — inbound and outbound redirect chains. */
283
369
  export type RedirectsResponse = z.infer<typeof RedirectsResponseSchema>;
370
+ /** Validation schema for {@link ProductResponse}. */
284
371
  export declare const ProductResponseSchema: z.ZodObject<{
285
372
  query: z.ZodString;
286
373
  is_more: z.ZodBoolean;
@@ -301,27 +388,83 @@ export declare const ProductResponseSchema: z.ZodObject<{
301
388
  Indexed: z.ZodString;
302
389
  FirstIndexed: z.ZodString;
303
390
  Price: z.ZodNumber;
304
- }, z.core.$strip>>;
391
+ }, z.core.$strict>>;
305
392
  Type: z.ZodNumber;
306
393
  Spend: z.ZodNumber;
307
- }, z.core.$strip>>;
308
- }, z.core.$strip>;
394
+ }, z.core.$strict>>;
395
+ }, z.core.$strict>;
396
+ /** Response from the Product API — e-commerce product search results. */
309
397
  export type ProductResponse = z.infer<typeof ProductResponseSchema>;
398
+ /**
399
+ * The BuiltWith API client. Created via `createClient()`.
400
+ *
401
+ * All methods return validated, typed responses when using JSON format,
402
+ * or raw strings for XML/TXT/CSV/TSV formats.
403
+ *
404
+ * @example
405
+ * ```ts
406
+ * import { createClient } from "builtwith-api";
407
+ *
408
+ * const client = createClient(process.env.BUILTWITH_API_KEY!);
409
+ * const profile = await client.free("example.com");
410
+ * ```
411
+ */
310
412
  export interface BuiltWithClient {
413
+ /** Free lookup — basic technology profile for a single domain. */
311
414
  free(lookup: string): Promise<FreeResponse | string>;
415
+ /**
416
+ * Detailed technology profile for one or more domains.
417
+ * @param lookup - Single domain or array of up to 16 domains.
418
+ * @param params - Optional filters (hide fields, date ranges, etc.).
419
+ */
312
420
  domain(lookup: string | string[], params?: DomainParams): Promise<DomainResponse | string>;
421
+ /**
422
+ * List domains using a specific technology.
423
+ * @param technology - Technology name (e.g. "Shopify", "React").
424
+ * @param params - Optional pagination and filtering.
425
+ */
313
426
  lists(technology: string, params?: ListsParams): Promise<ListsResponse | string>;
427
+ /**
428
+ * Find related domains via shared identifiers (analytics IDs, ad accounts, etc.).
429
+ * @param lookup - Single domain or array of up to 16 domains.
430
+ */
314
431
  relationships(lookup: string | string[]): Promise<RelationshipsResponse | string>;
432
+ /**
433
+ * Get SEO keywords associated with one or more domains.
434
+ * @param lookup - Single domain or array of up to 16 domains.
435
+ */
315
436
  keywords(lookup: string | string[]): Promise<KeywordsResponse | string>;
437
+ /**
438
+ * Technology adoption trends and coverage data.
439
+ * @param technology - Technology name to look up.
440
+ * @param params - Optional date filter.
441
+ */
316
442
  trends(technology: string, params?: TrendsParams): Promise<TrendsResponse | string>;
443
+ /**
444
+ * Find domains associated with a company name.
445
+ * @param companyName - Company name to search.
446
+ * @param params - Optional TLD filter and result count.
447
+ */
317
448
  companyToUrl(companyName: string, params?: CompanyToUrlParams): Promise<CompanyToUrlResponse | string>;
449
+ /** Live technology lookup — scans the domain in real time. */
318
450
  domainLive(lookup: string): Promise<DomainResponse | string>;
451
+ /**
452
+ * Trust and verification score for a domain.
453
+ * @param lookup - Domain to look up.
454
+ * @param params - Optional keywords and live analysis toggle.
455
+ */
319
456
  trust(lookup: string, params?: TrustParams): Promise<TrustResponse | string>;
457
+ /** Get tracking and analytics tags found on a domain. */
320
458
  tags(lookup: string): Promise<TagsResponse | string>;
459
+ /** Get technology recommendations for a domain. */
321
460
  recommendations(lookup: string): Promise<RecommendationsResponse | string>;
461
+ /** Get inbound and outbound redirect chains for a domain. */
322
462
  redirects(lookup: string): Promise<RedirectsResponse | string>;
463
+ /** Search for products across e-commerce sites. */
323
464
  product(query: string): Promise<ProductResponse | string>;
324
465
  }
466
+ /** @internal Maps JS param names to BuiltWith API query string keys. */
325
467
  export type BooleanMapping = Record<string, string>;
468
+ /** @internal URL query parameters — `undefined` values are omitted. */
326
469
  export type QueryParams = Record<string, string | number | undefined>;
327
470
  //# sourceMappingURL=schemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,31 +1,32 @@
1
1
  {
2
2
  "name": "builtwith-api",
3
- "version": "3.1.0",
4
- "description": "Wrapper for the BuiltWith API",
3
+ "version": "3.2.0",
4
+ "description": "Typed TypeScript wrapper for the BuiltWith API — library and CLI",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
8
  "bin": {
9
- "builtwith": "./dist/cli.js",
10
- "builtwith-mcp": "./dist/mcp.js"
9
+ "builtwith": "./dist/cli.js"
11
10
  },
12
11
  "exports": {
13
12
  ".": {
14
13
  "types": "./dist/index.d.ts",
15
14
  "import": "./dist/index.js"
16
15
  },
17
- "./mcp": {
18
- "types": "./dist/mcp.d.ts",
19
- "import": "./dist/mcp.js"
16
+ "./commands": {
17
+ "types": "./dist/commands.d.ts",
18
+ "import": "./dist/commands.js"
19
+ },
20
+ "./errors": {
21
+ "types": "./dist/errors.d.ts",
22
+ "import": "./dist/errors.js"
20
23
  }
21
24
  },
22
25
  "scripts": {
23
- "build": "bun run build:js && bun run build:types && chmod +x dist/cli.js dist/mcp.js",
24
- "build:js": "bun build ./src/index.ts ./src/cli.ts ./src/mcp.ts ./src/errors.ts --outdir dist --target node --format esm --sourcemap=external --external zod --external @modelcontextprotocol/sdk",
26
+ "build": "bun run build:js && bun run build:types && chmod +x dist/cli.js",
27
+ "build:js": "bun build ./src/index.ts ./src/cli.ts ./src/errors.ts ./src/commands.ts --outdir dist --target node --format esm --sourcemap=external --external zod",
25
28
  "build:types": "tsc --emitDeclarationOnly",
26
29
  "cli": "bun run src/cli.ts",
27
- "mcp": "bun run src/mcp.ts",
28
- "mcp:inspect": "npx @modelcontextprotocol/inspector node dist/mcp.js",
29
30
  "compile": "bun run compile:linux-x64 && bun run compile:linux-arm64 && bun run compile:darwin-x64 && bun run compile:darwin-arm64 && bun run compile:windows-x64",
30
31
  "compile:linux-x64": "bun build src/cli.ts --compile --target bun-linux-x64 --outfile dist/builtwith-linux-x64",
31
32
  "compile:linux-arm64": "bun build src/cli.ts --compile --target bun-linux-arm64 --outfile dist/builtwith-linux-arm64",
@@ -33,21 +34,18 @@
33
34
  "compile:darwin-arm64": "bun build src/cli.ts --compile --target bun-darwin-arm64 --outfile dist/builtwith-darwin-arm64",
34
35
  "compile:windows-x64": "bun build src/cli.ts --compile --target bun-windows-x64 --outfile dist/builtwith-windows-x64.exe",
35
36
  "prepublishOnly": "bun run build",
36
- "test": "bun test",
37
- "smoke": "bun test.ts",
38
- "clean": "rm -rf dist"
37
+ "test": "bun test"
39
38
  },
40
39
  "homepage": "https://github.com/zcaceres/builtwith-api",
41
40
  "repository": {
42
41
  "type": "git",
43
- "url": "https://github.com/zcaceres/builtwith-api.git"
42
+ "url": "https://github.com/zcaceres/builtwith-api.git",
43
+ "directory": "packages/builtwith-api"
44
44
  },
45
45
  "keywords": [
46
46
  "builtwith",
47
47
  "api",
48
48
  "cli",
49
- "mcp",
50
- "model-context-protocol",
51
49
  "technology-detection",
52
50
  "web-intelligence"
53
51
  ],
@@ -59,12 +57,7 @@
59
57
  "engines": {
60
58
  "node": ">=18.0.0"
61
59
  },
62
- "devDependencies": {
63
- "@types/bun": "^1.3.9",
64
- "typescript": "^5"
65
- },
66
60
  "dependencies": {
67
- "@modelcontextprotocol/sdk": "^1.27.1",
68
61
  "zod": "^4.3.6"
69
62
  }
70
63
  }
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2020-present Zach Caceres
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.