Autodesk Forge web application – from visual studio code to close .exe file

i have a working forge application ( bim360 hub sidebar with forge viewer and some charts).
it is currantly running from the visual studio code IDE only.
i want to build the app into an .exe file in order to be able to send it to a user, upload it to a server with IIS, etc..
general details:

I tried to:

  1. use ‘nexe’ module and build executable file.
    in this method i need to specify index.js file ( “an entry point”) and define a ‘nexe.config.js’ file.
    since i don’t have a file named index.js, i used the entry point “start.js”.
    eventualy – i managed to create an exe file- but nothing happens when i click it..

  2. i tried to use electron-packager (after npm instaling it) i ran:

    C:Users(my_user_name)locationappFolder>electron-packager . –name=App_name –electron-version=17.1.1
    Packaging app for platform win32 x64 using electron v17.1.1

The main entry point to your app was not found. Make sure “index.js” exists and does not get ignored by your ignore option

main questions:

  • is there another way to build a close exe file from visual studio code?
  • am i doing something wrong with the proccesses i mention above?
  • is my entry point file” start.js” is not a valid entry point?

relevant files files:

1) start.js:

const path = require('path');//bringing in built in node js modeules ( to resulve file system path )
const express = require('express');//module to create the express server 
const cookieSession = require('cookie-session'); 
//any piece of code would have an opportunity to handle the request 
const PORT = process.env.PORT || 3000;
const config = require('./config.js');
if (config.credentials.client_id == null || config.credentials.client_secret == null) {
    console.error('Missing FORGE_CLIENT_ID or FORGE_CLIENT_SECRET env. variables.');
    return;
}

let app = express();
//static middlewere to check for the front end files (html,js,css)
app.use(express.static(path.join(__dirname, 'public')));//method inside express module: a middlewere for serving static files  this line will check in 'public' folder if the request 
//that is sent (specific file) is in there. if so - it will ignore the rest of the stack(the rest of the code)
app.use(cookieSession({
    // create 2 cookies that stores the name and encripted key 
    name: 'forge_session',
    keys: ['forge_secure_key'],//takes cater of decipher the encription for the forge key for us 
    maxAge: 14 * 24 * 60 * 60 * 1000 // 14 days, same as refresh token
}));
app.use(express.json({ limit: '50mb' }));//middlewere that looks at the title of the request - and if its .json it will look at the body of the request and parese it to javascript object
app.use('/api/forge', require('./routes/oauth.js'));//adding our custom express routers that will handle the different endpoints.
app.use('/api/forge', require('./routes/datamanagement.js'));
app.use('/api/forge', require('./routes/user.js'));
app.use((err, req, res, next) => {
    console.error(err);
    res.status(err.statusCode).json(err);
});
app.listen(PORT, () => { console.log(`Server listening on port ${PORT}`); });

2) nexe.config.js

module.exports = {
    options: {
      entryPoint: 'start.js'
    }
  }