Initial SDK Setup


Indigitall JavaScript Web Push SDK — Dependencies

Workspace root

Source: package.json

Package metadata

FieldValue
Namecom.indigitall.web
Version4.17.1
AuthorSmart2me S.L.

Dev dependencies

PackageVersionDescription
@babel/cli^7.18.10Babel command-line interface for transpiling source files
@babel/core^7.19.1Core Babel transpiler
@babel/preset-env^7.19.1Babel preset to compile modern JS to ES5
@eslint/js^8.57.1ESLint built-in JS rules package
@google-cloud/storage^6.4.1Google Cloud Storage client — used by publish.js for releases
babel-loader^8.2.5Webpack loader that transpiles JS through Babel
eslint^8.57.1JavaScript linter
eslint-config-google^0.14.0ESLint config following Google JS style guide
eslint-config-standard^17.0.0ESLint Standard style configuration
eslint-plugin-import^2.26.0ESLint rules for ES module imports
eslint-plugin-n^15.2.5ESLint rules for Node.js
eslint-plugin-promise^6.0.1ESLint rules for Promise best practices
eslint-plugin-vue^10.8.0ESLint rules for Vue.js files
filemanager-webpack-plugin^7.0.0Webpack plugin to copy/archive build artefacts after compilation
globals^17.5.0Global variable definitions for ESLint environments
http-server^14.1.1Zero-config HTTP server for local testing
idempotent-babel-polyfill^7.4.4Babel polyfill that can be safely included multiple times
local-web-server^4.2.1Local development web server (ws command)
npm-cli-login^0.0.10CLI helper to log in to an npm registry from scripts
rimraf^3.0.2Cross-platform rm -rf utility used in clean scripts
webpack^5.39.1Module bundler
webpack-bundle-analyzer^4.4.2Visualises bundle composition and size
webpack-cli^4.7.2Webpack command-line interface
yuidocjs^0.5.0YUIDoc API documentation generator
zip-folder^1.0.0Utility to zip a folder, used in release scripts

Module: core (indigitall-web-core)

Source: core/package.json

Base module shared by all other SDK modules. Contains device model, repository, API client base classes, and utilities.

Dev dependencies

PackageVersionDescription
@babel/preset-env^7.18.10Babel preset to compile modern JS to ES5
babel-loader^8.2.5Webpack loader that transpiles JS through Babel
filemanager-webpack-plugin^7.0.0Webpack plugin to copy/archive build artefacts after compilation
idempotent-babel-polyfill^7.4.4Babel polyfill that can be safely included multiple times
script-loader^0.7.2Webpack loader that executes scripts in the global context
webpack^5.74.0Module bundler
webpack-bundle-analyzer^4.6.1Visualises bundle composition and size
webpack-cli^4.10.0Webpack command-line interface

core has no runtime dependencies on other npm packages.


Module: customer (indigitall-web-customer)

Source: customer/package.json

Handles customer identity registration and custom field management.

Runtime dependencies

PackageVersionDescription
indigitall-web-corefile:../coreIndigitall core module (local reference)

Dev dependencies

PackageVersionDescription
@babel/preset-env^7.18.10Babel preset to compile modern JS to ES5
babel-loader^8.2.5Webpack loader that transpiles JS through Babel
filemanager-webpack-plugin^7.0.0Webpack plugin to copy/archive build artefacts after compilation
idempotent-babel-polyfill^7.4.4Babel polyfill that can be safely included multiple times
webpack^5.74.0Module bundler
webpack-bundle-analyzer^4.6.1Visualises bundle composition and size
webpack-cli^4.10.0Webpack command-line interface

Module: inbox (indigitall-web-inbox)

Source: inbox/package.json

Provides the Inbox feature: listing, reading, and deleting stored notifications.

Runtime dependencies

PackageVersionDescription
indigitall-web-corefile:../coreIndigitall core module (local reference)

Dev dependencies

PackageVersionDescription
@babel/preset-env^7.18.10Babel preset to compile modern JS to ES5
babel-loader^8.2.5Webpack loader that transpiles JS through Babel
filemanager-webpack-plugin^7.0.0Webpack plugin to copy/archive build artefacts after compilation
idempotent-babel-polyfill^7.4.4Babel polyfill that can be safely included multiple times
webpack^5.74.0Module bundler
webpack-bundle-analyzer^4.6.1Visualises bundle composition and size
webpack-cli^4.10.0Webpack command-line interface

Module: inapp (indigitall-web-inapp)

Source: inapp/package.json

Provides the In-App messaging feature: fetching, caching, and rendering in-app messages.

Runtime dependencies

PackageVersionDescription
indigitall-web-corefile:../coreIndigitall core module (local reference)
indigitall-web-customerfile:../customerCustomer module — used for audience targeting
http-server^14.1.1Zero-config HTTP server (used for local development)

Dev dependencies

PackageVersionDescription
@babel/core^7.19.0Core Babel transpiler
@babel/preset-env^7.18.10Babel preset to compile modern JS to ES5
babel-loader^8.2.5Webpack loader that transpiles JS through Babel
filemanager-webpack-plugin^7.0.0Webpack plugin to copy/archive build artefacts after compilation
idempotent-babel-polyfill^7.4.4Babel polyfill that can be safely included multiple times
webpack^5.74.0Module bundler
webpack-bundle-analyzer^4.6.1Visualises bundle composition and size
webpack-cli^4.10.0Webpack command-line interface

Module: push (indigitall-web-notification)

Source: push/package.json

Provides Web Push notifications: device registration, topic management, and Service Worker handling.

Runtime dependencies

PackageVersionDescription
indigitall-web-corefile:../coreIndigitall core module (local reference)
indigitall-web-inboxfile:../inboxInbox module — integrated into the push flow
indigitall-web-customerfile:../customerCustomer module — used for device-customer linking

Dev dependencies

PackageVersionDescription
@babel/preset-env^7.18.10Babel preset to compile modern JS to ES5
babel-loader^8.2.5Webpack loader that transpiles JS through Babel
filemanager-webpack-plugin^7.0.0Webpack plugin to copy/archive build artefacts after compilation
idempotent-babel-polyfill^7.4.4Babel polyfill that can be safely included multiple times
script-loader^0.7.2Webpack loader that executes scripts in the global context
webpack^5.74.0Module bundler
webpack-bundle-analyzer^4.6.1Visualises bundle composition and size
webpack-cli^4.10.0Webpack command-line interface

Build outputs

FileDescription
push.min.jsBundled push client library (UMD)
worker.min.jsBundled Service Worker script

Module: sdk (indigitall-web-sdk)

Source: sdk/package.json

All-in-one bundle that aggregates all SDK modules into a single entry point.

Runtime dependencies

PackageVersionDescription
indigitall-web-corefile:../coreIndigitall core module (local reference)
indigitall-web-customerfile:../customerCustomer module (local reference)
indigitall-web-inappfile:../inappIn-App module (local reference)
indigitall-web-inboxfile:../inboxInbox module (local reference)
indigitall-web-notificationfile:../pushPush module (local reference)

Dev dependencies

PackageVersionDescription
@babel/preset-env^7.18.10Babel preset to compile modern JS to ES5
babel-loader^8.2.5Webpack loader that transpiles JS through Babel
filemanager-webpack-plugin^7.0.0Webpack plugin to copy/archive build artefacts after compilation
idempotent-babel-polyfill^7.4.4Babel polyfill that can be safely included multiple times
webpack^5.74.0Module bundler
webpack-bundle-analyzer^4.6.1Visualises bundle composition and size
webpack-cli^4.10.0Webpack command-line interface

Module dependency graph

sdk
├── core
├── customer
│   └── core
├── inapp
│   ├── core
│   └── customer
│       └── core
├── inbox
│   └── core
└── push (indigitall-web-notification)
    ├── core
    ├── inbox
    │   └── core
    └── customer
        └── core

Build toolchain (shared across all modules)

ToolVersionPurpose
Webpack^5.xModule bundler — produces UMD bundles
Babel (@babel/preset-env)^7.xTranspiles ES2017+ source to broadly-compatible JS
babel-loader^8.xConnects Babel to the Webpack pipeline
filemanager-webpack-plugin^7.xCopies build outputs to public/ and build/
idempotent-babel-polyfill^7.xPolyfills required by Babel without duplication
webpack-bundle-analyzer^4.xOptional bundle size visualisation