@xarc/app 12.2.0 → 13.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +236 -2
- package/dist/app-mode.js +1 -2
- package/dist/app-mode.js.map +1 -1
- package/dist/fail-load-dev.js +1 -2
- package/dist/fail-load-dev.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/support.js +5 -5
- package/dist/support.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,8 +1,242 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @xarc/app - Electrode X Application Runtime Support
|
|
2
2
|
|
|
3
3
|
[![NPM version][npm-image]][npm-url] [![Dependency Status][daviddm-image]][daviddm-url] [![devDependency Status][daviddm-dev-image]][daviddm-dev-url] [![npm downloads][npm-downloads-image]][npm-downloads-url]
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
**@xarc/app** is the core runtime support library for Electrode X applications, providing essential infrastructure for building high-performance, universal React applications with server-side rendering (SSR) capabilities.It serves as the foundational runtime layer that enables JavaScript applications to run seamlessly in both browser and Node.js environments.
|
|
8
|
+
|
|
9
|
+
## Key Features
|
|
10
|
+
|
|
11
|
+
### Universal JavaScript Applications
|
|
12
|
+
- **Isomorphic/Universal Architecture**: Write once, run everywhere - your code works seamlessly on both client and server
|
|
13
|
+
- **Server-Side Rendering (SSR)**: Generate HTML on the server for improved SEO, faster initial page loads, and better user experience
|
|
14
|
+
- **Automatic Code Splitting**: Intelligent asset management with automatic detection of client/server code boundaries
|
|
15
|
+
|
|
16
|
+
### Advanced Asset Management
|
|
17
|
+
- **Isomorphic Asset Loading**: Seamlessly handle CSS, images, and other assets across server and client environments
|
|
18
|
+
- **CDN Integration**: Built-in support for mapping assets to CDN URLs for optimized delivery
|
|
19
|
+
- **Hot Module Replacement (HMR)**: Lightning-fast development with live code updates
|
|
20
|
+
- **Asset Bundling**: Intelligent bundling and optimization for production deployments
|
|
21
|
+
|
|
22
|
+
### Production-Ready Architecture
|
|
23
|
+
- **Environment-Aware**: Automatic detection and handling of development vs production environments
|
|
24
|
+
- **Flexible Source Directory Management**: Support for `src/` (development) and `lib/` (production) directory structures
|
|
25
|
+
- **SubApp Architecture**: Built for micro-frontend architectures with modular, independent components
|
|
26
|
+
- **TypeScript Support**: Full TypeScript integration for type-safe development
|
|
27
|
+
|
|
28
|
+
### Developer Experience
|
|
29
|
+
- **Zero Configuration**: Works out of the box with sensible defaults
|
|
30
|
+
- **Babel Integration**: Runtime transpilation support for modern JavaScript features
|
|
31
|
+
- **Error Handling**: Graceful error handling and recovery mechanisms
|
|
32
|
+
- **Comprehensive Logging**: Built-in logging system for debugging and monitoring
|
|
33
|
+
|
|
34
|
+
## Why Choose @xarc/app?
|
|
35
|
+
|
|
36
|
+
### Battle-Tested at Scale
|
|
37
|
+
- Powers Walmart.com and other high-traffic applications
|
|
38
|
+
- Handles millions of requests per day in production
|
|
39
|
+
- Proven performance under enterprise-scale loads
|
|
40
|
+
|
|
41
|
+
### Superior Performance
|
|
42
|
+
- **Faster Time-to-Interactive**: SSR reduces initial page load times
|
|
43
|
+
- **SEO Optimized**: Server-rendered content is immediately available to search engines
|
|
44
|
+
- **Intelligent Caching**: Optimized asset loading and caching strategies
|
|
45
|
+
- **Bundle Optimization**: Advanced webpack configurations for minimal bundle sizes
|
|
46
|
+
|
|
47
|
+
### Modern Architecture
|
|
48
|
+
- **Micro-Frontend Ready**: Built for composable, scalable application architectures
|
|
49
|
+
- **Framework Agnostic**: While optimized for React, supports various UI frameworks
|
|
50
|
+
- **Cloud Native**: Designed for containerized, cloud-based deployments
|
|
51
|
+
- **Progressive Enhancement**: Graceful degradation for various client capabilities
|
|
52
|
+
|
|
53
|
+
### Enterprise Features
|
|
54
|
+
- **Security Best Practices**: Built-in security measures and safe asset handling
|
|
55
|
+
- **Monitoring Ready**: Integration points for application performance monitoring
|
|
56
|
+
- **Scalable Development**: Support for large development teams and codebases
|
|
57
|
+
- **Production Hardened**: Comprehensive error handling and recovery mechanisms
|
|
58
|
+
|
|
59
|
+
## Installation and Dependencies
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
npm install @xarc/app
|
|
64
|
+
# or
|
|
65
|
+
yarn add @xarc/app
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
For development features, also install:
|
|
69
|
+
```bash
|
|
70
|
+
npm install --save-dev @xarc/app-dev
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Basic Setup(Recommended)
|
|
74
|
+
```javascript
|
|
75
|
+
import { loadRuntimeSupport } from '@xarc/app';
|
|
76
|
+
// Initialize application runtime
|
|
77
|
+
await loadRuntimeSupport({});
|
|
78
|
+
```
|
|
79
|
+
## Advance Setup
|
|
80
|
+
```javascript
|
|
81
|
+
import { loadRuntimeSupport } from '@xarc/app';
|
|
82
|
+
// Initialize application runtime
|
|
83
|
+
await loadRuntimeSupport({
|
|
84
|
+
isomorphicExtendRequire: true,
|
|
85
|
+
babelRegister: true, // Enable runtime transpilation in development
|
|
86
|
+
awaitReady: true // Wait for assets to be ready before proceeding
|
|
87
|
+
});
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### `loadRuntimeSupport` Options
|
|
91
|
+
|
|
92
|
+
The `loadRuntimeSupport` function accepts an optional configuration object with the following properties:
|
|
93
|
+
|
|
94
|
+
#### `babelRegister` (Optional)
|
|
95
|
+
**Type:** `boolean | object`
|
|
96
|
+
**Default:** `undefined` (disabled)
|
|
97
|
+
**Purpose:** Enables runtime transpilation using `@babel/register`
|
|
98
|
+
|
|
99
|
+
```javascript
|
|
100
|
+
await loadRuntimeSupport({
|
|
101
|
+
babelRegister: true, // Simple boolean to enable with defaults
|
|
102
|
+
// OR with custom options:
|
|
103
|
+
babelRegister: {
|
|
104
|
+
extensions: [".es6", ".es", ".jsx", ".js", ".ts", ".tsx"],
|
|
105
|
+
// ... other @babel/register options
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**Details:**
|
|
111
|
+
- **Optional** - Only needed in development when you want runtime transpilation
|
|
112
|
+
- When `true`, uses default extensions: `[".es6", ".es", ".jsx", ".js"]`
|
|
113
|
+
- When an object, passes those options directly to `@babel/register`
|
|
114
|
+
- Requires `@xarc/app-dev` to be installed in `devDependencies`
|
|
115
|
+
|
|
116
|
+
#### `isomorphicExtendRequire` (Optional)
|
|
117
|
+
**Type:** `boolean`
|
|
118
|
+
**Default:** `true`
|
|
119
|
+
**Purpose:** Controls whether to load Node.js require hooks for handling isomorphic assets
|
|
120
|
+
|
|
121
|
+
```javascript
|
|
122
|
+
await loadRuntimeSupport({
|
|
123
|
+
isomorphicExtendRequire: false // Disable isomorphic asset loading
|
|
124
|
+
});
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
**Details:**
|
|
128
|
+
- **Optional** - Defaults to `true` if not specified
|
|
129
|
+
- When `true`: Enables importing CSS, images, and other assets in Node.js
|
|
130
|
+
- When `false`: Disables asset loading hooks (may cause syntax errors for asset imports)
|
|
131
|
+
- **Critical:** If disabled, any `import "style.css"` or `import "image.png"` will result in syntax or module not found errors in Node.js
|
|
132
|
+
|
|
133
|
+
#### `isomorphicCdnOptions` (Optional)
|
|
134
|
+
**Type:** `object`
|
|
135
|
+
**Default:** `undefined`
|
|
136
|
+
**Purpose:** Configures CDN asset mapping for production deployments
|
|
137
|
+
|
|
138
|
+
```javascript
|
|
139
|
+
await loadRuntimeSupport({
|
|
140
|
+
isomorphicCdnOptions: {
|
|
141
|
+
prodOnly: true, // Only apply in production
|
|
142
|
+
mapping: customMapping, // Custom asset mappings
|
|
143
|
+
extendRequire: customInstance // Custom require instance
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
**CDN Options:**
|
|
149
|
+
- `prodOnly?: boolean` - Only setup CDN mapping when `NODE_ENV === "production"`
|
|
150
|
+
- `mapping?: Record<string, unknown>` - Custom asset mappings (auto-loaded from `dist/cdn-mappings.json` or `config/assets.json` if not provided)
|
|
151
|
+
- `extendRequire?: any` - Custom isomorphic-loader extend require instance
|
|
152
|
+
|
|
153
|
+
#### `awaitReady` (Optional)
|
|
154
|
+
**Type:** `boolean`
|
|
155
|
+
**Default:** `false`
|
|
156
|
+
**Purpose:** Whether to wait for all assets to be ready before resolving the promise
|
|
157
|
+
|
|
158
|
+
```javascript
|
|
159
|
+
// Method 1: Wait for everything to be ready
|
|
160
|
+
await loadRuntimeSupport({
|
|
161
|
+
awaitReady: true
|
|
162
|
+
});
|
|
163
|
+
|
|
164
|
+
// Method 2: Recommended pattern for development
|
|
165
|
+
const loadSupport = loadRuntimeSupport({ awaitReady: true });
|
|
166
|
+
await startServer(); // Start your server first
|
|
167
|
+
await loadSupport; // Then wait for assets to be ready
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
**Details:**
|
|
171
|
+
- **Optional** - Defaults to `false`
|
|
172
|
+
- In **production mode**: Times out after some time if assets aren't ready
|
|
173
|
+
- In **development mode**: Continues waiting, logging progress every 5 seconds
|
|
174
|
+
- **Important:** In dev mode, the promise resolution depends on the app server starting and loading the dev plugin
|
|
175
|
+
|
|
176
|
+
### Common Usage Patterns
|
|
177
|
+
|
|
178
|
+
#### Simple Production Setup
|
|
179
|
+
```javascript
|
|
180
|
+
// Minimal setup - all defaults are production-ready
|
|
181
|
+
await loadRuntimeSupport();
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
#### Development with Runtime Transpilation
|
|
185
|
+
```javascript
|
|
186
|
+
await loadRuntimeSupport({
|
|
187
|
+
babelRegister: true // Enable runtime transpilation
|
|
188
|
+
});
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
#### Production with CDN Asset Mapping
|
|
192
|
+
```javascript
|
|
193
|
+
await loadRuntimeSupport({
|
|
194
|
+
isomorphicCdnOptions: {
|
|
195
|
+
prodOnly: true // Only map assets in production
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
#### Complete Development Setup
|
|
201
|
+
```javascript
|
|
202
|
+
await loadRuntimeSupport({
|
|
203
|
+
babelRegister: true,
|
|
204
|
+
awaitReady: true,
|
|
205
|
+
isomorphicCdnOptions: {
|
|
206
|
+
prodOnly: true
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
#### Asset-Free Environment
|
|
212
|
+
```javascript
|
|
213
|
+
// If you don't import CSS/images in Node.js
|
|
214
|
+
await loadRuntimeSupport({
|
|
215
|
+
isomorphicExtendRequire: false
|
|
216
|
+
});
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
### Options Summary
|
|
220
|
+
|
|
221
|
+
| Option | Required | Default | Purpose |
|
|
222
|
+
|--------|----------|---------|---------|
|
|
223
|
+
| `babelRegister` | ❌ Optional | `undefined` | Runtime transpilation |
|
|
224
|
+
| `isomorphicExtendRequire` | ❌ Optional | `true` | Asset loading hooks |
|
|
225
|
+
| `isomorphicCdnOptions` | ❌ Optional | `undefined` | CDN asset mapping |
|
|
226
|
+
| `awaitReady` | ❌ Optional | `false` | Wait for assets ready |
|
|
227
|
+
|
|
228
|
+
**Key Points:**
|
|
229
|
+
- All options are optional - the function works with no parameters
|
|
230
|
+
- Default behavior is production-ready with sensible defaults
|
|
231
|
+
- Development features require `@xarc/app-dev` package
|
|
232
|
+
- Asset handling is enabled by default for isomorphic applications
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
## 📄 License
|
|
236
|
+
|
|
237
|
+
Copyright (c) 2016-present, Walmart
|
|
238
|
+
|
|
239
|
+
Licensed under the [Apache License, Version 2.0](../../LICENSE)
|
|
6
240
|
|
|
7
241
|
<https://www.electrode.io/electrode/>
|
|
8
242
|
|
package/dist/app-mode.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/* eslint-disable no-param-reassign */
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.makeAppMode =
|
|
4
|
+
exports.makeAppMode = makeAppMode;
|
|
5
5
|
const tslib_1 = require("tslib");
|
|
6
6
|
const path_1 = tslib_1.__importDefault(require("path"));
|
|
7
7
|
const fs_1 = tslib_1.__importDefault(require("fs"));
|
|
@@ -97,5 +97,4 @@ function makeAppMode(prodDir = constants_1.PROD_DIR, reactLib = "react") {
|
|
|
97
97
|
version
|
|
98
98
|
};
|
|
99
99
|
}
|
|
100
|
-
exports.makeAppMode = makeAppMode;
|
|
101
100
|
//# sourceMappingURL=app-mode.js.map
|
package/dist/app-mode.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-mode.js","sourceRoot":"","sources":["../src/app-mode.ts"],"names":[],"mappings":";AAAA,sCAAsC
|
|
1
|
+
{"version":3,"file":"app-mode.js","sourceRoot":"","sources":["../src/app-mode.ts"],"names":[],"mappings":"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"}
|
package/dist/fail-load-dev.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.failLoadDev =
|
|
3
|
+
exports.failLoadDev = failLoadDev;
|
|
4
4
|
const logger_1 = require("./logger");
|
|
5
5
|
function failLoadDev(err) {
|
|
6
6
|
logger_1.logger.error(err);
|
|
@@ -17,5 +17,4 @@ function failLoadDev(err) {
|
|
|
17
17
|
`);
|
|
18
18
|
process.exit(1); // eslint-disable-line
|
|
19
19
|
}
|
|
20
|
-
exports.failLoadDev = failLoadDev;
|
|
21
20
|
//# sourceMappingURL=fail-load-dev.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fail-load-dev.js","sourceRoot":"","sources":["../src/fail-load-dev.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fail-load-dev.js","sourceRoot":"","sources":["../src/fail-load-dev.ts"],"names":[],"mappings":";;AAEA,kCAeC;AAjBD,qCAAkC;AAElC,SAAgB,WAAW,CAAC,GAAG;IAC7B,eAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,eAAM,CAAC,KAAK,CAAC;;;;;;;;;;CAUd,CAAC,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB;AACzC,CAAC"}
|
package/dist/index.d.ts
CHANGED
package/dist/support.js
CHANGED
|
@@ -3,7 +3,10 @@
|
|
|
3
3
|
/* eslint-disable no-process-exit, no-console, max-statements */
|
|
4
4
|
/* eslint max-statements: 0 complexity: 0 */
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.setupIsomorphicCdnAssetsMapping = void 0;
|
|
7
|
+
exports.setupIsomorphicLoader = setupIsomorphicLoader;
|
|
8
|
+
exports.setupAppSrcDir = setupAppSrcDir;
|
|
9
|
+
exports.loadRuntimeSupport = loadRuntimeSupport;
|
|
7
10
|
const tslib_1 = require("tslib");
|
|
8
11
|
const fs_1 = tslib_1.__importDefault(require("fs"));
|
|
9
12
|
const path_1 = tslib_1.__importDefault(require("path"));
|
|
@@ -63,7 +66,7 @@ const setupIsomorphicCdnAssetsMapping = (options) => {
|
|
|
63
66
|
mapping = JSON.parse(fs_1.default.readFileSync(fn, "utf-8"));
|
|
64
67
|
break;
|
|
65
68
|
}
|
|
66
|
-
catch
|
|
69
|
+
catch {
|
|
67
70
|
//
|
|
68
71
|
}
|
|
69
72
|
}
|
|
@@ -99,7 +102,6 @@ function setupIsomorphicLoader(ignoreExtensions = ".css|.scss|.sass|.pcss|.stylu
|
|
|
99
102
|
(0, isomorphic_loader_1.setXRequire)(xReq);
|
|
100
103
|
return xReq;
|
|
101
104
|
}
|
|
102
|
-
exports.setupIsomorphicLoader = setupIsomorphicLoader;
|
|
103
105
|
/**
|
|
104
106
|
* Setup APP_SRC_DIR when running node.js server
|
|
105
107
|
*
|
|
@@ -125,7 +127,6 @@ function setupAppSrcDir() {
|
|
|
125
127
|
}
|
|
126
128
|
logger_1.logger.info(`${getAppMode().envKey} set to`, getAppMode().getEnv());
|
|
127
129
|
}
|
|
128
|
-
exports.setupAppSrcDir = setupAppSrcDir;
|
|
129
130
|
/**
|
|
130
131
|
* start node.js run time support for app server
|
|
131
132
|
*
|
|
@@ -186,5 +187,4 @@ options = {}) {
|
|
|
186
187
|
}
|
|
187
188
|
return promise || Promise.resolve();
|
|
188
189
|
}
|
|
189
|
-
exports.loadRuntimeSupport = loadRuntimeSupport;
|
|
190
190
|
//# sourceMappingURL=support.js.map
|
package/dist/support.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"support.js","sourceRoot":"","sources":["../src/support.ts"],"names":[],"mappings":";AAAA,0FAA0F;AAC1F,gEAAgE;AAChE,4CAA4C
|
|
1
|
+
{"version":3,"file":"support.js","sourceRoot":"","sources":["../src/support.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xarc/app",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "13.1.0",
|
|
4
4
|
"description": "Electrode X application runtime support",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"homepage": "http://www.electrode.io",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"sinon": "^13.0.2",
|
|
58
58
|
"sinon-chai": "^3.7.0",
|
|
59
59
|
"source-map-support": "^0.5.21",
|
|
60
|
-
"ts-node": "^10.9.
|
|
60
|
+
"ts-node": "^10.9.2",
|
|
61
61
|
"typedoc": "^0.25.13",
|
|
62
62
|
"typescript": "^5.4.5",
|
|
63
63
|
"xsh": "^0.4.5"
|