Skip to main content

Home

Wacom License Manager

This is a JWT (JSON Web Token) license validator based on WASM (WebAssembly) implementation.

The result of importing library is an async factory method which returns a LicenseManager module. The factory has one optional argument, settings. There are various settings related with the WASM module. Localisation of binary could be customized. Look for more details here: https://emscripten.org/docs/api\_reference/module.html#Module.locateFile

Usage

mjs env

import licenseManagerFactory from "@wacom/license-manager"let licenseManager = await licenseManagerFactory();await licenseManager.setLicense(jwtToken);

cjs env

const licenseManagerFactory = require("@wacom/license-manager");let licenseManager = await licenseManagerFactory();await licenseManager.setLicense(jwtToken);

classic js env

<script src="/node_modules/@wacom/license-manager/license-manager-min.js"></script>
let licenseManager = await licenseManagerFactory({  locateFile(path, scriptDirectory) {    return `${scriptDirectory}${path}`;  }});await licenseManager.setLicense(jwtToken);

LicenseManager module is a singleton, provides method setLicense and property version.

setLicense could be called multiple times with different licenses.

Integration with webpack

webpack configuration should be updated. Note that some configurations targets webpac 4 only. Sample configuration targets config-overrides.js

const CopyPlugin = require("copy-webpack-plugin");module.exports = function override(config, env) {  if (!config.eternals) {    config.externals = [];  }  if (!config.plugins) {    config.plugins = [];  }  config.externals = [...config.externals, "module", "crypto"];  // webpack 4.x (Copy wasm to project root, webpack 5.x can handle this by default)  config.plugins.push(    new CopyPlugin({      patterns: [        {          from: "node_modules/@wacom/license-manager/*.wasm",          to: "[name].[ext]"        }      ]    })  );}

License

End user license agreement for Wacom Ink SDK