@trackunit/iris-app-build-utilities 2.1.19 → 2.1.20

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/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## 2.1.20 (2026-07-27)
2
+
3
+ ### 🧱 Updated Dependencies
4
+
5
+ - Updated iris-app-api to 2.1.19
6
+ - Updated shared-utils to 1.15.81
7
+
1
8
  ## 2.1.19 (2026-07-27)
2
9
 
3
10
  ### 🧱 Updated Dependencies
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trackunit/iris-app-build-utilities",
3
- "version": "2.1.19",
3
+ "version": "2.1.20",
4
4
  "license": "SEE LICENSE IN LICENSE.txt",
5
5
  "repository": "https://github.com/Trackunit/manager",
6
6
  "engines": {
@@ -11,13 +11,11 @@
11
11
  "typescript": "6.0.2",
12
12
  "@graphql-codegen/cli": "^5.0.3",
13
13
  "@nx/react": "22.7.5",
14
- "webpack-dev-server": "5.2.1",
15
14
  "tslib": "^2.6.2",
16
15
  "csp-header": "^6.3.1",
17
- "@rspack/core": "1.6.7",
18
- "@trackunit/iris-app-api": "2.1.18",
16
+ "@trackunit/iris-app-api": "2.1.19",
19
17
  "@nx/devkit": "22.7.5",
20
- "@trackunit/shared-utils": "1.15.80",
18
+ "@trackunit/shared-utils": "1.15.81",
21
19
  "http-proxy-middleware": "3.0.5",
22
20
  "marked": "14.1.2",
23
21
  "pacote": "^21.0.4",
package/src/index.d.ts CHANGED
@@ -6,7 +6,6 @@ export * from "./getAvailablePort";
6
6
  export * from "./getCopyPatterns";
7
7
  export * from "./getExposedExtensions";
8
8
  export * from "./getGraphqlCodeGenConfig";
9
- export * from "./getIrisAppDevServer";
10
9
  export * from "./getSharedDependencies";
11
10
  export * from "./getTailwindContentForApp";
12
11
  export * from "./injectFullDescriptionImages";
package/src/index.js CHANGED
@@ -9,7 +9,6 @@ tslib_1.__exportStar(require("./getAvailablePort"), exports);
9
9
  tslib_1.__exportStar(require("./getCopyPatterns"), exports);
10
10
  tslib_1.__exportStar(require("./getExposedExtensions"), exports);
11
11
  tslib_1.__exportStar(require("./getGraphqlCodeGenConfig"), exports);
12
- tslib_1.__exportStar(require("./getIrisAppDevServer"), exports);
13
12
  tslib_1.__exportStar(require("./getSharedDependencies"), exports);
14
13
  tslib_1.__exportStar(require("./getTailwindContentForApp"), exports);
15
14
  tslib_1.__exportStar(require("./injectFullDescriptionImages"), exports);
@@ -1,10 +0,0 @@
1
- import type { DevServer as RspackDevServer } from "@rspack/core";
2
- import type { Configuration as WebpackDevServerConfiguration } from "webpack-dev-server";
3
- import type { ServersidePortMap } from "./spawnServersideExtensions";
4
- export interface DevServerOptions {
5
- serversidePortMap?: ServersidePortMap;
6
- }
7
- /** Generates a dev server configuration for webpack. */
8
- export declare const getIrisAppWebpackDevServer: (webpackDevServerConfiguration?: WebpackDevServerConfiguration, options?: DevServerOptions) => Promise<WebpackDevServerConfiguration>;
9
- /** Generates a dev server configuration for rspack. */
10
- export declare const getIrisAppRspackDevServer: (rspackDevServerConfiguration?: RspackDevServer, options?: DevServerOptions) => Promise<RspackDevServer>;
@@ -1,119 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getIrisAppRspackDevServer = exports.getIrisAppWebpackDevServer = void 0;
4
- const createInvokeProxyMiddleware_1 = require("./createInvokeProxyMiddleware");
5
- const devServerUtils_1 = require("./devServerUtils");
6
- const getAvailablePort_1 = require("./getAvailablePort");
7
- /** Sets CORS headers on the response. */
8
- const setCorsHeaders = (response, headers) => {
9
- response.header("Access-Control-Allow-Origin", (0, devServerUtils_1.getOrigin)(headers));
10
- response.header("Access-Control-Allow-Headers", devServerUtils_1.CORS_ALLOWED_HEADERS);
11
- };
12
- /** CORS preflight middleware - responds to non-GET requests with allowed methods. */
13
- const corsPreflightMiddleware = (req, res, next) => {
14
- if (req.method === "GET") {
15
- next();
16
- }
17
- else {
18
- res.end("GET, HEAD");
19
- }
20
- };
21
- /** CORS origin header middleware - sets Access-Control-Allow-Origin on all requests. */
22
- const createCorsOriginHandler = () => {
23
- return (request, response, next) => {
24
- response.header("Access-Control-Allow-Origin", (0, devServerUtils_1.getOrigin)(request.headers));
25
- next();
26
- };
27
- };
28
- /** Creates the /manifestAndToken endpoint handler. */
29
- const createManifestAndTokenHandler = (port) => {
30
- return async (request, response) => {
31
- setCorsHeaders(response, request.headers);
32
- try {
33
- const resp = await fetch(`http://localhost:${port}/manifest.json`);
34
- const body = await resp.json();
35
- response.send({ manifest: body });
36
- }
37
- catch (e) {
38
- // eslint-disable-next-line no-console
39
- console.error("ERROR: ", e);
40
- response.status(500);
41
- response.send(e);
42
- }
43
- };
44
- };
45
- /** Creates the /extensionloader.js endpoint handler. */
46
- const createExtensionLoaderHandler = () => {
47
- return async (request, response) => {
48
- setCorsHeaders(response, request.headers);
49
- try {
50
- const url = process.env.LOCAL === "true"
51
- ? "http://localhost:3000/extensionloader.js"
52
- : "https://iris.trackunit.app/extensionloader.js";
53
- const resp = await fetch(url);
54
- const body = await resp.text();
55
- response.send(body);
56
- }
57
- catch (e) {
58
- // eslint-disable-next-line no-console
59
- console.error("ERROR: ", e);
60
- response.status(500);
61
- response.send(e);
62
- }
63
- };
64
- };
65
- /** Registers all middlewares on the dev server app. */
66
- const registerMiddlewares = (app, middlewares, port, options) => {
67
- // Register /invoke proxy
68
- app.use("/invoke", (0, createInvokeProxyMiddleware_1.createInvokeProxyMiddleware)(options.serversidePortMap));
69
- // Register CORS origin handler on all routes
70
- app.use("/", createCorsOriginHandler());
71
- // Register endpoint handlers
72
- app.use("/manifestAndToken", createManifestAndTokenHandler(port));
73
- app.use("/extensionloader.js", createExtensionLoaderHandler());
74
- // Add CORS preflight to middleware array
75
- middlewares.push({
76
- name: "cors-preflight",
77
- path: "/",
78
- middleware: corsPreflightMiddleware,
79
- });
80
- return middlewares;
81
- };
82
- /** Creates the base Iris App dev server configuration. */
83
- const createIrisAppDevServerConfig = async (port, options = {}) => ({
84
- port,
85
- historyApiFallback: true,
86
- headers: devServerUtils_1.CORS_HEADERS,
87
- onListening: () => {
88
- /* noop */
89
- },
90
- setupMiddlewares: (middlewares, devServer) => {
91
- if (devServer.app) {
92
- return registerMiddlewares(devServer.app, middlewares, port, options);
93
- }
94
- return middlewares;
95
- },
96
- });
97
- /** Generates a dev server configuration for webpack. */
98
- const getIrisAppWebpackDevServer = async (webpackDevServerConfiguration = {}, options = {}) => {
99
- const port = await (0, getAvailablePort_1.getAvailablePort)(devServerUtils_1.IRIS_APP_PORT_MIN, devServerUtils_1.IRIS_APP_PORT_MAX);
100
- const baseConfig = await createIrisAppDevServerConfig(port, options);
101
- // Type assertion required: webpack-dev-server and rspack have nominally different but
102
- // structurally identical DevServer types. This is a known limitation acknowledged by
103
- // the rspack team. See: https://github.com/web-infra-dev/rspack/blob/main/packages/rspack-dev-server/src/server.ts
104
- // eslint-disable-next-line @trackunit/no-typescript-assertion
105
- return { ...baseConfig, ...webpackDevServerConfiguration };
106
- };
107
- exports.getIrisAppWebpackDevServer = getIrisAppWebpackDevServer;
108
- /** Generates a dev server configuration for rspack. */
109
- const getIrisAppRspackDevServer = async (rspackDevServerConfiguration = {}, options = {}) => {
110
- const port = await (0, getAvailablePort_1.getAvailablePort)(devServerUtils_1.IRIS_APP_PORT_MIN, devServerUtils_1.IRIS_APP_PORT_MAX);
111
- const baseConfig = await createIrisAppDevServerConfig(port, options);
112
- // Type assertion required: webpack-dev-server and rspack have nominally different but
113
- // structurally identical DevServer types. This is a known limitation acknowledged by
114
- // the rspack team. See: https://github.com/web-infra-dev/rspack/blob/main/packages/rspack-dev-server/src/server.ts
115
- // eslint-disable-next-line @trackunit/no-typescript-assertion
116
- return { ...baseConfig, ...rspackDevServerConfiguration };
117
- };
118
- exports.getIrisAppRspackDevServer = getIrisAppRspackDevServer;
119
- //# sourceMappingURL=getIrisAppDevServer.js.map