@openfin/node-adapter
TypeScript icon, indicating that this package has built-in type declarations

36.80.11 • Public • Published

OpenFin Node.js adapter

Allows the use of the OpenFin API from node.js. Please note that the launch and connect methods are specific to a node environment.

Prerequisites

  • Node.js 16 or greater

Usage

Connect

connect can be used to establish a connection to an OpenFin runtime from node.

A uuid value must be provided to identify the connection. Multiple connections require distinct uuid values.

A Runtime version or manifest URL must also be specified.

Note: connect instantiates a Runtime instance if one does not exist for the given configuration. If a Runtime is already running, connect simply establishes a new connection.

Connecting via Runtime Version

import { connect } from '@openfin/node-adapter';

(async () => {
    const fin = await connect({
        uuid: 'my-uuid-123',
        runtime: {
            version: 'stable'
        }
    });
    await fin.Platform.startFromManifest('http://www.your-domain-goes-here.com/manifest.json');
})();

Connecting via Manifest URL

import { connect } from '@openfin/node-adapter';

(async () => {
    const fin = await connect({
        uuid: 'connection-id',
        manifestUrl: 'http://www.your-domain-goes-here.com/manifest'
    });
})();

Launch

Unlike connect, launch starts an OpenFin application if not running and returns a port number instead of a fin object.

This port number can be provided to connect to create a fin object for the Runtime that has been created on the specific port.

launch can be called multiple times for a given application; however launches for an application that is already running result in a run-requested event being triggered instead of a relaunch. If the application is an OpenFin platform, this scenario results in the layout windows reloading.

Launching and Connecting via Port

import { launch, connect } from '@openfin/node-adapter';

(async () => {
    const port = await launch({
        manifestUrl: 'http://www.your-domain-goes-here.com/manifest'
    });

    const fin = await connect({
        address: `ws://localhost:${port}`,
        uuid: 'external-app-via-launch'
    });

    console.log(await fin.System.getRuntimeInfo());
})();

Types

@openfin/node-adapter comes bundled with its own types.

If you wish to explicitly reference OpenFin types, the OpenFin namespace export can be used as follows:

Type Usage Example

import OpenFin, { connect } from '@openfin/node-adapter';

(async () => {
    const fin: OpenFin.Fin<'external connection'> = await connect({
        uuid: 'connection-id'
    });
    const platform: OpenFin.Platform = await fin.Platform.startFromManifest(
        'http://www.your-domain-goes-here.com/manifest'
    );
})();

Migrating from openfin-adapter to @openfin/node-adapter

For users of the connect and launch functions in openfin-adapter, no changes are necessary, other than updating the dependency name.

If you are using the exported types from openfin-adapter, you can now use the OpenFin export that encapsualates them.

Before

import { launch, connect, Application, Fin } from 'openfin-adapter';

(async () => {
    const fin: Fin = await connect({
        uuid: 'external-connection-1', 
        runtime: { version: 'stable' } 
    });
    const app: Application = await fin.Application.start({...});
})()

After

import OpenFin, { launch, connect } from '@openfin/node-adapter';
(async () => {
    const fin: OpenFin.Fin<'external connection'> = await connect({ 
        uuid: 'external-connection-1', 
        runtime: { version: 'stable' } 
    });
    const app: OpenFin.Application = await fin.Application.start({...});
})()

Further Reading

License

Copyright 2020-2023 OpenFin

The code in this package is distributed under the Apache License, Version 2.0.

However, if you run this code, it may call on the OpenFin RVM or OpenFin Runtime, which are covered by OpenFin's Developer, Community, and Enterprise licenses. You can learn more about OpenFin licensing at the links listed below or email us at support@openfin.co with questions.

Readme

Keywords

none

Package Sidebar

Install

npm i @openfin/node-adapter

Weekly Downloads

452

Version

36.80.11

License

SEE LICENSE IN LICENSE.md

Unpacked Size

9.05 MB

Total Files

9

Last publish

Collaborators

  • ameet-openfin
  • jmransegnola
  • marek_openfin
  • yoge-openfin
  • nil.ffej
  • gilesstevenson-openfin
  • eheyder
  • newaz.sharif
  • efraim-herstic
  • royhafin
  • openfincolinhu
  • openfin-johans
  • alan15008
  • openfin-ci-gh
  • hina-khalid
  • ife-dev1
  • mjosling
  • elliott.burr
  • vsaw3
  • gallak-openfin
  • galim.kaudinov
  • hzhi0209
  • andy.westacott
  • __tomasz__
  • cameronopenfin
  • jennrondeau
  • dhilan
  • benstubbington
  • davidcoxon-of
  • openfin-jeff
  • gouthamc
  • hannahmcmillen
  • xyopenfin
  • smocarski
  • eugeneross-openfin
  • imansuri
  • manamiueda
  • sakibahmad
  • shahossain
  • openfinbrandon
  • pierrebaize
  • noyangunday
  • michaelmcoates
  • johnmandia-openfin
  • rdepena
  • tgoc99
  • wenjunche
  • harsimran.openfin.singh
  • luiemilio
  • licui3936
  • connormccafferty
  • adam.saland
  • openfin-ci
  • chrishobsonexpero
  • richbrowne-openfin
  • azizyok
  • openfin-gavin
  • oblarg