
Bundlejs API
Description
Plugin for bundling, treeshaking, transpiling, compressing and minification of JavaScript and TypeScript code
Details
https://deno.bundlejs.com/.well-known/ai-plugin.json
{
"schema_version": "v1",
"name_for_human": "Bundlejs API Plugin",
"name_for_model": "bundlejs_api",
"description_for_human": "Plugin for bundling, treeshaking, transpiling, compressing and minification of JavaScript and TypeScript code",
"description_for_model": "Plugin for bundling, treeshaking, transpiling, compressing and minification of JavaScript and TypeScript code.",
"auth": {
"type": "none"
},
"api": {
"type": "openapi",
"url": "https://deno.bundlejs.com/.well-known/openapi.yaml",
"is_user_authenticated": false
},
"logo_url": "https://deno.bundlejs.com/.well-known/logo.png",
"contact_email": "hey@okikio.dev",
"legal_info_url": "https://github.com/okikio/bundlejs/blob/deno-edge/LICENSE"
}
https://deno.bundlejs.com/.well-known/openapi.yaml
openapi: 3.0.0
info:
title: BundleJS API
description: An API located at https://deno.bundlejs.com for bundling, treeshaking, transpiling, compressing and minification of JavaScript and TypeScript code.
version: 1.0.1
servers:
- url: https://deno.bundlejs.com
paths:
/:
get:
operationId: bundle
summary: Bundle, treeshake and minify JavaScript and TypeScript code.
parameters:
- name: q
in: query
description: Represents the modules to bundle.
required: false
schema:
type: string
description:
>
`q` or `query` represents the module, e.g. react, vue, etc...
You can add (import) in-front of a specific module to make it an import instead of an export
example:
>
react,react-dom,(import)spring-easing
- name: treeshake
in: query
description:
>
Represents the export/imports to treeshake.
Treeshake export object using this custom format
`treeshake` represents the export/imports to treeshake.
The treeshake syntax allows for specifying multiple exports per package, through this syntax
```ts
"[{ x,y,z }],[*],[* as X],[{ type xyz }]"
// to
export { x, y, z } from "...";
export * from "...";
export * as X from "...";
export { type xyz } from "...";
```
required: false
schema:
type: string
example:
>
[*],[{default}]
- name: badge
in: query
description: Generate a badge.
required: false
schema:
oneOf:
- type: boolean
- type: string
enum: ["detailed", "minified", "uncompressed"]
- name: badge-style
in: query
description: Badge styles supported by shields.io.
required: false
schema:
type: string
enum: ["flat", "plastic", "flat-square", "for-the-badge", "social"]
- name: badge-raster
in: query
description: The badge as a png image.
required: false
schema:
type: boolean
- name: png
in: query
description: The badge as a png image.
required: false
schema:
type: boolean
- name: file
in: query
description: Resulting bundled code.
required: false
schema:
type: boolean
- name: analysis
in: query
description: Esbuild generate visual analysis.
required: false
schema:
oneOf:
- type: boolean
- type: string
enum: ["verbose"]
- name: metafile
in: query
description: Esbuild bundle metafile.
required: false
schema:
type: boolean
- name: config
in: query
required: false
description: Bundlejs's Config in JSON form, with support for esbuild options in the esbuild field, and "package.json" in the "package.json" field
schema:
type: string
format: json
example:
>
{
"cdn": "https://unpkg.com",
"compression": "gzip",
"analysis": true,
"polyfill": false,
"tsx": false,
"package.json": {
"name": "bundled-code",
"version": "0.0.0",
"dependencies": {
"react": "^16"
}
},
"esbuild": {
"target": [
"esnext",
],
"format": "esm",
"bundle": true,
"minify": true,
"treeShaking": true,
"platform": "browser",
"sourcemap": false,
"external": ["react"],
"alias": {
"react-dom": "https://esm.sh/react-dom"
}
},
}
- name: polyfill
in: query
description: Polyfill Node built-ins.
required: false
schema:
type: boolean
- name: sourcemap
in: query
description: Esbuild sourcemap.
required: false
schema:
oneOf:
- type: boolean
- type: string
enum: ["inline", "external"]
- name: minify
in: query
description: Esbuild minify.
required: false
schema:
type: boolean
- name: format
in: query
description: Esbuild format.
required: false
schema:
type: string
enum: ["iife", "cjs", "esm"]
- name: warnings
in: query
description: Lists warnings for a particular bundle.
required: false
schema:
type: boolean
- name: raw
in: query
description: The raw result of the bundle.
required: false
schema:
type: boolean
- name: text
in: query
description: Represents the input code as a string.
required: false
schema:
type: string
- name: share
in: query
description: Represents the compressed string version of the input code (compressed using @amoutonbrady/lz-string).
required: false
schema:
type: string
- name: tsx
in: query
description: Support JSX and TSX.
required: false
schema:
type: boolean
responses:
'200':
description:
>
Bundled code, analysis, badge or JSON response.
The URL breakdown is,
```ts
/?
q=(import)@okikio/emitter,(import)@okikio/animate,(import)@okikio/animate,(import)@okikio/animate,(import)@okikio/animate,@okikio/animate,@okikio/animate,@okikio/animate,@okikio/animate&
treeshake=[T],[{ animate }],[{ animate as B }],[* as TR],[{ type animate }],[*],[{ animate as A }],[* as PR],[{ animate }]&
text="export * as PR18 from \"@okikio/animate\";\nexport { animate as animate2 } from \"@okikio/animate\";"&
share=MYewdgziA2CmB00QHMAUAiAwiG6CUQA&
config={"cdn":"skypack","compression":"brotli","esbuild":{"format":"cjs","minify":false,"treeShaking":false}}&
bundle
```
* `q` or `query` represents the module, e.g. `react`, `vue`, etc...
You can add `(import)` in-front of a specific module to make it an import instead of an export
* `treeshake` represents the export/imports to treeshake.
The treeshake syntax allows for specifying multiple exports per package, through this syntax
```ts
"[{ x,y,z }],[*],[* as X],[{ type xyz }]"
// to
export { x, y, z } from "...";
export * from "...";
export * as X from "...";
export { type xyz } from "...";
```
The square brackets represent seperate packages, and everything inside the squarebrackets, are the exported methods, types, etc...
* `text` represents the input code as a string (it's used for short input code)
* `share` represents compressed string version of the input code (it's used for large input code)
* `config` represents the bundle configuration to use when building the bundle
* `bundle` tells **bundlejs** to bundle the input code on start-up. This isn't on by default for security reasons. I want to discourage people from sending large complex bundles that crash browsers or that take a long time to load, especially before the input code is properly verified as non-malicious. So, if you want to bundle the code on startup, you have to manually add `&bundle` to the end of the url yourself.
The reason why I decided on this syntax is because it allows for a lot of flexibility, and transparency concerning what is being bundled. I also wanted to make it easy to share bundle session between users.
You can add (import) in-front of a specific module to make it an import instead of an export, treeshake represents the export/imports to treeshake.
The treeshake syntax allows for specifying multiple exports per package, through this syntax
content:
application/json:
schema:
type: object
properties:
query:
type: string
rawQuery:
type: string
version:
type: string
nullable: true
versions:
type: array
items:
type: string
nullable: true
config:
type: object
additionalProperties: true
input:
type: string
size:
type: object
properties:
type:
type: string
rawUncompressedSize:
type: integer
uncompressedSize:
type: string
rawCompressedSize:
type: integer
compressedSize:
type: string
size:
type: string
time:
type: string
rawTime:
type: integer
fileId:
type: string
fileUrl:
type: string
fileHTMLUrl:
type: string
application/javascript:
schema:
type: string
image/svg+xml:
schema:
type: string
example:
>
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="146" height="20" role="img" aria-label="5.51 kB (gzip): bundlejs">
<title>5.51 kB (gzip): bundlejs</title>
<a target="_blank" xlink:href="https://deno.bundlejs.com/?q=spring-easing,react&badge">
<linearGradient id="s" x2="0" y2="100%">
<stop offset="0" stop-color="#bbb" stop-opacity=".1"/>
<stop offset="1" stop-opacity=".1"/>
</linearGradient>
<clipPath id="r">
<rect width="146" height="20" rx="3" fill="#fff"/>
</clipPath>
<g clip-path="url(#r)">
<rect width="89" height="20" fill="#555"/>
<rect x="89" width="57" height="20" fill="#007ec6"/>
<rect width="146" height="20" fill="url(#s)"/>
</g>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110">
<text aria-hidden="true" x="455" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="790">5.51 kB (gzip)</text>
<text x="455" y="140" transform="scale(.1)" fill="#fff" textLength="790">5.51 kB (gzip)</text>
<text aria-hidden="true" x="1165" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="470">bundlejs</text>
<text x="1165" y="140" transform="scale(.1)" fill="#fff" textLength="470">bundlejs</text>
</g>
</a>
</svg>
image/png:
schema:
type: string
format: binary
text/plain:
schema:
type: string
example: "index.js 12.9kb 100.0%\n ├ http-url:https://unpkg.com/react@18.2.0/cjs/react.production.min.js 6.3kb 49.0%\n ├ http-url:https://unpkg.com/spring-easing@2.1.2/lib/index.mjs 4.3kb 33.1%\n ├ http-url:https://unpkg.com/react@18.2.0/index.js 50b 0.4%\n └ virtual-filesystem:/index.ts 16b 0.1%"
'400':
description: Bad request
'404':
description: Package not found
content:
text/plain:
schema:
type: string
example: "✘ [ERROR] [getRequest] Failed at request (https://unpkg.com/reac@0.0.0)\nError: Couldn't load https://unpkg.com/reac@0.0.0/index.js (404 code) [plugin cdn-url]\n\n virtual-filesystem:/index.ts:2:14:\n\n 2 │ export * from \"reac\";\n ╵ ~~~~~~"
'500':
description: Internal server error
/badge:
get:
operationId: getBundleBadge
summary: Bundle, treeshake and minify JavaScript and TypeScript code, and respond with a badge.
parameters:
- name: q
in: query
description: Represents the modules to bundle.
required: false
schema:
type: string
description:
>
`q` or `query` represents the module, e.g. react, vue, etc...
You can add (import) in-front of a specific module to make it an import instead of an export
example:
>
react,react-dom,(import)spring-easing
- name: treeshake
in: query
description:
>
Represents the export/imports to treeshake.
Treeshake export object using this custom format
`treeshake` represents the export/imports to treeshake.
The treeshake syntax allows for specifying multiple exports per package, through this syntax
```ts
"[{ x,y,z }],[*],[* as X],[{ type xyz }]"
// to
export { x, y, z } from "...";
export * from "...";
export * as X from "...";
export { type xyz } from "...";
```
required: false
schema:
type: string
example:
>
[*],[{default}]
- name: badge
in: query
description: Generate a badge.
required: false
schema:
oneOf:
- type: boolean
- type: string
enum: ["detailed", "minified", "uncompressed"]
- name: badge-style
in: query
description: Badge styles supported by shields.io.
required: false
schema:
type: string
enum: ["flat", "plastic", "flat-square", "for-the-badge", "social"]
- name: badge-raster
in: query
description: The badge as a png image.
required: false
schema:
type: boolean
- name: png
in: query
description: The badge as a png image.
required: false
schema:
type: boolean
- name: config
in: query
required: false
description: Bundlejs's Config in JSON form, with support for esbuild options in the esbuild field, and "package.json" in the "package.json" field
schema:
type: string
format: json
example:
>
{
"cdn": "https://unpkg.com",
"compression": "gzip",
"analysis": true,
"polyfill": false,
"tsx": false,
"package.json": {
"name": "bundled-code",
"version": "0.0.0",
"dependencies": {
"react": "^16"
}
},
"esbuild": {
"target": [
"esnext",
],
"format": "esm",
"bundle": true,
"minify": true,
"treeShaking": true,
"platform": "browser",
"sourcemap": false,
"external": ["react"],
"alias": {
"react-dom": "https://esm.sh/react-dom"
}
},
}
- name: polyfill
in: query
description: Polyfill Node built-ins.
required: false
schema:
type: boolean
- name: sourcemap
in: query
description: Esbuild sourcemap.
required: false
schema:
oneOf:
- type: boolean
- type: string
enum: ["inline", "external"]
- name: minify
in: query
description: Esbuild minify.
required: false
schema:
type: boolean
- name: format
in: query
description: Esbuild format.
required: false
schema:
type: string
enum: ["iife", "cjs", "esm"]
- name: text
in: query
description: Represents the input code as a string.
required: false
schema:
type: string
- name: share
in: query
description: Represents the compressed string version of the input code (compressed using @amoutonbrady/lz-string).
required: false
schema:
type: string
- name: tsx
in: query
description: Support JSX and TSX.
required: false
schema:
type: boolean
responses:
'200':
description:
>
Bundled code, analysis, badge or JSON response.
The URL breakdown is,
```ts
/?
q=(import)@okikio/emitter,(import)@okikio/animate,(import)@okikio/animate,(import)@okikio/animate,(import)@okikio/animate,@okikio/animate,@okikio/animate,@okikio/animate,@okikio/animate&
treeshake=[T],[{ animate }],[{ animate as B }],[* as TR],[{ type animate }],[*],[{ animate as A }],[* as PR],[{ animate }]&
text="export * as PR18 from \"@okikio/animate\";\nexport { animate as animate2 } from \"@okikio/animate\";"&
share=MYewdgziA2CmB00QHMAUAiAwiG6CUQA&
config={"cdn":"skypack","compression":"brotli","esbuild":{"format":"cjs","minify":false,"treeShaking":false}}&
bundle
```
* `q` or `query` represents the module, e.g. `react`, `vue`, etc...
You can add `(import)` in-front of a specific module to make it an import instead of an export
* `treeshake` represents the export/imports to treeshake.
The treeshake syntax allows for specifying multiple exports per package, through this syntax
```ts
"[{ x,y,z }],[*],[* as X],[{ type xyz }]"
// to
export { x, y, z } from "...";
export * from "...";
export * as X from "...";
export { type xyz } from "...";
```
The square brackets represent seperate packages, and everything inside the squarebrackets, are the exported methods, types, etc...
* `text` represents the input code as a string (it's used for short input code)
* `share` represents compressed string version of the input code (it's used for large input code)
* `config` represents the bundle configuration to use when building the bundle
* `bundle` tells **bundlejs** to bundle the input code on start-up. This isn't on by default for security reasons. I want to discourage people from sending large complex bundles that crash browsers or that take a long time to load, especially before the input code is properly verified as non-malicious. So, if you want to bundle the code on startup, you have to manually add `&bundle` to the end of the url yourself.
The reason why I decided on this syntax is because it allows for a lot of flexibility, and transparency concerning what is being bundled. I also wanted to make it easy to share bundle session between users.
You can add (import) in-front of a specific module to make it an import instead of an export, treeshake represents the export/imports to treeshake.
The treeshake syntax allows for specifying multiple exports per package, through this syntax
content:
image/svg+xml:
schema:
type: string
example:
>
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="146" height="20" role="img" aria-label="5.51 kB (gzip): bundlejs">
<title>5.51 kB (gzip): bundlejs</title>
<a target="_blank" xlink:href="https://deno.bundlejs.com/?q=spring-easing,react&badge">
<linearGradient id="s" x2="0" y2="100%">
<stop offset="0" stop-color="#bbb" stop-opacity=".1"/>
<stop offset="1" stop-opacity=".1"/>
</linearGradient>
<clipPath id="r">
<rect width="146" height="20" rx="3" fill="#fff"/>
</clipPath>
<g clip-path="url(#r)">
<rect width="89" height="20" fill="#555"/>
<rect x="89" width="57" height="20" fill="#007ec6"/>
<rect width="146" height="20" fill="url(#s)"/>
</g>
<g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110">
<text aria-hidden="true" x="455" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="790">5.51 kB (gzip)</text>
<text x="455" y="140" transform="scale(.1)" fill="#fff" textLength="790">5.51 kB (gzip)</text>
<text aria-hidden="true" x="1165" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="470">bundlejs</text>
<text x="1165" y="140" transform="scale(.1)" fill="#fff" textLength="470">bundlejs</text>
</g>
</a>
</svg>
image/png:
schema:
type: string
format: binary
'400':
description: Bad request
'404':
description: Package not found
content:
text/plain:
schema:
type: string
example: "✘ [ERROR] [getRequest] Failed at request (https://unpkg.com/reac@0.0.0)\nError: Couldn't load https://unpkg.com/reac@0.0.0/index.js (404 code) [plugin cdn-url]\n\n virtual-filesystem:/index.ts:2:14:\n\n 2 │ export * from \"reac\";\n ╵ ~~~~~~"
'500':
description: Internal server error
/badge/raster:
get:
operationId: getBundleBadgeRasterPNG
summary: Bundle, treeshake and minify JavaScript and TypeScript code and respond with a badge raster badge (think png).
parameters:
- name: q
in: query
description: Represents the modules to bundle.
required: false
schema:
type: string
description:
>
`q` or `query` represents the module, e.g. react, vue, etc...
You can add (import) in-front of a specific module to make it an import instead of an export
example:
>
react,react-dom,(import)spring-easing
- name: treeshake
in: query
description:
>
Represents the export/imports to treeshake.
Treeshake export object using this custom format
`treeshake` represents the export/imports to treeshake.
The treeshake syntax allows for specifying multiple exports per package, through this syntax
```ts
"[{ x,y,z }],[*],[* as X],[{ type xyz }]"
// to
export { x, y, z } from "...";
export * from "...";
export * as X from "...";
export { type xyz } from "...";
```
required: false
schema:
type: string
example:
>
[*],[{default}]
- name: badge
in: query
description: Generate a badge.
required: false
schema:
oneOf:
- type: boolean
- type: string
enum: ["detailed", "minified", "uncompressed"]
- name: badge-style
in: query
description: Badge styles supported by shields.io.
required: false
schema:
type: string
enum: ["flat", "plastic", "flat-square", "for-the-badge", "social"]
- name: badge-raster
in: query
description: The badge as a png image.
required: false
schema:
type: boolean
- name: png
in: query
description: The badge as a png image.
required: false
schema:
type: boolean
- name: config
in: query
required: false
description: Bundlejs's Config in JSON form, with support for esbuild options in the esbuild field, and "package.json" in the "package.json" field
schema:
type: string
format: json
example:
>
{
"cdn": "https://unpkg.com",
"compression": "gzip",
"analysis": true,
"polyfill": false,
"tsx": false,
"package.json": {
"name": "bundled-code",
"version": "0.0.0",
"dependencies": {
"react": "^16"
}
},
"esbuild": {
"target": [
"esnext",
],
"format": "esm",
"bundle": true,
"minify": true,
"treeShaking": true,
"platform": "browser",
"sourcemap": false,
"external": ["react"],
"alias": {
"react-dom": "https://esm.sh/react-dom"
}
},
}
- name: polyfill
in: query
description: Polyfill Node built-ins.
required: false
schema:
type: boolean
- name: sourcemap
in: query
description: Esbuild sourcemap.
required: false
schema:
oneOf:
- type: boolean
- type: string
enum: ["inline", "external"]
- name: minify
in: query
description: Esbuild minify.
required: false
schema:
type: boolean
- name: format
in: query
description: Esbuild format.
required: false
schema:
type: string
enum: ["iife", "cjs", "esm"]
- name: text
in: query
description: Represents the input code as a string.
required: false
schema:
type: string
- name: share
in: query
description: Represents the compressed string version of the input code (compressed using @amoutonbrady/lz-string).
required: false
schema:
type: string
- name: tsx
in: query
description: Support JSX and TSX.
required: false
schema:
type: boolean
responses:
'200':
description:
>
Bundled code, analysis, badge or JSON response.
The URL breakdown is,
```ts
/?
q=(import)@okikio/emitter,(import)@okikio/animate,(import)@okikio/animate,(import)@okikio/animate,(import)@okikio/animate,@okikio/animate,@okikio/animate,@okikio/animate,@okikio/animate&
treeshake=[T],[{ animate }],[{ animate as B }],[* as TR],[{ type animate }],[*],[{ animate as A }],[* as PR],[{ animate }]&
text="export * as PR18 from \"@okikio/animate\";\nexport { animate as animate2 } from \"@okikio/animate\";"&
share=MYewdgziA2CmB00QHMAUAiAwiG6CUQA&
config={"cdn":"skypack","compression":"brotli","esbuild":{"format":"cjs","minify":false,"treeShaking":false}}&
bundle
```
* `q` or `query` represents the module, e.g. `react`, `vue`, etc...
You can add `(import)` in-front of a specific module to make it an import instead of an export
* `treeshake` represents the export/imports to treeshake.
The treeshake syntax allows for specifying multiple exports per package, through this syntax
```ts
"[{ x,y,z }],[*],[* as X],[{ type xyz }]"
// to
export { x, y, z } from "...";
export * from "...";
export * as X from "...";
export { type xyz } from "...";
```
The square brackets represent seperate packages, and everything inside the squarebrackets, are the exported methods, types, etc...
* `text` represents the input code as a string (it's used for short input code)
* `share` represents compressed string version of the input code (it's used for large input code)
* `config` represents the bundle configuration to use when building the bundle
* `bundle` tells **bundlejs** to bundle the input code on start-up. This isn't on by default for security reasons. I want to discourage people from sending large complex bundles that crash browsers or that take a long time to load, especially before the input code is properly verified as non-malicious. So, if you want to bundle the code on startup, you have to manually add `&bundle` to the end of the url yourself.
The reason why I decided on this syntax is because it allows for a lot of flexibility, and transparency concerning what is being bundled. I also wanted to make it easy to share bundle session between users.
You can add (import) in-front of a specific module to make it an import instead of an export, treeshake represents the export/imports to treeshake.
The treeshake syntax allows for specifying multiple exports per package, through this syntax
content:
image/png:
schema:
type: string
format: binary
'400':
description: Bad request
'404':
description: Package not found
content:
text/plain:
schema:
type: string
example: "✘ [ERROR] [getRequest] Failed at request (https://unpkg.com/reac@0.0.0)\nError: Couldn't load https://unpkg.com/reac@0.0.0/index.js (404 code) [plugin cdn-url]\n\n virtual-filesystem:/index.ts:2:14:\n\n 2 │ export * from \"reac\";\n ╵ ~~~~~~"
'500':
description: Internal server error
/file:
get:
operationId: getBundledFile
summary: Bundle, treeshake and minify JavaScript and TypeScript code and respond with the actual javascript bundle.
parameters:
- name: q
in: query
description: Represents the modules to bundle.
required: false
schema:
type: string
description:
>
`q` or `query` represents the module, e.g. react, vue, etc...
You can add (import) in-front of a specific module to make it an import instead of an export
example:
>
react,react-dom,(import)spring-easing
- name: treeshake
in: query
description:
>
Represents the export/imports to treeshake.
Treeshake export object using this custom format
`treeshake` represents the export/imports to treeshake.
The treeshake syntax allows for specifying multiple exports per package, through this syntax
```ts
"[{ x,y,z }],[*],[* as X],[{ type xyz }]"
// to
export { x, y, z } from "...";
export * from "...";
export * as X from "...";
export { type xyz } from "...";
```
required: false
schema:
type: string
example:
>
[*],[{default}]
- name: file
in: query
description: Resulting bundled code.
required: false
schema:
type: boolean
- name: config
in: query
required: false
description: Bundlejs's Config in JSON form, with support for esbuild options in the esbuild field, and "package.json" in the "package.json" field
schema:
type: string
format: json
example:
>
{
"cdn": "https://unpkg.com",
"compression": "gzip",
"analysis": true,
"polyfill": false,
"tsx": false,
"package.json": {
"name": "bundled-code",
"version": "0.0.0",
"dependencies": {
"react": "^16"
}
},
"esbuild": {
"target": [
"esnext",
],
"format": "esm",
"bundle": true,
"minify": true,
"treeShaking": true,
"platform": "browser",
"sourcemap": false,
"external": ["react"],
"alias": {
"react-dom": "https://esm.sh/react-dom"
}
},
}
- name: polyfill
in: query
description: Polyfill Node built-ins.
required: false
schema:
type: boolean
- name: sourcemap
in: query
description: Esbuild sourcemap.
required: false
schema:
oneOf:
- type: boolean
- type: string
enum: ["inline", "external"]
- name: minify
in: query
description: Esbuild minify.
required: false
schema:
type: boolean
- name: format
in: query
description: Esbuild format.
required: false
schema:
type: string
enum: ["iife", "cjs", "esm"]
- name: text
in: query
description: Represents the input code as a string.
required: false
schema:
type: string
- name: share
in: query
description: Represents the compressed string version of the input code (compressed using @amoutonbrady/lz-string).
required: false
schema:
type: string
- name: tsx
in: query
description: Support JSX and TSX.
required: false
schema:
type: boolean
responses:
'200':
description:
>
Bundled code, analysis, badge or JSON response.
The URL breakdown is,
```ts
/?
q=(import)@okikio/emitter,(import)@okikio/animate,(import)@okikio/animate,(import)@okikio/animate,(import)@okikio/animate,@okikio/animate,@okikio/animate,@okikio/animate,@okikio/animate&
treeshake=[T],[{ animate }],[{ animate as B }],[* as TR],[{ type animate }],[*],[{ animate as A }],[* as PR],[{ animate }]&
text="export * as PR18 from \"@okikio/animate\";\nexport { animate as animate2 } from \"@okikio/animate\";"&
share=MYewdgziA2CmB00QHMAUAiAwiG6CUQA&
config={"cdn":"skypack","compression":"brotli","esbuild":{"format":"cjs","minify":false,"treeShaking":false}}&
bundle
```
* `q` or `query` represents the module, e.g. `react`, `vue`, etc...
You can add `(import)` in-front of a specific module to make it an import instead of an export
* `treeshake` represents the export/imports to treeshake.
The treeshake syntax allows for specifying multiple exports per package, through this syntax
```ts
"[{ x,y,z }],[*],[* as X],[{ type xyz }]"
// to
export { x, y, z } from "...";
export * from "...";
export * as X from "...";
export { type xyz } from "...";
```
The square brackets represent seperate packages, and everything inside the squarebrackets, are the exported methods, types, etc...
* `text` represents the input code as a string (it's used for short input code)
* `share` represents compressed string version of the input code (it's used for large input code)
* `config` represents the bundle configuration to use when building the bundle
* `bundle` tells **bundlejs** to bundle the input code on start-up. This isn't on by default for security reasons. I want to discourage people from sending large complex bundles that crash browsers or that take a long time to load, especially before the input code is properly verified as non-malicious. So, if you want to bundle the code on startup, you have to manually add `&bundle` to the end of the url yourself.
The reason why I decided on this syntax is because it allows for a lot of flexibility, and transparency concerning what is being bundled. I also wanted to make it easy to share bundle session between users.
You can add (import) in-front of a specific module to make it an import instead of an export, treeshake represents the export/imports to treeshake.
The treeshake syntax allows for specifying multiple exports per package, through this syntax
content:
application/javascript:
schema:
type: string
'400':
description: Bad request
'404':
description: Package not found
content:
text/plain:
schema:
type: string
example: "✘ [ERROR] [getRequest] Failed at request (https://unpkg.com/reac@0.0.0)\nError: Couldn't load https://unpkg.com/reac@0.0.0/index.js (404 code) [plugin cdn-url]\n\n virtual-filesystem:/index.ts:2:14:\n\n 2 │ export * from \"reac\";\n ╵ ~~~~~~"
'500':
description: Internal server error
/analysis:
get:
operationId: getBundleAnalysis
summary: Bundle, treeshake and minify JavaScript and TypeScript code and respond with the bundle analysis, in esbuild analysis format.
parameters:
- name: q
in: query
description: Represents the modules to bundle.
required: false
schema:
type: string
description:
>
`q` or `query` represents the module, e.g. react, vue, etc...
You can add (import) in-front of a specific module to make it an import instead of an export
example:
>
react,react-dom,(import)spring-easing
- name: treeshake
in: query
description:
>
Represents the export/imports to treeshake.
Treeshake export object using this custom format
`treeshake` represents the export/imports to treeshake.
The treeshake syntax allows for specifying multiple exports per package, through this syntax
```ts
"[{ x,y,z }],[*],[* as X],[{ type xyz }]"
// to
export { x, y, z } from "...";
export * from "...";
export * as X from "...";
export { type xyz } from "...";
```
required: false
schema:
type: string
example:
>
[*],[{default}]
- name: analysis
in: query
description: Esbuild generate visual analysis.
required: false
schema:
oneOf:
- type: boolean
- type: string
enum: ["verbose"]
- name: config
in: query
required: false
description: Bundlejs's Config in JSON form, with support for esbuild options in the esbuild field, and "package.json" in the "package.json" field
schema:
type: string
format: json
example:
>
{
"cdn": "https://unpkg.com",
"compression": "gzip",
"analysis": true,
"polyfill": false,
"tsx": false,
"package.json": {
"name": "bundled-code",
"version": "0.0.0",
"dependencies": {
"react": "^16"
}
},
"esbuild": {
"target": [
"esnext",
],
"format": "esm",
"bundle": true,
"minify": true,
"treeShaking": true,
"platform": "browser",
"sourcemap": false,
"external": ["react"],
"alias": {
"react-dom": "https://esm.sh/react-dom"
}
},
}
- name: polyfill
in: query
description: Polyfill Node built-ins.
required: false
schema:
type: boolean
- name: sourcemap
in: query
description: Esbuild sourcemap.
required: false
schema:
oneOf:
- type: boolean
- type: string
enum: ["inline", "external"]
- name: minify
in: query
description: Esbuild minify.
required: false
schema:
type: boolean
- name: format
in: query
description: Esbuild format.
required: false
schema:
type: string
enum: ["iife", "cjs", "esm"]
- name: text
in: query
description: Represents the input code as a string.
required: false
schema:
type: string
- name: share
in: query
description: Represents the compressed string version of the input code (compressed using @amoutonbrady/lz-string).
required: false
schema:
type: string
- name: tsx
in: query
description: Support JSX and TSX.
required: false
schema:
type: boolean
responses:
'200':
description:
>
Bundled code, analysis, badge or JSON response.
The URL breakdown is,
```ts
/?
q=(import)@okikio/emitter,(import)@okikio/animate,(import)@okikio/animate,(import)@okikio/animate,(import)@okikio/animate,@okikio/animate,@okikio/animate,@okikio/animate,@okikio/animate&
treeshake=[T],[{ animate }],[{ animate as B }],[* as TR],[{ type animate }],[*],[{ animate as A }],[* as PR],[{ animate }]&
text="export * as PR18 from \"@okikio/animate\";\nexport { animate as animate2 } from \"@okikio/animate\";"&
share=MYewdgziA2CmB00QHMAUAiAwiG6CUQA&
config={"cdn":"skypack","compression":"brotli","esbuild":{"format":"cjs","minify":false,"treeShaking":false}}&
bundle
```
* `q` or `query` represents the module, e.g. `react`, `vue`, etc...
You can add `(import)` in-front of a specific module to make it an import instead of an export
* `treeshake` represents the export/imports to treeshake.
The treeshake syntax allows for specifying multiple exports per package, through this syntax
```ts
"[{ x,y,z }],[*],[* as X],[{ type xyz }]"
// to
export { x, y, z } from "...";
export * from "...";
export * as X from "...";
export { type xyz } from "...";
```
The square brackets represent seperate packages, and everything inside the squarebrackets, are the exported methods, types, etc...
* `text` represents the input code as a string (it's used for short input code)
* `share` represents compressed string version of the input code (it's used for large input code)
* `config` represents the bundle configuration to use when building the bundle
* `bundle` tells **bundlejs** to bundle the input code on start-up. This isn't on by default for security reasons. I want to discourage people from sending large complex bundles that crash browsers or that take a long time to load, especially before the input code is properly verified as non-malicious. So, if you want to bundle the code on startup, you have to manually add `&bundle` to the end of the url yourself.
The reason why I decided on this syntax is because it allows for a lot of flexibility, and transparency concerning what is being bundled. I also wanted to make it easy to share bundle session between users.
You can add (import) in-front of a specific module to make it an import instead of an export, treeshake represents the export/imports to treeshake.
The treeshake syntax allows for specifying multiple exports per package, through this syntax
content:
text/plain:
schema:
type: string
example: "index.js 12.9kb 100.0%\n ├ http-url:https://unpkg.com/react@18.2.0/cjs/react.production.min.js 6.3kb 49.0%\n ├ http-url:https://unpkg.com/spring-easing@2.1.2/lib/index.mjs 4.3kb 33.1%\n ├ http-url:https://unpkg.com/react@18.2.0/index.js 50b 0.4%\n └ virtual-filesystem:/index.ts 16b 0.1%"
'400':
description: Bad request
'404':
description: Package not found
content:
text/plain:
schema:
type: string
example: "✘ [ERROR] [getRequest] Failed at request (https://unpkg.com/reac@0.0.0)\nError: Couldn't load https://unpkg.com/reac@0.0.0/index.js (404 code) [plugin cdn-url]\n\n virtual-filesystem:/index.ts:2:14:\n\n 2 │ export * from \"reac\";\n ╵ ~~~~~~"
'500':
description: Internal server error
/metafile:
get:
operationId: getBundleMetafileFromEsbuild
summary: Bundle, treeshake and minify JavaScript and TypeScript code and respond with it's metafile.
parameters:
- name: q
in: query
description: Represents the modules to bundle.
required: false
schema:
type: string
description:
>
`q` or `query` represents the module, e.g. react, vue, etc...
You can add (import) in-front of a specific module to make it an import instead of an export
example:
>
react,react-dom,(import)spring-easing
- name: treeshake
in: query
description:
>
Represents the export/imports to treeshake.
Treeshake export object using this custom format
`treeshake` represents the export/imports to treeshake.
The treeshake syntax allows for specifying multiple exports per package, through this syntax
```ts
"[{ x,y,z }],[*],[* as X],[{ type xyz }]"
// to
export { x, y, z } from "...";
export * from "...";
export * as X from "...";
export { type xyz } from "...";
```
required: false
schema:
type: string
example:
>
[*],[{default}]
- name: metafile
in: query
description: Esbuild bundle metafile.
required: false
schema:
type: boolean
- name: config
in: query
required: false
description: Bundlejs's Config in JSON form, with support for esbuild options in the esbuild field, and "package.json" in the "package.json" field
schema:
type: string
format: json
example:
>
{
"cdn": "https://unpkg.com",
"compression": "gzip",
"analysis": true,
"polyfill": false,
"tsx": false,
"package.json": {
"name": "bundled-code",
"version": "0.0.0",
"dependencies": {
"react": "^16"
}
},
"esbuild": {
"target": [
"esnext",
],
"format": "esm",
"bundle": true,
"minify": true,
"treeShaking": true,
"platform": "browser",
"sourcemap": false,
"external": ["react"],
"alias": {
"react-dom": "https://esm.sh/react-dom"
}
},
}
- name: polyfill
in: query
description: Polyfill Node built-ins.
required: false
schema:
type: boolean
- name: sourcemap
in: query
description: Esbuild sourcemap.
required: false
schema:
oneOf:
- type: boolean
- type: string
enum: ["inline", "external"]
- name: minify
in: query
description: Esbuild minify.
required: false
schema:
type: boolean
- name: format
in: query
description: Esbuild format.
required: false
schema:
type: string
enum: ["iife", "cjs", "esm"]
- name: warnings
in: query
description: Lists warnings for a particular bundle.
required: false
schema:
type: boolean
- name: share
in: query
description: Represents the compressed string version of the input code (compressed using @amoutonbrady/lz-string).
required: false
schema:
type: string
- name: tsx
in: query
description: Support JSX and TSX.
required: false
schema:
type: boolean
responses:
'200':
description:
>
Bundled code, analysis, badge or JSON response.
The URL breakdown is,
```ts
/?
q=(import)@okikio/emitter,(import)@okikio/animate,(import)@okikio/animate,(import)@okikio/animate,(import)@okikio/animate,@okikio/animate,@okikio/animate,@okikio/animate,@okikio/animate&
treeshake=[T],[{ animate }],[{ animate as B }],[* as TR],[{ type animate }],[*],[{ animate as A }],[* as PR],[{ animate }]&
text="export * as PR18 from \"@okikio/animate\";\nexport { animate as animate2 } from \"@okikio/animate\";"&
share=MYewdgziA2CmB00QHMAUAiAwiG6CUQA&
config={"cdn":"skypack","compression":"brotli","esbuild":{"format":"cjs","minify":false,"treeShaking":false}}&
bundle
```
* `q` or `query` represents the module, e.g. `react`, `vue`, etc...
You can add `(import)` in-front of a specific module to make it an import instead of an export
* `treeshake` represents the export/imports to treeshake.
The treeshake syntax allows for specifying multiple exports per package, through this syntax
```ts
"[{ x,y,z }],[*],[* as X],[{ type xyz }]"
// to
export { x, y, z } from "...";
export * from "...";
export * as X from "...";
export { type xyz } from "...";
```
The square brackets represent seperate packages, and everything inside the squarebrackets, are the exported methods, types, etc...
* `text` represents the input code as a string (it's used for short input code)
* `share` represents compressed string version of the input code (it's used for large input code)
* `config` represents the bundle configuration to use when building the bundle
* `bundle` tells **bundlejs** to bundle the input code on start-up. This isn't on by default for security reasons. I want to discourage people from sending large complex bundles that crash browsers or that take a long time to load, especially before the input code is properly verified as non-malicious. So, if you want to bundle the code on startup, you have to manually add `&bundle` to the end of the url yourself.
The reason why I decided on this syntax is because it allows for a lot of flexibility, and transparency concerning what is being bundled. I also wanted to make it easy to share bundle session between users.
You can add (import) in-front of a specific module to make it an import instead of an export, treeshake represents the export/imports to treeshake.
The treeshake syntax allows for specifying multiple exports per package, through this syntax
content:
text/plain:
schema:
type: string
example: "index.js 12.9kb 100.0%\n ├ http-url:https://unpkg.com/react@18.2.0/cjs/react.production.min.js 6.3kb 49.0%\n ├ http-url:https://unpkg.com/spring-easing@2.1.2/lib/index.mjs 4.3kb 33.1%\n ├ http-url:https://unpkg.com/react@18.2.0/index.js 50b 0.4%\n └ virtual-filesystem:/index.ts 16b 0.1%"
'400':
description: Bad request
'404':
description: Package not found
content:
text/plain:
schema:
type: string
example: "✘ [ERROR] [getRequest] Failed at request (https://unpkg.com/reac@0.0.0)\nError: Couldn't load https://unpkg.com/reac@0.0.0/index.js (404 code) [plugin cdn-url]\n\n virtual-filesystem:/index.ts:2:14:\n\n 2 │ export * from \"reac\";\n ╵ ~~~~~~"
'500':
description: Internal server error
/warnings:
get:
operationId: getBundleWarnings
summary: Bundle, treeshake and minify JavaScript and TypeScript code and respond with a list of warnings that may potentially causes issues.
parameters:
- name: q
in: query
description: Represents the modules to bundle.
required: false
schema:
type: string
description:
>
`q` or `query` represents the module, e.g. react, vue, etc...
You can add (import) in-front of a specific module to make it an import instead of an export
example:
>
react,react-dom,(import)spring-easing
- name: treeshake
in: query
description:
>
Represents the export/imports to treeshake.
Treeshake export object using this custom format
`treeshake` represents the export/imports to treeshake.
The treeshake syntax allows for specifying multiple exports per package, through this syntax
```ts
"[{ x,y,z }],[*],[* as X],[{ type xyz }]"
// to
export { x, y, z } from "...";
export * from "...";
export * as X from "...";
export { type xyz } from "...";
```
required: false
schema:
type: string
example:
>
[*],[{default}]
- name: file
in: query
description: Resulting bundled code.
required: false
schema:
type: boolean
- name: config
in: query
required: false
description: Bundlejs's Config in JSON form, with support for esbuild options in the esbuild field, and "package.json" in the "package.json" field
schema:
type: string
format: json
example:
>
{
"cdn": "https://unpkg.com",
"compression": "gzip",
"analysis": true,
"polyfill": false,
"tsx": false,
"package.json": {
"name": "bundled-code",
"version": "0.0.0",
"dependencies": {
"react": "^16"
}
},
"esbuild": {
"target": [
"esnext",
],
"format": "esm",
"bundle": true,
"minify": true,
"treeShaking": true,
"platform": "browser",
"sourcemap": false,
"external": ["react"],
"alias": {
"react-dom": "https://esm.sh/react-dom"
}
},
}
- name: polyfill
in: query
description: Polyfill Node built-ins.
required: false
schema:
type: boolean
- name: sourcemap
in: query
description: Esbuild sourcemap.
required: false
schema:
oneOf:
- type: boolean
- type: string
enum: ["inline", "external"]
- name: minify
in: query
description: Esbuild minify.
required: false
schema:
type: boolean
- name: format
in: query
description: Esbuild format.
required: false
schema:
type: string
enum: ["iife", "cjs", "esm"]
- name: text
in: query
description: Represents the input code as a string.
required: false
schema:
type: string
- name: share
in: query
description: Represents the compressed string version of the input code (compressed using @amoutonbrady/lz-string).
required: false
schema:
type: string
- name: tsx
in: query
description: Support JSX and TSX.
required: false
schema:
type: boolean
responses:
'200':
description:
>
Bundled code, analysis, badge or JSON response.
The URL breakdown is,
```ts
/?
q=(import)@okikio/emitter,(import)@okikio/animate,(import)@okikio/animate,(import)@okikio/animate,(import)@okikio/animate,@okikio/animate,@okikio/animate,@okikio/animate,@okikio/animate&
treeshake=[T],[{ animate }],[{ animate as B }],[* as TR],[{ type animate }],[*],[{ animate as A }],[* as PR],[{ animate }]&
text="export * as PR18 from \"@okikio/animate\";\nexport { animate as animate2 } from \"@okikio/animate\";"&
share=MYewdgziA2CmB00QHMAUAiAwiG6CUQA&
config={"cdn":"skypack","compression":"brotli","esbuild":{"format":"cjs","minify":false,"treeShaking":false}}&
bundle
```
* `q` or `query` represents the module, e.g. `react`, `vue`, etc...
You can add `(import)` in-front of a specific module to make it an import instead of an export
* `treeshake` represents the export/imports to treeshake.
The treeshake syntax allows for specifying multiple exports per package, through this syntax
```ts
"[{ x,y,z }],[*],[* as X],[{ type xyz }]"
// to
export { x, y, z } from "...";
export * from "...";
export * as X from "...";
export { type xyz } from "...";
```
The square brackets represent seperate packages, and everything inside the squarebrackets, are the exported methods, types, etc...
* `text` represents the input code as a string (it's used for short input code)
* `share` represents compressed string version of the input code (it's used for large input code)
* `config` represents the bundle configuration to use when building the bundle
* `bundle` tells **bundlejs** to bundle the input code on start-up. This isn't on by default for security reasons. I want to discourage people from sending large complex bundles that crash browsers or that take a long time to load, especially before the input code is properly verified as non-malicious. So, if you want to bundle the code on startup, you have to manually add `&bundle` to the end of the url yourself.
The reason why I decided on this syntax is because it allows for a lot of flexibility, and transparency concerning what is being bundled. I also wanted to make it easy to share bundle session between users.
You can add (import) in-front of a specific module to make it an import instead of an export, treeshake represents the export/imports to treeshake.
The treeshake syntax allows for specifying multiple exports per package, through this syntax
content:
text/plain:
schema:
type: string
'400':
description: Bad request
'404':
description: Package not found
content:
text/plain:
schema:
type: string
example: "✘ [ERROR] [getRequest] Failed at request (https://unpkg.com/reac@0.0.0)\nError: Couldn't load https://unpkg.com/reac@0.0.0/index.js (404 code) [plugin cdn-url]\n\n virtual-filesystem:/index.ts:2:14:\n\n 2 │ export * from \"reac\";\n ╵ ~~~~~~"
'500':
description: Internal server error
/raw:
get:
operationId: getRawBundleMetadataAsJSON
summary: Bundle, treeshake and minify JavaScript and TypeScript code and respond with a JSON object listing the raw metadata with no extra processing.
parameters:
- name: q
in: query
description: Represents the modules to bundle.
required: false
schema:
type: string
description:
>
`q` or `query` represents the module, e.g. react, vue, etc...
You can add (import) in-front of a specific module to make it an import instead of an export
example:
>
react,react-dom,(import)spring-easing
- name: treeshake
in: query
description:
>
Represents the export/imports to treeshake.
Treeshake export object using this custom format
`treeshake` represents the export/imports to treeshake.
The treeshake syntax allows for specifying multiple exports per package, through this syntax
```ts
"[{ x,y,z }],[*],[* as X],[{ type xyz }]"
// to
export { x, y, z } from "...";
export * from "...";
export * as X from "...";
export { type xyz } from "...";
```
required: false
schema:
type: string
example:
>
[*],[{default}]
- name: config
in: query
required: false
description: Bundlejs's Config in JSON form, with support for esbuild options in the esbuild field, and "package.json" in the "package.json" field
schema:
type: string
format: json
example:
>
{
"cdn": "https://unpkg.com",
"compression": "gzip",
"analysis": true,
"polyfill": false,
"tsx": false,
"package.json": {
"name": "bundled-code",
"version": "0.0.0",
"dependencies": {
"react": "^16"
}
},
"esbuild": {
"target": [
"esnext",
],
"format": "esm",
"bundle": true,
"minify": true,
"treeShaking": true,
"platform": "browser",
"sourcemap": false,
"external": ["react"],
"alias": {
"react-dom": "https://esm.sh/react-dom"
}
},
}
- name: polyfill
in: query
description: Polyfill Node built-ins.
required: false
schema:
type: boolean
- name: sourcemap
in: query
description: Esbuild sourcemap.
required: false
schema:
oneOf:
- type: boolean
- type: string
enum: ["inline", "external"]
- name: minify
in: query
description: Esbuild minify.
required: false
schema:
type: boolean
- name: format
in: query
description: Esbuild format.
required: false
schema:
type: string
enum: ["iife", "cjs", "esm"]
- name: raw
in: query
description: The raw result of the bundle.
required: false
schema:
type: boolean
- name: text
in: query
description: Represents the input code as a string.
required: false
schema:
type: string
- name: share
in: query
description: Represents the compressed string version of the input code (compressed using @amoutonbrady/lz-string).
required: false
schema:
type: string
- name: tsx
in: query
description: Support JSX and TSX.
required: false
schema:
type: boolean
responses:
'200':
description:
>
Bundled code, analysis, badge or JSON response.
The URL breakdown is,
```ts
/?
q=(import)@okikio/emitter,(import)@okikio/animate,(import)@okikio/animate,(import)@okikio/animate,(import)@okikio/animate,@okikio/animate,@okikio/animate,@okikio/animate,@okikio/animate&
treeshake=[T],[{ animate }],[{ animate as B }],[* as TR],[{ type animate }],[*],[{ animate as A }],[* as PR],[{ animate }]&
text="export * as PR18 from \"@okikio/animate\";\nexport { animate as animate2 } from \"@okikio/animate\";"&
share=MYewdgziA2CmB00QHMAUAiAwiG6CUQA&
config={"cdn":"skypack","compression":"brotli","esbuild":{"format":"cjs","minify":false,"treeShaking":false}}&
bundle
```
* `q` or `query` represents the module, e.g. `react`, `vue`, etc...
You can add `(import)` in-front of a specific module to make it an import instead of an export
* `treeshake` represents the export/imports to treeshake.
The treeshake syntax allows for specifying multiple exports per package, through this syntax
```ts
"[{ x,y,z }],[*],[* as X],[{ type xyz }]"
// to
export { x, y, z } from "...";
export * from "...";
export * as X from "...";
export { type xyz } from "...";
```
The square brackets represent seperate packages, and everything inside the squarebrackets, are the exported methods, types, etc...
* `text` represents the input code as a string (it's used for short input code)
* `share` represents compressed string version of the input code (it's used for large input code)
* `config` represents the bundle configuration to use when building the bundle
* `bundle` tells **bundlejs** to bundle the input code on start-up. This isn't on by default for security reasons. I want to discourage people from sending large complex bundles that crash browsers or that take a long time to load, especially before the input code is properly verified as non-malicious. So, if you want to bundle the code on startup, you have to manually add `&bundle` to the end of the url yourself.
The reason why I decided on this syntax is because it allows for a lot of flexibility, and transparency concerning what is being bundled. I also wanted to make it easy to share bundle session between users.
You can add (import) in-front of a specific module to make it an import instead of an export, treeshake represents the export/imports to treeshake.
The treeshake syntax allows for specifying multiple exports per package, through this syntax
content:
application/json:
schema:
type: object
properties:
query:
type: string
rawQuery:
type: string
version:
type: string
nullable: true
versions:
type: array
items:
type: string
nullable: true
config:
type: object
additionalProperties: true
input:
type: string
size:
type: object
properties:
type:
type: string
rawUncompressedSize:
type: integer
uncompressedSize:
type: string
rawCompressedSize:
type: integer
compressedSize:
type: string
size:
type: string
time:
type: string
rawTime:
type: integer
fileId:
type: string
fileUrl:
type: string
fileHTMLUrl:
type: string
'400':
description: Bad request
'404':
description: Package not found
content:
text/plain:
schema:
type: string
example: "✘ [ERROR] [getRequest] Failed at request (https://unpkg.com/reac@0.0.0)\nError: Couldn't load https://unpkg.com/reac@0.0.0/index.js (404 code) [plugin cdn-url]\n\n virtual-filesystem:/index.ts:2:14:\n\n 2 │ export * from \"reac\";\n ╵ ~~~~~~"
'500':
description: Internal server error
Discover other plugins from the programming category

Semgrep
Plugin for Semgrep. A plugin for scanning your code with Semgrep for security, correctness, and performance issues.
0 Comments

Appy Pie Text to App Generator
AI-powered Text-to-App Generator turns your app idea into Android and iOS apps- just provide text input.
0 Comments
![GitHub [UNOFFICIAL]](/_next/image?w=96&q=75&url=https%3A%2F%2Fapi.getit.ai%2Fimage%2F%3Furl%3Dhttps%3A%2F%2Fgh-plugin.teammait.com%2Flogo.png)
GitHub [UNOFFICIAL]
Plugin for interacting with GitHub repositories, accessing file structures, and modifying code. @albfresco for support.
0 Comments
Telnyx Storage
Manage your buckets and objects through simple, intuitive textual commands.
0 Comments

CreatiCode Scratch
Display Scratch programs as images and write 2D/3D programs using CreatiCode Scratch extensions.
0 Comments

DEV Community
Plugin for recommending articles or users from DEV Community.
0 Comments
Progressier
Create powerful PWAs, design screenshots, send push notifications
0 Comments

Databricks
A plugin that allows the user to interact with Databricks.
0 Comments

WordPress.com
Plugin for managing WordPress.com websites, blogging, and ecommerce
0 Comments

GitSearch
Search code on GitHub repositories based on a query.
0 Comments

Page whisperer plugin
Plugin for creating and publishing a web page.
0 Comments

AI2sql
Converts a natural language text into an SQL query.
0 Comments

HTTP Webhooks
Allows you to write, deploy, and manage HTTP Webhooks in JavaScript, right from the chat.
0 Comments

DeployScript
DeployScript effortlessly launches web apps, handling the tech for you. Watch your ideas come to life!
0 Comments
Website Performance
Measure key metrics about your website - performance, accessibility, best practices, SEO, PWA.
0 Comments

Netlify Drop
Describe a simple website you want to make, and deploy it to Netlify to share it with others and claim it as your own.
0 Comments

60sec site
Generate a beautiful website in 60 seconds using AI.
0 Comments

Wordpress Publisher
Publish content directly to a Wordpress blog.
0 Comments

Repo Inspector
Inspect Git Repositories. Submit a GitHub, Gitlab, etc., HTTPS link. The repo will be reviewed by Repo Inspector.
0 Comments

Repo Radar
Your one-stop shop for up to date Github repo information. Find repos by topic, language, or name.
0 Comments

Shuto.IO
Shuto.IO is a multi-tool for creators and developers with SMS, Email, Wordpress and SSH Command Execution capabilities.
0 Comments
CoderPad
Run code in more than 30 different programming languages, and let us worry about setting up the environment!
1 Comments

Code Runner
Run and Save your code while creating visualizations (charts and graphs) supports upto 70 programming languages.
2 Comments

AskTheCode
Provide a GitHub repository URL with the C# project and ask about any aspect of the code.
0 Comments

Scraper
Scrape content from webpages by providing a URL.
0 Comments

Appy Pie App Builder
AI-powered Text-to-App Generator turns your app idea into Android and iOS apps- just provide text input.
0 Comments

Databricks (dev-azure-westus)
A plugin that allows the user to interact with Databricks.
0 Comments

WP Interact
Fetch or search posts from self-hosted WordPress websites, opening new possibilities for smart interaction with content.
0 Comments

QyrusTestPilot
You can test your webapp without writing a single line of code by just giving the URL
0 Comments

Git OSS Stats
Dynamically generate and analyze stats and history for OSS repos and developers.
0 Comments

LGTM
Search for LGTM Markdown.
0 Comments
Chat Stack Search
Use the Stack Exchange API to search sites such as Stack Overflow and return questions, answers, and other information.
0 Comments
Shor in QASM
Generate quantum circuits for Shor's algorithm in QASM format.
0 Comments

WebDev
Build a live website within seconds directly from the chat and preview and test HTML code with JavaScript and CSS.
0 Comments

Cloud Diagram Gen
Generate cloud architecture diagrams. Unofficial AWS plugin.
0 Comments

GitAIOps
Unofficial tool for GitLab CI/CD workflows. Streamlines merge request reviews, pipeline debugging, and more.
0 Comments
ad4mat
API to monetize outgoing traffic via tracking links.
0 Comments

Web5 assistant
Assistant for developers building a web5 application by providing examples, documentation and writing web5 code.
0 Comments
AI with Jira®
Unofficial plugin for Jira®. Create issues such as tasks, user stories and bugs directly on your Jira® project.
0 Comments

Text to SQL Plugin
Plugin that converts a natural language text into an SQL query.
0 Comments
Devhunt
Find your next favorite tool.
0 Comments

Talk With Docs
Ask any questions to your docs.
0 Comments

Recombinant AI™
Input a Github repo URL. Get a holistic,deep, relational understanding of the codebase.
0 Comments
CodeCast Wandbox
Instantly compile your code online with Wandbox. Improve your coding learning experience.
1 Comments
StackOverflow Plus
Expand your knowledge beyond 2021/09/01. Get recent questions and answers from Stack Overflow.
0 Comments

A/B JUDGE
Judge whether the A/B test results are superior or not.
0 Comments

ne.tools
Network diagnostic tool for DNS record lookup (A, AA, MX, NS and more) and WHOIS queries for domains and IP addresses.
0 Comments

Code Library Search
Answer any questions about Python libraries (Currently Langchain and Openai). Can answer version specific questions.
0 Comments

Service Check
Check if services are running and how fast they are responding. You can check Website, Email, Domain Lookup and Ping.
0 Comments

AI Extensions
Craft your extensions with ease! Step-by-step guidance at your fingertips.
0 Comments

Passive DNS Pivots
Global pDNS 800 Billion records searchable. Unearth nefarious domains within minutes of creation.
0 Comments

WPressGenie
Manages a WordPress site. You can get, view and analyze details of WordPress posts and content.
0 Comments
API Bot
This is a conversational bot that lets you ask questions about a variety of common APIs.
0 Comments

SPARQL Query
Returns Query Solution Page for Query Text.
0 Comments

Codeulator
Collaborate with AI directly inside your favorite code editor.
0 Comments

Calculator Tools
Create any app, calculator, tool, tracker, or game instantly with AI.
0 Comments

Site Analysis and Moderation
This plugin provides data analysis, content moderation and automatic report generation functionalities for your website.
0 Comments

Check Website Down
Insert your website URL to check the availability. Pulsetic tests the uptime, availability & performance of a website.
0 Comments
Take Code Captures
Capture, beautify, and share your code snippets easily.
0 Comments