@trackunit/iris-app-sdk-rspack 1.0.6 → 1.0.7
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 +6 -0
- package/package.json +8 -8
- package/src/executors/build/executor.d.ts +1 -1
- package/src/executors/build/executor.js +0 -3
- package/src/executors/build/executor.js.map +1 -1
- package/src/executors/serve/executor.d.ts +1 -1
- package/src/executors/serve/executor.js +2 -6
- package/src/executors/serve/executor.js.map +1 -1
- package/src/executors/utils/checkPackageVersion.js +2 -3
- package/src/executors/utils/checkPackageVersion.js.map +1 -1
- package/src/executors/utils/defaultRspackConfig.js +1 -2
- package/src/executors/utils/defaultRspackConfig.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [1.0.7](https://github.com/Trackunit/manager/compare/iris-app-sdk-rspack/1.0.6...iris-app-sdk-rspack/1.0.7) (2025-01-27)
|
|
6
|
+
|
|
7
|
+
### Dependency Updates
|
|
8
|
+
|
|
9
|
+
* `iris-app-build-utilities` updated to version `1.0.6`
|
|
10
|
+
* `iris-app-webpack-plugin` updated to version `1.0.6`
|
|
5
11
|
## [1.0.6](https://github.com/Trackunit/manager/compare/iris-app-sdk-rspack/1.0.5...iris-app-sdk-rspack/1.0.6) (2025-01-27)
|
|
6
12
|
|
|
7
13
|
### Dependency Updates
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trackunit/iris-app-sdk-rspack",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.7",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
5
5
|
"repository": "https://github.com/Trackunit/manager",
|
|
6
6
|
"executors": "./executors.json",
|
|
@@ -8,20 +8,20 @@
|
|
|
8
8
|
"node": ">=20.x"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@rspack/core": "
|
|
12
|
-
"@rspack/dev-server": "
|
|
13
|
-
"@nx/devkit": "
|
|
11
|
+
"@rspack/core": "1.1.8",
|
|
12
|
+
"@rspack/dev-server": "1.0.10",
|
|
13
|
+
"@nx/devkit": "20.3.3",
|
|
14
14
|
"rxjs": "7.8.1",
|
|
15
15
|
"win-ca": "^3.5.1",
|
|
16
16
|
"pacote": "17.0.6",
|
|
17
17
|
"semver": "7.5.4",
|
|
18
18
|
"webpack-bundle-analyzer": "^4.8.0",
|
|
19
|
-
"@trackunit/iris-app-build-utilities": "^1.0.
|
|
19
|
+
"@trackunit/iris-app-build-utilities": "^1.0.5",
|
|
20
20
|
"@trackunit/shared-utils": "^1.0.3",
|
|
21
21
|
"@trackunit/iris-app-api": "^1.0.4",
|
|
22
|
-
"@trackunit/iris-app-webpack-plugin": "^1.0.
|
|
22
|
+
"@trackunit/iris-app-webpack-plugin": "^1.0.5"
|
|
23
23
|
},
|
|
24
|
+
"types": "./src/index.d.ts",
|
|
24
25
|
"main": "./src/index.js",
|
|
25
|
-
"type": "commonjs"
|
|
26
|
-
"types": "./src/index.d.ts"
|
|
26
|
+
"type": "commonjs"
|
|
27
27
|
}
|
|
@@ -12,4 +12,4 @@ export type NodeBuildEvent = {
|
|
|
12
12
|
* @param {ExecutorContext} context build executor context for this nx executor
|
|
13
13
|
* @yields {NodeBuildEvent} the build event
|
|
14
14
|
*/
|
|
15
|
-
export default function (options: BuildExecutorSchema, context: ExecutorContext): AsyncGenerator<any, any,
|
|
15
|
+
export default function (options: BuildExecutorSchema, context: ExecutorContext): AsyncGenerator<any, any, any>;
|
|
@@ -27,9 +27,6 @@ const deleteOutputDir = (root, outputPath) => {
|
|
|
27
27
|
*/
|
|
28
28
|
async function* default_1(options, context) {
|
|
29
29
|
await (0, checkPackageVersion_1.checkPackageVersion)(false);
|
|
30
|
-
if (!context.projectsConfigurations) {
|
|
31
|
-
throw new Error("context projectsConfigurations is required");
|
|
32
|
-
}
|
|
33
30
|
const projectRoot = context.projectsConfigurations.projects[context.projectName].root;
|
|
34
31
|
const projectRootDir = (0, path_1.join)(context.root, projectRoot);
|
|
35
32
|
const tileManifestPath = (0, path_1.join)(context.root, projectRoot, "iris-app-manifest.ts");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/rspack/src/executors/build/executor.ts"],"names":[],"mappings":";;AAmCA,
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/rspack/src/executors/build/executor.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ExecutorContext } from \"@nx/devkit\";\nimport { eachValueFrom } from \"@nx/devkit/src/utils/rxjs-for-await\";\nimport { enableTsConfigPath } from \"@trackunit/iris-app-build-utilities\";\nimport { rmSync } from \"fs\";\nimport { join, resolve } from \"path\";\nimport { Observable } from \"rxjs\";\nimport * as op from \"rxjs/operators\";\n\nimport { Configuration } from \"@rspack/core\";\nimport \"win-ca\";\nimport { checkPackageVersion } from \"../utils/checkPackageVersion\";\nimport { getDefaultConfig } from \"../utils/defaultRspackConfig\";\nimport { BuildExecutorSchema } from \"./schema\";\n\nexport type NodeBuildEvent = {\n outfile: string;\n success: boolean;\n};\n\nconst deleteOutputDir = (root: string, outputPath: string) => {\n const resolvedOutputPath = resolve(root, outputPath);\n if (resolvedOutputPath === root) {\n throw new Error(\"Output path MUST not be project root directory!\");\n }\n rmSync(resolvedOutputPath, { recursive: true, force: true });\n};\n\n/**\n * Build executor for building iris apps.\n *\n * @param {BuildExecutorSchema} options build executor options for this nx executor\n * @param {ExecutorContext} context build executor context for this nx executor\n * @yields {NodeBuildEvent} the build event\n */\nexport default async function* (options: BuildExecutorSchema, context: ExecutorContext) {\n await checkPackageVersion(false);\n const projectRoot = context.projectsConfigurations.projects[context.projectName!]!.root;\n const projectRootDir = join(context.root, projectRoot);\n const tileManifestPath = join(context.root, projectRoot, \"iris-app-manifest.ts\");\n enableTsConfigPath({\n projectRootDir,\n });\n if (!options.rspackConfig) {\n throw new Error(\"option.rspackConfig is required\");\n }\n const IrisAppManifest = (await import(tileManifestPath)).default;\n const defaultConfig = await getDefaultConfig(\"production\", context.root, projectRootDir, IrisAppManifest, context);\n\n const customConfigFile = await import(options.rspackConfig);\n\n let config = customConfigFile.default(await defaultConfig);\n const isPromise = config instanceof Promise;\n if (isPromise) {\n config = await config;\n }\n deleteOutputDir(context.root, options.outputPath);\n const observable = new Observable(subscriber => {\n // eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires, local-rules/no-typescript-assertion\n const compiler = require(\"@rspack/core\").rspack(config as Configuration);\n\n // Add signal handlers\n const signals: NodeJS.Signals[] = [\"SIGINT\", \"SIGTERM\", \"SIGQUIT\"];\n const cleanup = () => {\n compiler.close((err: Error | null) => {\n if (err) {\n // eslint-disable-next-line no-console\n console.error(err);\n }\n process.exit(0);\n });\n };\n\n signals.forEach(signal => {\n process.on(signal, cleanup);\n });\n\n compiler.run((err: Error | null, stats: any) => {\n if (err) {\n // eslint-disable-next-line no-console\n console.error(err);\n subscriber.error(err);\n return;\n }\n\n subscriber.next(stats);\n subscriber.complete();\n });\n\n // Update cleanup function to remove signal handlers\n return () => {\n signals.forEach(signal => {\n process.off(signal, cleanup);\n });\n compiler.close((err: Error | null) => {\n if (err) {\n // eslint-disable-next-line no-console\n console.error(err);\n }\n });\n };\n }).pipe(\n op.tap((stats: any) => {\n // eslint-disable-next-line no-console\n console.info(stats.toString(config.stats));\n }),\n op.map((stats: any) => {\n // eslint-disable-next-line local-rules/no-typescript-assertion\n return {\n success: !stats.hasErrors(),\n outfile: resolve(context.root, options.outputPath),\n } as NodeBuildEvent;\n })\n );\n\n // eslint-disable-next-line local-rules/no-typescript-assertion\n return yield* eachValueFrom(observable as Observable<any>);\n}\n"]}
|
|
@@ -20,10 +20,7 @@ const defaultRspackConfig_1 = require("../utils/defaultRspackConfig");
|
|
|
20
20
|
*/
|
|
21
21
|
async function* default_1(options, context) {
|
|
22
22
|
await (0, checkPackageVersion_1.checkPackageVersion)(false);
|
|
23
|
-
|
|
24
|
-
throw new Error("context workspace is required");
|
|
25
|
-
}
|
|
26
|
-
const projectRoot = context.workspace.projects[context.projectName].root;
|
|
23
|
+
const projectRoot = context.projectsConfigurations.projects[context.projectName].root;
|
|
27
24
|
const projectRootDir = (0, path_1.join)(context.root, projectRoot);
|
|
28
25
|
const tileManifestPath = (0, path_1.join)(context.root, projectRoot, "iris-app-manifest.ts");
|
|
29
26
|
(0, iris_app_build_utilities_1.enableTsConfigPath)({
|
|
@@ -48,8 +45,7 @@ async function* default_1(options, context) {
|
|
|
48
45
|
// open: options.open,
|
|
49
46
|
}, compiler);
|
|
50
47
|
devServer.startCallback(() => {
|
|
51
|
-
|
|
52
|
-
const baseUrl = `http${((_a = config.devServer) === null || _a === void 0 ? void 0 : _a.https) ? "s" : ""}://${((_b = config.devServer) === null || _b === void 0 ? void 0 : _b.host) || "localhost"}:${((_c = config.devServer) === null || _c === void 0 ? void 0 : _c.port) || 8080}`;
|
|
48
|
+
const baseUrl = `http${config.devServer?.https ? "s" : ""}://${config.devServer?.host || "localhost"}:${config.devServer?.port || 8080}`;
|
|
53
49
|
compiler.hooks.done.tap("iris-serve", (stats) => {
|
|
54
50
|
subscriber.next({
|
|
55
51
|
baseUrl,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/rspack/src/executors/serve/executor.ts"],"names":[],"mappings":";;AAsBA,
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/rspack/src/executors/serve/executor.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ExecutorContext } from \"@nx/devkit\";\nimport { eachValueFrom } from \"@nx/devkit/src/utils/rxjs-for-await\";\nimport { enableTsConfigPath } from \"@trackunit/iris-app-build-utilities\";\nimport { join } from \"path\";\nimport { Observable } from \"rxjs\";\nimport * as op from \"rxjs/operators\";\n\nimport { Configuration } from \"@rspack/core\";\nimport { RspackDevServer } from \"@rspack/dev-server\";\nimport \"win-ca\";\nimport { checkPackageVersion } from \"../utils/checkPackageVersion\";\nimport { getDefaultConfig } from \"../utils/defaultRspackConfig\";\nimport { ServeExecutorSchema } from \"./schema\";\n\n/**\n * Serve executor for serving iris apps.\n *\n * @param {ServeExecutorSchema} options serve executor options for this nx executor\n * @param {ExecutorContext} context serve executor context for this nx executor\n * @yields {AsyncGenerator<any, void, unknown>} the serve observable\n */\nexport default async function* (options: ServeExecutorSchema, context: ExecutorContext) {\n await checkPackageVersion(false);\n const projectRoot = context.projectsConfigurations.projects[context.projectName!]!.root;\n const projectRootDir = join(context.root, projectRoot);\n const tileManifestPath = join(context.root, projectRoot, \"iris-app-manifest.ts\");\n enableTsConfigPath({\n projectRootDir,\n });\n if (!options.rspackConfig) {\n throw new Error(\"option.rspackConfig is required\");\n }\n const IrisAppManifest = (await import(tileManifestPath)).default;\n const defaultConfig = getDefaultConfig(\"development\", context.root, projectRootDir, IrisAppManifest, context);\n const customConfigFile = await import(options.rspackConfig);\n\n let config = customConfigFile.default(await defaultConfig);\n const isPromise = config instanceof Promise;\n if (isPromise) {\n config = await defaultConfig;\n }\n\n const observable = new Observable<{ baseUrl: string; success: boolean; stats: any }>(subscriber => {\n // eslint-disable-next-line @typescript-eslint/no-var-requires, @typescript-eslint/no-require-imports\n const compiler = require(\"@rspack/core\").rspack(config as Configuration);\n const devServer = new RspackDevServer(\n {\n ...config.devServer,\n // open: options.open,\n },\n compiler\n );\n\n devServer.startCallback(() => {\n const baseUrl = `http${config.devServer?.https ? \"s\" : \"\"}://${config.devServer?.host || \"localhost\"}:${config.devServer?.port || 8080}`;\n\n compiler.hooks.done.tap(\"iris-serve\", (stats: any) => {\n subscriber.next({\n baseUrl,\n success: !stats.hasErrors(),\n stats,\n });\n });\n });\n\n return () => {\n devServer.stopCallback(() => {\n subscriber.complete();\n });\n };\n }).pipe(\n op.tap(({ stats }) => {\n // eslint-disable-next-line no-console\n console.info(stats.toString(config.stats));\n }),\n op.map(({ baseUrl, success }) => ({\n baseUrl,\n success,\n }))\n );\n\n return yield* eachValueFrom(observable);\n}\n"]}
|
|
@@ -18,9 +18,8 @@ const semver = tslib_1.__importStar(require("semver"));
|
|
|
18
18
|
* @returns { boolean } true if its a valid version
|
|
19
19
|
*/
|
|
20
20
|
const versionCheck = (pkg, localRange, range, throwError = true) => {
|
|
21
|
-
|
|
22
|
-
const
|
|
23
|
-
const remoteVersion = (_b = semver.minVersion(range)) !== null && _b !== void 0 ? _b : range; // Assume range is in a format that semver.minVersion can handle
|
|
21
|
+
const localVersion = semver.minVersion(localRange) ?? localRange; // ('^1.0.0') => '1.0.0'
|
|
22
|
+
const remoteVersion = semver.minVersion(range) ?? range; // Assume range is in a format that semver.minVersion can handle
|
|
24
23
|
if (!semver.satisfies(localVersion, range)) {
|
|
25
24
|
const msg = `Package "${pkg}" outdated. Remote Version: ${range} Local version: ${localRange}. 👈\n Update package using command: \n npm i ${pkg}@${range}\n ...or to update all trackunit dependencies: \n npx npm-check-updates "/@trackunit/" -u`;
|
|
26
25
|
if (semver.major(localVersion) < semver.major(remoteVersion) && throwError) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkPackageVersion.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/rspack/src/executors/utils/checkPackageVersion.ts"],"names":[],"mappings":";;;AAqDA,wCAKC;AAKD,wDAYC;AAgBD,kDAOC;;AAlGD,uCAA0C;AAC1C,0DAA4D;AAC5D,iDAAyC;AACzC,uDAAiC;AACjC,uDAAiC;AAEjC;;;;;;GAMG;AACI,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,UAAkB,EAAE,KAAa,EAAE,UAAU,GAAG,IAAI,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"checkPackageVersion.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/rspack/src/executors/utils/checkPackageVersion.ts"],"names":[],"mappings":"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","sourcesContent":["import { readJsonFile } from \"@nx/devkit\";\nimport { objectFromEntries } from \"@trackunit/shared-utils\";\nimport { execSync } from \"child_process\";\nimport * as pacote from \"pacote\";\nimport * as semver from \"semver\";\n\n/**\n *\n * @param pkg package to look for.\n * @param localRange local version of the package.\n * @param range range\n * @returns { boolean } true if its a valid version\n */\nexport const versionCheck = (pkg: string, localRange: string, range: string, throwError = true) => {\n const localVersion = semver.minVersion(localRange) ?? localRange; // ('^1.0.0') => '1.0.0'\n const remoteVersion = semver.minVersion(range) ?? range; // Assume range is in a format that semver.minVersion can handle\n\n if (!semver.satisfies(localVersion, range)) {\n const msg = `Package \"${pkg}\" outdated. Remote Version: ${range} Local version: ${localRange}. 👈\\n Update package using command: \\n npm i ${pkg}@${range}\\n ...or to update all trackunit dependencies: \\n npx npm-check-updates \"/@trackunit/\" -u`;\n if (semver.major(localVersion) < semver.major(remoteVersion) && throwError) {\n throw new Error(msg);\n } else {\n // eslint-disable-next-line no-console\n console.warn(\"⚠️ \" + msg + \"\\n\");\n return true;\n }\n }\n return true;\n};\n\n/**\n * Get the latest version of the package from the registry.\n *\n * @param pkg package to look for.\n * @returns { Promise<string> } returns version\n */\nexport const getLatestRemoteVersion = async (pkg: string) => {\n try {\n const manifest = await pacote.manifest(pkg);\n return manifest.version;\n } catch (error) {\n throw new Error(\n `Error fetching manifest for package ${pkg}. This package might need to be published, or it has been included as a dependency by mistake.`\n );\n }\n};\n\n/**\n * Check if the current version of the package is the same as the one in the manager.\n *\n * @param {string} managerNxVersion version of nx in the manager\n * @returns { boolean} true if its a valid version\n */\nexport async function checkNxVersion(managerNxVersion: string, throwError = true) {\n const currentNxVersion = execSync(\"nx --version\")\n .toString(\"utf-8\")\n .replace(/\\r?\\n|\\r/, \"\"); // regex removes any line breaks\n return versionCheck(\"nx\", currentNxVersion, managerNxVersion, throwError);\n}\n\n/**\n *\n */\nexport async function checkTrackunitPackages(dependencies: Record<string, string>, throwError = true) {\n for (const key in dependencies) {\n const remoteVersion: string | undefined = await getLatestRemoteVersion(key);\n if (remoteVersion) {\n const localDependencyVersion: string | undefined = dependencies[key];\n // If @trackunit dependencies are linked/added locally using \"file:\", skip the version check, used for E2E tests.\n if (localDependencyVersion && !localDependencyVersion.includes(\"file:\")) {\n versionCheck(key, localDependencyVersion, remoteVersion, throwError);\n }\n }\n }\n return true;\n}\n\nfunction getLibraries() {\n const packageJsonLocal: Record<string, string | Record<string, string>> = readJsonFile(\"package.json\");\n const trackunitDependencies = objectFromEntries(\n Object.entries(packageJsonLocal.dependencies || {}).filter(([key]) => key.startsWith(\"@trackunit/\"))\n );\n const trackunitDevDependencies = objectFromEntries(\n Object.entries(packageJsonLocal.devDependencies || {}).filter(([key]) => key.startsWith(\"@trackunit/\"))\n );\n return { trackunitDependencies, trackunitDevDependencies };\n}\n\n/**\n *\n */\nexport async function checkPackageVersion(throwError = true) {\n const { trackunitDependencies, trackunitDevDependencies } = getLibraries();\n // const managerNxVersion = version.managerNxVersion;\n // await checkNxVersion(managerNxVersion, throwError);\n await checkTrackunitPackages(trackunitDependencies, throwError);\n await checkTrackunitPackages(trackunitDevDependencies, throwError);\n return true;\n}\n"]}
|
|
@@ -82,9 +82,8 @@ const getDefaultConfig = async (mode, nxRootDir, appDir, irisAppManifest, contex
|
|
|
82
82
|
translations: {
|
|
83
83
|
test: /[\\/]locales[\\/](.*?)[\\/]translation\.json$/,
|
|
84
84
|
name(module) {
|
|
85
|
-
var _a;
|
|
86
85
|
// Extract the language code from the path
|
|
87
|
-
const match =
|
|
86
|
+
const match = module?.resource?.match(/[\\/]locales[\\/](.*?)[\\/]translation\.json$/);
|
|
88
87
|
const language = match ? match[1] : "unknown";
|
|
89
88
|
return `translations-${language}`;
|
|
90
89
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultRspackConfig.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/rspack/src/executors/utils/defaultRspackConfig.ts"],"names":[],"mappings":"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","sourcesContent":["import { ExecutorContext } from \"@nx/devkit\";\nimport * as rspack from \"@rspack/core\";\nimport { IrisAppManifest, isIconByPath } from \"@trackunit/iris-app-api\";\nimport {\n getAliasesFromTsConfig,\n getExposedExtensions,\n getIrisAppWebpackDevServer,\n getSharedDependencies,\n} from \"@trackunit/iris-app-build-utilities\";\nimport { TrackunitIrisAppWebpackPlugin } from \"@trackunit/iris-app-webpack-plugin\";\nimport { truthy } from \"@trackunit/shared-utils\";\nimport * as path from \"path\";\n\nlet BundleAnalyzerPlugin: rspack.WebpackPluginInstance | null = null;\nif (process.env.BUNDLE_ANALYSE === \"true\") {\n // doing require here to avoid dependency on webpack-bundle-analyzer directly\n // eslint-disable-next-line @typescript-eslint/no-var-requires, @typescript-eslint/no-require-imports\n const BundleAnalyzerPluginConstructor = require(\"webpack-bundle-analyzer\").BundleAnalyzerPlugin;\n BundleAnalyzerPlugin = new BundleAnalyzerPluginConstructor({ analyzerMode: \"static\" });\n}\n\n/**\n * Gets the default webpack config.\n *\n * @param mode mode either \"production\" or \"development\"\n * @param nxRootDir the root of the nx workspace\n * @param appDir the app directory\n * @param irisAppManifest the iris app manifest\n * @returns { Promise<rspack.Configuration> } the default webpack config\n */\nexport const getDefaultConfig = async (\n mode: \"production\" | \"development\",\n nxRootDir: string,\n appDir: string,\n irisAppManifest: IrisAppManifest,\n context: ExecutorContext\n): Promise<rspack.Configuration> => {\n const relativeAppDir = appDir.split(nxRootDir)[1] || \"<unknown appdir>\";\n const iconPaths = irisAppManifest.extensions\n .map(extension => {\n if (extension.type === \"FLEET_EXTENSION\" && extension.menuItem.image && isIconByPath(extension.menuItem.image)) {\n return {\n extensionId: extension.id,\n path: extension.menuItem.image.path,\n sourceRoot: extension.sourceRoot,\n };\n }\n return null;\n })\n .filter(truthy);\n\n const copyPatterns = [\n ...irisAppManifest.extensions\n .filter(extension => extension.type === \"LIFECYCLE_EXTENSION\")\n .map(extension => ({\n //globs must use / in path to be valid\n from: path.resolve(nxRootDir, extension.sourceRoot.replace(/\\\\/g, \"/\")),\n to: path.join(nxRootDir, \"dist\", relativeAppDir, \"serverside\", extension.id),\n })),\n {\n //globs must use / in path to be valid\n from: path.join(appDir, \"assets/\").replace(/\\\\/g, \"/\"),\n to: path.join(nxRootDir, \"dist\", relativeAppDir, \"assets\"),\n },\n ...iconPaths.map(iconPath => ({\n //globs must use / in path to be valid\n from: path.join(nxRootDir, iconPath.sourceRoot, iconPath.path).replace(/\\\\/g, \"/\"),\n to: path.join(nxRootDir, \"dist\", relativeAppDir, iconPath.extensionId, iconPath.path),\n })),\n ];\n const combinedConfig = async (incomingConfig: rspack.Configuration): Promise<rspack.Configuration> => {\n return {\n ...incomingConfig,\n mode: mode,\n output: {\n publicPath: \"auto\",\n path: path.join(nxRootDir, \"dist\", relativeAppDir),\n },\n target: \"web\",\n entry: {},\n devtool: false,\n devServer: await getIrisAppWebpackDevServer(),\n resolve: {\n extensions: [\".tsx\", \".ts\", \".jsx\", \".js\", \".json\"],\n alias: await getAliasesFromTsConfig({ nxRootDir }),\n },\n optimization:\n mode === \"production\"\n ? incomingConfig.optimization\n : {\n ...incomingConfig.optimization,\n splitChunks: {\n cacheGroups: {\n translations: {\n test: /[\\\\/]locales[\\\\/](.*?)[\\\\/]translation\\.json$/,\n name(module) {\n // Extract the language code from the path\n const match = module?.resource?.match(/[\\\\/]locales[\\\\/](.*?)[\\\\/]translation\\.json$/);\n const language = match ? match[1] : \"unknown\";\n return `translations-${language}`;\n },\n chunks: \"all\",\n enforce: true,\n priority: 10,\n },\n },\n },\n },\n module: {\n rules: [\n {\n test: /\\.(jsx?|tsx?)$/,\n exclude: /(vendor|node_modules|dist)/,\n loader: \"builtin:swc-loader\",\n options: {\n jsc: {\n parser: {\n syntax: \"typescript\",\n jsx: true,\n },\n transform: {\n react: {\n runtime: \"automatic\",\n },\n },\n },\n },\n },\n {\n test: /\\.svg$/,\n use: [\"@svgr/webpack\", \"file-loader\"],\n },\n {\n test: /\\.ico|.png|.jpe?g|.gif|.eot|.ttf|.woff|.woff2$/,\n type: \"asset/resource\",\n },\n {\n test: /\\.(js|mjs)$/,\n include: [\n /node_modules\\/@apollo\\/client/,\n /node_modules\\/framer-motion/,\n /node_modules\\/uuid/,\n /node_modules\\/html-parse-stringify/,\n ],\n type: \"javascript/auto\",\n resolve: {\n fullySpecified: false,\n },\n },\n {\n test: /\\.(css|s[ac]ss)$/i,\n use: [\n \"style-loader\",\n \"css-loader\",\n {\n loader: \"postcss-loader\",\n options: {\n postcssOptions: {\n plugins: {\n \"postcss-import\": {},\n \"tailwindcss/nesting\": {},\n tailwindcss: {\n config: path.resolve(appDir, \"tailwind.config.js\"),\n },\n autoprefixer: {},\n },\n },\n },\n },\n ],\n },\n ],\n },\n plugins: [\n new rspack.container.ModuleFederationPlugin({\n name: irisAppManifest.moduleFederationName,\n filename: \"remoteEntry.js\",\n library: { type: \"global\", name: irisAppManifest.moduleFederationName },\n remotes: {},\n exposes: await getExposedExtensions({\n nxRootDir,\n manifest: irisAppManifest,\n }),\n shared: await getSharedDependencies({ manifest: irisAppManifest }),\n }),\n\n new TrackunitIrisAppWebpackPlugin({\n nxRootDir: nxRootDir,\n appDir,\n manifest: irisAppManifest,\n }),\n new rspack.DefinePlugin({\n \"process.env.IRIS_APP_SENTRY_DSN\": JSON.stringify(\"\"),\n \"process.env.IRIS_APP_VERSION\": JSON.stringify(\"\"),\n }),\n new rspack.CopyRspackPlugin({\n patterns: copyPatterns,\n }),\n BundleAnalyzerPlugin,\n ].filter(Boolean),\n };\n };\n\n return await combinedConfig({});\n};\n"]}
|
|
1
|
+
{"version":3,"file":"defaultRspackConfig.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/rspack/src/executors/utils/defaultRspackConfig.ts"],"names":[],"mappings":"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","sourcesContent":["import { ExecutorContext } from \"@nx/devkit\";\nimport * as rspack from \"@rspack/core\";\nimport { IrisAppManifest, isIconByPath } from \"@trackunit/iris-app-api\";\nimport {\n getAliasesFromTsConfig,\n getExposedExtensions,\n getIrisAppWebpackDevServer,\n getSharedDependencies,\n} from \"@trackunit/iris-app-build-utilities\";\nimport { TrackunitIrisAppWebpackPlugin } from \"@trackunit/iris-app-webpack-plugin\";\nimport { truthy } from \"@trackunit/shared-utils\";\nimport * as path from \"path\";\n\nlet BundleAnalyzerPlugin: rspack.WebpackPluginInstance | null = null;\nif (process.env.BUNDLE_ANALYSE === \"true\") {\n // doing require here to avoid dependency on webpack-bundle-analyzer directly\n // eslint-disable-next-line @typescript-eslint/no-var-requires, @typescript-eslint/no-require-imports\n const BundleAnalyzerPluginConstructor = require(\"webpack-bundle-analyzer\").BundleAnalyzerPlugin;\n BundleAnalyzerPlugin = new BundleAnalyzerPluginConstructor({ analyzerMode: \"static\" });\n}\n\n/**\n * Gets the default webpack config.\n *\n * @param mode mode either \"production\" or \"development\"\n * @param nxRootDir the root of the nx workspace\n * @param appDir the app directory\n * @param irisAppManifest the iris app manifest\n * @returns { Promise<rspack.Configuration> } the default webpack config\n */\nexport const getDefaultConfig = async (\n mode: \"production\" | \"development\",\n nxRootDir: string,\n appDir: string,\n irisAppManifest: IrisAppManifest,\n context: ExecutorContext\n): Promise<rspack.Configuration> => {\n const relativeAppDir = appDir.split(nxRootDir)[1] || \"<unknown appdir>\";\n const iconPaths = irisAppManifest.extensions\n .map(extension => {\n if (extension.type === \"FLEET_EXTENSION\" && extension.menuItem.image && isIconByPath(extension.menuItem.image)) {\n return {\n extensionId: extension.id,\n path: extension.menuItem.image.path,\n sourceRoot: extension.sourceRoot,\n };\n }\n return null;\n })\n .filter(truthy);\n\n const copyPatterns = [\n ...irisAppManifest.extensions\n .filter(extension => extension.type === \"LIFECYCLE_EXTENSION\")\n .map(extension => ({\n //globs must use / in path to be valid\n from: path.resolve(nxRootDir, extension.sourceRoot.replace(/\\\\/g, \"/\")),\n to: path.join(nxRootDir, \"dist\", relativeAppDir, \"serverside\", extension.id),\n })),\n {\n //globs must use / in path to be valid\n from: path.join(appDir, \"assets/\").replace(/\\\\/g, \"/\"),\n to: path.join(nxRootDir, \"dist\", relativeAppDir, \"assets\"),\n },\n ...iconPaths.map(iconPath => ({\n //globs must use / in path to be valid\n from: path.join(nxRootDir, iconPath.sourceRoot, iconPath.path).replace(/\\\\/g, \"/\"),\n to: path.join(nxRootDir, \"dist\", relativeAppDir, iconPath.extensionId, iconPath.path),\n })),\n ];\n const combinedConfig = async (incomingConfig: rspack.Configuration): Promise<rspack.Configuration> => {\n return {\n ...incomingConfig,\n mode: mode,\n output: {\n publicPath: \"auto\",\n path: path.join(nxRootDir, \"dist\", relativeAppDir),\n },\n target: \"web\",\n entry: {},\n devtool: false,\n devServer: await getIrisAppWebpackDevServer(),\n resolve: {\n extensions: [\".tsx\", \".ts\", \".jsx\", \".js\", \".json\"],\n alias: await getAliasesFromTsConfig({ nxRootDir }),\n },\n optimization:\n mode === \"production\"\n ? incomingConfig.optimization\n : {\n ...incomingConfig.optimization,\n splitChunks: {\n cacheGroups: {\n translations: {\n test: /[\\\\/]locales[\\\\/](.*?)[\\\\/]translation\\.json$/,\n name(module) {\n // Extract the language code from the path\n const match = module?.resource?.match(/[\\\\/]locales[\\\\/](.*?)[\\\\/]translation\\.json$/);\n const language = match ? match[1] : \"unknown\";\n return `translations-${language}`;\n },\n chunks: \"all\",\n enforce: true,\n priority: 10,\n },\n },\n },\n },\n module: {\n rules: [\n {\n test: /\\.(jsx?|tsx?)$/,\n exclude: /(vendor|node_modules|dist)/,\n loader: \"builtin:swc-loader\",\n options: {\n jsc: {\n parser: {\n syntax: \"typescript\",\n jsx: true,\n },\n transform: {\n react: {\n runtime: \"automatic\",\n },\n },\n },\n },\n },\n {\n test: /\\.svg$/,\n use: [\"@svgr/webpack\", \"file-loader\"],\n },\n {\n test: /\\.ico|.png|.jpe?g|.gif|.eot|.ttf|.woff|.woff2$/,\n type: \"asset/resource\",\n },\n {\n test: /\\.(js|mjs)$/,\n include: [\n /node_modules\\/@apollo\\/client/,\n /node_modules\\/framer-motion/,\n /node_modules\\/uuid/,\n /node_modules\\/html-parse-stringify/,\n ],\n type: \"javascript/auto\",\n resolve: {\n fullySpecified: false,\n },\n },\n {\n test: /\\.(css|s[ac]ss)$/i,\n use: [\n \"style-loader\",\n \"css-loader\",\n {\n loader: \"postcss-loader\",\n options: {\n postcssOptions: {\n plugins: {\n \"postcss-import\": {},\n \"tailwindcss/nesting\": {},\n tailwindcss: {\n config: path.resolve(appDir, \"tailwind.config.js\"),\n },\n autoprefixer: {},\n },\n },\n },\n },\n ],\n },\n ],\n },\n plugins: [\n new rspack.container.ModuleFederationPlugin({\n name: irisAppManifest.moduleFederationName,\n filename: \"remoteEntry.js\",\n library: { type: \"global\", name: irisAppManifest.moduleFederationName },\n remotes: {},\n exposes: await getExposedExtensions({\n nxRootDir,\n manifest: irisAppManifest,\n }),\n shared: await getSharedDependencies({ manifest: irisAppManifest }),\n }),\n\n new TrackunitIrisAppWebpackPlugin({\n nxRootDir: nxRootDir,\n appDir,\n manifest: irisAppManifest,\n }),\n new rspack.DefinePlugin({\n \"process.env.IRIS_APP_SENTRY_DSN\": JSON.stringify(\"\"),\n \"process.env.IRIS_APP_VERSION\": JSON.stringify(\"\"),\n }),\n new rspack.CopyRspackPlugin({\n patterns: copyPatterns,\n }),\n BundleAnalyzerPlugin,\n ].filter(Boolean),\n };\n };\n\n return await combinedConfig({});\n};\n"]}
|