appsmith icon indicating copy to clipboard operation
appsmith copied to clipboard

[Bug]: Report an issue with Custom JS Libraries

Open arunvjn opened this issue 3 years ago • 23 comments

If you're facing issues related to Custom JS Libraries, please leave a comment along with a detailed description, screenshots, or a Loom video.

Certain libraries will not work due to platform limitations. If you would like to request support for a library, please provide the following information to help us prioritize your request:

  1. How important are these libraries for your application? [Critical / Important / Nice-to-have]
  2. A brief description of your use-case

arunvjn avatar Dec 19 '22 12:12 arunvjn

The following library could not be loaded: https://cdn.jsdelivr.net/npm/[email protected]/index.min.js

(https://www.jsdelivr.com/package/npm/gocardless-nodejs)

We need to connect to our payment provider GoCardless

Importance: CRITICAL

image

Thanks for your help

olsommer avatar Mar 02 '23 10:03 olsommer

Was giving https://cdn.jsdelivr.net/npm/@google-cloud/[email protected]/build/src/index.min.js a try to interface with BigQuery as there is still no integration as of today (+ wanted to do more than just pulling data) but same unsupported msg.

Unfortunately custom libs falls short of expectations as only a few (small ?) libs are supported.

yan-hic avatar Mar 09 '23 19:03 yan-hic

I was unable to install https://cdn.jsdelivr.net/npm/@elastic/[email protected]/index.min.js

shriekdj avatar Mar 20 '23 14:03 shriekdj

The following library could not be loaded:

https://cdn.jsdelivr.net/npm/[email protected]/lib/index.min.js https://cdn.jsdelivr.net/npm/[email protected]/dist/antd.min.js https://cdn.jsdelivr.net/npm/[email protected]/dist/reset.min.css Importance:Important

image

We need to do some textual comparison ,Our internal systems need to conform to antd's specifications

jonny-gg avatar Mar 23 '23 03:03 jonny-gg

Tried to install the gapi and the google-auth-library library without success. What library are you using for getting access to google sheets and is it available for us to use in our applications?

ammonjg7 avatar Apr 07 '23 00:04 ammonjg7

Tried to install the gapi and the google-auth-library library without success. What library are you using for getting access to google sheets and is it available for us to use in our applications?

i once tried to use that libraries but fail, may they are not using any libraries instead they are using vanilla js or fetch maybe

shriekdj avatar Apr 09 '23 06:04 shriekdj

image

tomerm-cyera avatar Apr 13 '23 11:04 tomerm-cyera

Having an issue with LangChain Screenshot 2023-05-11 at 10 11 30 AM

This library would allow for the creation of text embedding management apps that are necessary for building powerful LLM/GPT based apps in appsmith. This combined with the already existing Datasources should be a nice solution.

jerimy-TU avatar May 11 '23 01:05 jerimy-TU

The following library could not be loaded:

https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js

returning Library is unsupported.

RodrigoAliotti avatar Jun 16 '23 12:06 RodrigoAliotti

Base64 to Array-Buffer is unsupported: image

Here the following link to library: https://cdn.jsdelivr.net/npm/[email protected]/+esm

tegsramdhan avatar Jun 19 '23 14:06 tegsramdhan

We manage to install moment-timezone early this year it was working fine and when i tried to update moment-timezone I am getting the same error as above

image

chriscervantes avatar Jul 16 '23 23:07 chriscervantes

https://cdn.jsdelivr.net/npm/[email protected]/version.min.js

image

How important are these libraries for your application? Important

A brief description of your use-case Use of printSchema to automatically fetch a GraphQL schema in SDL format. Use of other operations related to GraphQL that library provides

marc-sommer avatar Aug 14 '23 09:08 marc-sommer

Works: https://cdn.jsdelivr.net/npm/@rdkit/[email protected]/dist/RDKit_minimal.min.js Doesn't work: https://cdn.jsdelivr.net/npm/@rdkit/[email protected]/dist/RDKit_minimal.wasm

How important are these libraries for your application? Important so that we don't have to create an annoying iframe workaround.

A brief description of your use-case We have a compound structure being fetched from the database and we want to render it when a user clicks on a row in the table using RDkit. https://www.rdkitjs.com

brianbolt avatar Aug 15 '23 16:08 brianbolt

We are looking for S3 alternative and decided to use the good old WebDAV protocol.

Bildschirmfoto 2023-09-07 um 13 11 48

mariohof avatar Sep 07 '23 11:09 mariohof

Hello, I would like to request support for the bson-objectid library: https://cdn.jsdelivr.net/npm/[email protected]/objectid.min.js

This library would be a nice-to-have. My use-case is I am using a MultiSelect widget, after selecting the options the end user would like I run a JS function that stores the selected option values into an array of ObjectIds. For example, let myArray = [ObjectId('123'), ObjectId('124'), ObjectId(125')];. I then store this array storeValue('selectedOptions', myArray); I then go into my saved mongoDB query and paste the value there.

{ $match: { legion_id: { $in: {{appsmith.store.selectedOptions}} }, } }

However, since there is no way to convert the string representations of ObjectId values back to actual ObjectId objects in JavaScript without the MongoDB Node.js driver or bson-objectid utility library this is not possible. So for now, my workaround is to limit the end-user to only selecting a limited amount of options. So my query looks like this.

{ $match: { legion_id: { $in: [ ObjectId({{appsmith.store.selectedOption1}}), ObjectId({{appsmith.store.selectedOption2}}), ObjectId({{appsmith.store.selectedOption3}}), }, } }

Which proposes limitations on user experience and is more clunky in terms of performance and cleanliness. I'll have to have multiple queries that are identical but have different amounts of ObjectIds. And an extra block of code that checks the length of the array and depending on that calls the correct function is I cannot have empty ObjectIds.

AlexiaAcevedo avatar Sep 28 '23 20:09 AlexiaAcevedo

https://github.com/whitequark/ipaddr.js/blob/main/ipaddr.min.js https://cdn.jsdelivr.net/npm/[email protected]/dist/ip-address.min.js https://cdn.jsdelivr.net/npm/[email protected]/index.min.js

All the above related to ip-address management don't work. image image

It would be really nice to have these libs working in appsmith.

filipposc avatar Oct 19 '23 12:10 filipposc

https://www.jsdelivr.com/package/npm/echarts not able to download echarts library

mahesh-babu-drivex avatar Feb 23 '24 06:02 mahesh-babu-drivex

Im not able to install the MUI MATERIAL cdn package , is there some alternative or its possible to fix ,this cause the material is on of the most important library out there for REACT Components :

https://cdn.jsdelivr.net/npm/@mui/[email protected]/umd/material-ui.production.min.js

image

vadimchilinciuc avatar Mar 08 '24 10:03 vadimchilinciuc

Hi @vadimchilinciuc , the library is failing to import because libraries in JSObjects are blocked from accessing the window object and DOM for security reasons. JSObject libraries are primarily for data transformation.

You can use React or any other library in a custom widget though, and this will isolate the code so that it can have full access to the window and DOM. Then you can pass data back and forth through the appsmith.model inside the custom widget. More info here: https://docs.appsmith.com/reference/widgets/custom#custom-widget-builder

GreenFlux avatar Mar 08 '24 10:03 GreenFlux

hi appsmith i tried to insatll https://cdn.jsdelivr.net/npm/[email protected]/www/ZebraScannerPlugin.min.js to communiocate with the HW scanner of an Zebra Device TC21 but its not allowing me to install the script could you pl. take a look into it.

thx

ratsnus avatar Apr 22 '24 08:04 ratsnus

can't install supabase: https://cdn.jsdelivr.net/npm/@supabase/supabase-js@2

sanskritkm avatar May 02 '24 03:05 sanskritkm

Hi @kdamsmt , we have the correct Supabase CDN link in the Recommended Libraries. Just scroll down and click the download button for Supabase. 2024-05-02 06 20 29

Also, both the UDM and ESM links from here will work: https://www.jsdelivr.com/package/npm/@supabase/supabase-js

I'm not sure why your version won't work, but the first option that's built into the library list should work fine for you.

GreenFlux avatar May 02 '24 10:05 GreenFlux

the following lib can not be loaded: https://www.jsdelivr.com/package/npm/@gradio/client image

I use it to connect to Gradio API

justinzyw avatar May 10 '24 12:05 justinzyw

the following lib can not be loaded:

Hi @justinzyw, that's the url for the landing page for that library, not the library install link.

This link should work: https://cdn.jsdelivr.net/npm/@gradio/[email protected]/dist/index.min.js

GreenFlux avatar May 11 '24 13:05 GreenFlux

The following lib cannot be installed due to platform limitations: https://cdn.jsdelivr.net/npm/[email protected]/dist/bundle.min.js

dwanesun avatar Jun 24 '24 21:06 dwanesun

The following lib cannot be installed due to platform limitations: https://cdn.jsdelivr.net/npm/[email protected]/dist/bundle.min.js

Hi @dwanesun , this library is made for use with Node.js on the server side. Only client side libraries can be installed in Appsmith.

GreenFlux avatar Jun 25 '24 09:06 GreenFlux

The following lib cannot be installed due to platform limitations: https://cdn.jsdelivr.net/npm/[email protected]/index.min.js

linkoffate avatar Jul 23 '24 09:07 linkoffate

Cannot install jwks-rsa. I think this should be allowed since jsonwebtokens is recommended by Appsmith, also managed by Auth0, and referenced in their examples:

// Verify using getKey callback
// Example uses https://github.com/auth0/node-jwks-rsa as a way to fetch the keys.
var jwksClient = require('jwks-rsa');
var client = jwksClient({
  jwksUri: 'https://sandrino.auth0.com/.well-known/jwks.json'
});
function getKey(header, callback){
  client.getSigningKey(header.kid, function(err, key) {
    var signingKey = key.publicKey || key.rsaPublicKey;
    callback(null, signingKey);
  });
}

adleviton avatar Jul 24 '24 00:07 adleviton

https://cdn.jsdelivr.net/npm/replicate-api/dist/index.min.js could not be loaded

zhanwangchen avatar Sep 14 '24 17:09 zhanwangchen

https://cdn.jsdelivr.net/npm/[email protected]/lib/cjs/index.min.js

casdoor could not be loaded

lukywangwang avatar Sep 18 '24 07:09 lukywangwang