Unable to validate, pack and submit a config-only app

My app is a config-only app. So it does not need any location in the manifest.json file.
Also, it does not require an app / server folder.

There are multiple issues with this kind of an app.

1. fdk validate expects manifest.json to contain location
I get the following error when i try to fdk validate my app.

2. fdk validate expects app to contain either app / server folder
The second error is that it expects an app / server folder, which does not exist for my use-case.
My app is a config-only app. So, it only contains a config folder.

In order to overcome these errors, I’m forced to:

  1. Add a dummy placeholder in manifest.json
  2. Create an app folder with a template.html and use the template.html in the manifest.json file.
{
  "platform-version": "2.0",
  "product": {
    "freshchat": {
      "location": {
        "conversation_background": {
          "url": "template.html"
        }
      }
    }
  }
}

3. My app gets rejected immediately after submission because it lacks code coverage
I understand that code coverage is applicable only for apps with app / server folder.
However, my app neither has an app, nor a server component to it. It is a config-only app.
So, the coverage folder never gets generated when I do fdk run or fdk validate or fdk test or fdk pack.

In order to overcome this, I ended up adding an app.js file in my template.hmtl

<html>
  <head></head>
  <body>
    <script src="app.js"></script>
  </body>
</html>

My app.js file contains only a comment

// No content in this file. It's a dummy file.

Now, I’m successfully able to hack the coverage requirements. :smile:
And am able to submit the app for review.

=============================== Coverage summary ===============================
Statements   : 100% ( 0/0 )
Branches     : 100% ( 0/0 )
Functions    : 100% ( 0/0 )
Lines        : 100% ( 0/0 )
================================================================================

Request you to review the requirements for mandatory location, mandatory app/server folder and mandatory coverage.
They no longer serve the purpose they were intend to serve.

Regards,
Arun Rajkumar

Hey Arun,

Thanks for bringing this to our attention. Could you share more about your use case, how do you intend to use this config only app, maybe with an example?

Thanks!

Hi @Gangeshwari_Rajavelu,

The config-only app is used by the Intelliassign Status app, which is now listed in the Freshworks gallery.

Admins can install the app by providing the Freshchat API Token and host.
And then, they will be able to turn ON/OFF the Intelliassign Status of any agent.
All this happens in the config page of the app.

The app doesn’t make use of any placeholders, nor does it make use of serverless events.

Regards,
Arun Rajkumar