@trackunit/iris-app 0.0.391 → 0.0.393

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
@@ -2,6 +2,18 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [0.0.393](https://github.com/Trackunit/manager/compare/iris-app/0.0.392...iris-app/0.0.393) (2023-10-12)
6
+
7
+ ### Dependency Updates
8
+
9
+ * `iris-app-build-utilities` updated to version `0.0.392`
10
+ ## [0.0.392](https://github.com/Trackunit/manager/compare/iris-app/0.0.391...iris-app/0.0.392) (2023-10-12)
11
+
12
+ ### Dependency Updates
13
+
14
+ * `iris-app-build-utilities` updated to version `0.0.391`
15
+ * `iris-app-api` updated to version `0.0.391`
16
+ * `iris-app-webpack-plugin` updated to version `0.0.391`
5
17
  ## [0.0.391](https://github.com/Trackunit/manager/compare/iris-app/0.0.390...iris-app/0.0.391) (2023-10-12)
6
18
 
7
19
  ## [0.0.390](https://github.com/Trackunit/manager/compare/iris-app/0.0.389...iris-app/0.0.390) (2023-10-11)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trackunit/iris-app",
3
- "version": "0.0.391",
3
+ "version": "0.0.393",
4
4
  "license": "SEE LICENSE IN LICENSE.txt",
5
5
  "main": "./src/index.js",
6
6
  "generators": "./generators.json",
@@ -46,15 +46,18 @@
46
46
  "wrap-ansi": "7.0.0",
47
47
  "@floating-ui/react": "0.25.4",
48
48
  "@trackunit/css-class-variance-utilities": "0.0.14",
49
- "@trackunit/css-components": "0.0.424",
50
- "@trackunit/css-core": "0.0.95",
51
- "@trackunit/iris-app-api": "0.0.123",
52
- "@trackunit/iris-app-build-utilities": "0.0.255",
53
- "@trackunit/iris-app-webpack-plugin": "0.0.138",
54
- "@trackunit/react-components": "0.1.171",
55
- "@trackunit/shared-utils": "0.0.10",
56
- "@trackunit/ui-design-tokens": "0.0.77",
57
- "@trackunit/ui-icons": "0.0.77",
49
+ "@trackunit/css-component-tokens": "0.0.42",
50
+ "@trackunit/css-components": "0.0.426",
51
+ "@trackunit/css-core": "0.0.96",
52
+ "@trackunit/css-tailwind": "0.0.89",
53
+ "@trackunit/css-tailwind-custom-properties-plugin": "0.0.31",
54
+ "@trackunit/iris-app-api": "0.0.124",
55
+ "@trackunit/iris-app-build-utilities": "0.0.257",
56
+ "@trackunit/iris-app-webpack-plugin": "0.0.139",
57
+ "@trackunit/react-components": "0.1.173",
58
+ "@trackunit/shared-utils": "0.0.11",
59
+ "@trackunit/ui-design-tokens": "0.0.78",
60
+ "@trackunit/ui-icons": "0.0.78",
58
61
  "capitalize": "2.0.4",
59
62
  "class-variance-authority": "0.6.0",
60
63
  "date-fns": "2.29.3",
@@ -67,8 +70,8 @@
67
70
  "react-use": "17.4.0",
68
71
  "react-useportal": "1.0.18",
69
72
  "tailwind-merge": "1.13.0",
70
- "zod": "3.14.1",
71
- "tslib": "2.4.1"
73
+ "zod": "3.22.3",
74
+ "tslib": "1.14.1"
72
75
  },
73
76
  "type": "commonjs"
74
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"webpackDevServer.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/iris-app/src/executors/serve/webpackDevServer.ts"],"names":[],"mappings":";;;AAAA,+BAAkC;AAClC,mCAAoC;AACpC,uDAAwD;AAExD;;;;;GAKG;AACH,SAAgB,qBAAqB,CACnC,MAA6B;IAE7B,OAAO,IAAI,iBAAU,CAAC,UAAU,CAAC,EAAE;QACjC,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEhD,IAAI,OAAe,CAAC;QAEpB,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE;YACtD,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,MAAM,eAAe,GAAI,MAAgC,CAAC,SAAS,IAAI,EAAE,CAAC;QAE1E,MAAM,gBAAgB,GAAG,eAAe,CAAC,WAAW,CAAC;QAErD,eAAe,CAAC,WAAW,GAAG,UAAU,MAAwB;YAC9D,IAAI,gBAAgB,EAAE;gBACpB,gBAAgB,CAAC,MAAM,CAAC,CAAC;aAC1B;YAED,MAAM,gBAAgB,GAAmC,MAAM,CAAC,OAAO,CAAC;YAExE,OAAO,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,GAClG,gBAAgB,EAAE,aAAa,EAAE,UACnC,EAAE,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,IAAI,gBAAgB,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;QAE7E,aAAa,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACnE,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC;AAjCD,sDAiCC","sourcesContent":["import { Observable } from \"rxjs\";\nimport webpack = require(\"webpack\");\nimport WebpackDevServer = require(\"webpack-dev-server\");\n\n/**\n * Run webpack with the given configuration.\n *\n * @param config the input webpack configuration\n * @returns { Observable<{ stats: webpack.Stats; baseUrl: string }> } the observable of webpack stats and base url\n */\nexport function doRunWebpackDevServer(\n config: webpack.Configuration\n): Observable<{ stats: webpack.Stats; baseUrl: string }> {\n return new Observable(subscriber => {\n const webpackCompiler = webpack.webpack(config);\n\n let baseUrl: string;\n\n webpackCompiler.hooks.done.tap(\"build-webpack\", stats => {\n subscriber.next({ stats, baseUrl });\n });\n\n const devServerConfig = (config as webpack.Configuration).devServer || {};\n\n const originalOnListen = devServerConfig.onListening;\n\n devServerConfig.onListening = function (server: WebpackDevServer) {\n if (originalOnListen) {\n originalOnListen(server);\n }\n\n const devServerOptions: WebpackDevServer.Configuration = server.options;\n\n baseUrl = `${server.options.https ? \"https\" : \"http\"}://${server.options.host}:${server.options.port}${\n devServerOptions?.devMiddleware?.publicPath\n }`;\n };\n\n const webpackServer = new WebpackDevServer(devServerConfig, webpackCompiler);\n\n webpackServer.start().catch((err: Error) => subscriber.error(err));\n return () => webpackServer.stop();\n });\n}\n"]}
1
+ {"version":3,"file":"webpackDevServer.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/iris-app/src/executors/serve/webpackDevServer.ts"],"names":[],"mappings":";;;AAAA,+BAAkC;AAClC,mCAAoC;AACpC,uDAAwD;AAExD;;;;;GAKG;AACH,SAAgB,qBAAqB,CACnC,MAA6B;IAE7B,OAAO,IAAI,iBAAU,CAAC,UAAU,CAAC,EAAE;QACjC,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEhD,IAAI,OAAe,CAAC;QAEpB,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE;YACtD,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,MAAM,eAAe,GAAI,MAAgC,CAAC,SAAS,IAAI,EAAE,CAAC;QAE1E,MAAM,gBAAgB,GAAG,eAAe,CAAC,WAAW,CAAC;QAErD,eAAe,CAAC,WAAW,GAAG,UAAU,MAAwB;YAC9D,IAAI,gBAAgB,EAAE;gBACpB,gBAAgB,CAAC,MAAM,CAAC,CAAC;aAC1B;YAED,MAAM,gBAAgB,GAAmC,MAAM,CAAC,OAAO,CAAC;YAExE,OAAO,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,IAC3E,MAAM,CAAC,OAAO,CAAC,IACjB,GAAG,gBAAgB,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;QACnD,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,IAAI,gBAAgB,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;QAE7E,aAAa,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACnE,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC;AAjCD,sDAiCC","sourcesContent":["import { Observable } from \"rxjs\";\nimport webpack = require(\"webpack\");\nimport WebpackDevServer = require(\"webpack-dev-server\");\n\n/**\n * Run webpack with the given configuration.\n *\n * @param config the input webpack configuration\n * @returns { Observable<{ stats: webpack.Stats; baseUrl: string }> } the observable of webpack stats and base url\n */\nexport function doRunWebpackDevServer(\n config: webpack.Configuration\n): Observable<{ stats: webpack.Stats; baseUrl: string }> {\n return new Observable(subscriber => {\n const webpackCompiler = webpack.webpack(config);\n\n let baseUrl: string;\n\n webpackCompiler.hooks.done.tap(\"build-webpack\", stats => {\n subscriber.next({ stats, baseUrl });\n });\n\n const devServerConfig = (config as webpack.Configuration).devServer || {};\n\n const originalOnListen = devServerConfig.onListening;\n\n devServerConfig.onListening = function (server: WebpackDevServer) {\n if (originalOnListen) {\n originalOnListen(server);\n }\n\n const devServerOptions: WebpackDevServer.Configuration = server.options;\n\n baseUrl = `${server.options.https ? \"https\" : \"http\"}://${server.options.host}:${\n server.options.port\n }${devServerOptions?.devMiddleware?.publicPath}`;\n };\n\n const webpackServer = new WebpackDevServer(devServerConfig, webpackCompiler);\n\n webpackServer.start().catch((err: Error) => subscriber.error(err));\n return () => webpackServer.stop();\n });\n}\n"]}
@@ -15,7 +15,5 @@
15
15
  "x-prompt": "what is build output path for this app?"
16
16
  }
17
17
  },
18
- "required": [
19
- "inputPath"
20
- ]
18
+ "required": ["inputPath"]
21
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"checkPackageVersion.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/iris-app/src/executors/utils/checkPackageVersion.ts"],"names":[],"mappings":"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","sourcesContent":["import { readJsonFile } from \"@nx/devkit\";\nimport { execSync } from \"child_process\";\nimport * as pacote from \"pacote\";\nimport * as semver from \"semver\";\nimport { version } from \"./version\";\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 if (!semver.satisfies(localVersion, range)) {\n const msg = `Package \"${pkg}\" outdated. Remote Version: ${range} Local version: ${localRange}. \\n Update package using command: 'npm i ${pkg}@${range}'`;\n if (throwError) {\n throw new Error(msg);\n } else {\n // eslint-disable-next-line no-console\n console.warn(\"⚠️ \" + msg + \" 👈\");\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 = dependencies[key];\n // If @trackunit dependencies are linked/added locally using \"file:\", skip the version check, used for E2E tests.\n if (!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 = Object.fromEntries(\n Object.entries(packageJsonLocal.dependencies).filter(([key]) => key.startsWith(\"@trackunit/\"))\n );\n const trackunitDevDependencies = Object.fromEntries(\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}"]}
1
+ {"version":3,"file":"checkPackageVersion.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/iris-app/src/executors/utils/checkPackageVersion.ts"],"names":[],"mappings":"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","sourcesContent":["import { readJsonFile } from \"@nx/devkit\";\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 if (!semver.satisfies(localVersion, range)) {\n const msg = `Package \"${pkg}\" outdated. Remote Version: ${range} Local version: ${localRange}. \\n Update package using command: 'npm i ${pkg}@${range}'`;\n if (throwError) {\n throw new Error(msg);\n } else {\n // eslint-disable-next-line no-console\n console.warn(\"⚠️ \" + msg + \" 👈\");\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 = dependencies[key];\n // If @trackunit dependencies are linked/added locally using \"file:\", skip the version check, used for E2E tests.\n if (!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 = Object.fromEntries(\n Object.entries(packageJsonLocal.dependencies).filter(([key]) => key.startsWith(\"@trackunit/\"))\n );\n const trackunitDevDependencies = Object.fromEntries(\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"]}
@@ -117,7 +117,9 @@ const getDefaultConfig = async (mode, nxRootDir, appDir, irisAppManifest) => {
117
117
  patterns: [
118
118
  {
119
119
  //globs must use / in path to be valid
120
- from: path.join(path.resolve(relativeAppDir.substring(1), "assets"), "**", "(*.png|*.svg|*.jpg|*.jpeg|*.webp|*.md)").replace(/\\/g, "/"),
120
+ from: path
121
+ .join(path.resolve(relativeAppDir.substring(1), "assets"), "**", "(*.png|*.svg|*.jpg|*.jpeg|*.webp|*.md)")
122
+ .replace(/\\/g, "/"),
121
123
  to: path.resolve(nxRootDir, "dist"),
122
124
  },
123
125
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"defaultWebpackConfig.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/iris-app/src/executors/utils/defaultWebpackConfig.ts"],"names":[],"mappings":"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","sourcesContent":["import { IrisAppManifest } from \"@trackunit/iris-app-api\";\nimport {\n getAliasesFromTsConfig,\n getExposedExtensions,\n getSharedDependencies,\n getTileWebpackDevServer,\n} from \"@trackunit/iris-app-build-utilities\";\nimport { TrackunitIrisAppWebpackPlugin } from \"@trackunit/iris-app-webpack-plugin\";\nimport * as path from \"path\";\nimport * as webpack from \"webpack\";\nimport \"webpack-dev-server\";\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst CopyWebpackPlugin = require(\"copy-webpack-plugin\");\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<webpack.Configuration> } the default webpack config\n */\nexport const getDefaultConfig = async (\n mode: \"production\" | \"development\",\n nxRootDir: string,\n appDir: string,\n irisAppManifest: IrisAppManifest\n): Promise<webpack.Configuration> => {\n const relativeAppDir = appDir.split(nxRootDir)[1];\n return {\n mode: mode,\n output: {\n publicPath: \"auto\",\n path: path.join(nxRootDir, \"dist\", relativeAppDir),\n },\n\n entry: path.resolve(__dirname, \"src\") + \"/index.js\",\n devtool: false,\n devServer: await getTileWebpackDevServer(),\n resolve: {\n extensions: [\".tsx\", \".ts\", \".jsx\", \".js\", \".json\"],\n alias: await getAliasesFromTsConfig({ nxRootDir }),\n },\n module: {\n rules: [\n {\n test: /\\.m?js/,\n type: \"javascript/auto\",\n resolve: {\n fullySpecified: false,\n },\n },\n {\n test: /\\.svg$/,\n type: \"asset/resource\",\n },\n {\n test: /\\.(png|jpg|gif|woff|ico)$/,\n exclude: /(node_modules)/,\n type: \"asset/resource\",\n },\n {\n test: /\\.(png|jpe?g|gif|svg|eot|ttf|woff|woff2)$/i,\n include: /(node_modules\\/@okta)/,\n type: \"asset/resource\",\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 test: /\\.json$/,\n loader: \"json-loader\",\n },\n {\n test: /\\.(j|t)sx?$/,\n exclude: /(vendor|node_modules|dist)/,\n use: {\n loader: \"esbuild-loader\",\n options: {\n loader: \"tsx\",\n jsx: \"automatic\",\n target: \"es6\",\n },\n },\n },\n ],\n },\n\n plugins: [\n new webpack.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 CopyWebpackPlugin({\n patterns: [\n {\n //globs must use / in path to be valid\n from: path.join(path.resolve(relativeAppDir.substring(1), \"assets\"), \"**\", \"(*.png|*.svg|*.jpg|*.jpeg|*.webp|*.md)\").replace(/\\\\/g, \"/\"),\n to: path.resolve(nxRootDir, \"dist\"),\n },\n ],\n }),\n ].filter(Boolean),\n };\n};\n"]}
1
+ {"version":3,"file":"defaultWebpackConfig.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/iris-app/src/executors/utils/defaultWebpackConfig.ts"],"names":[],"mappings":"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","sourcesContent":["import { IrisAppManifest } from \"@trackunit/iris-app-api\";\nimport {\n getAliasesFromTsConfig,\n getExposedExtensions,\n getSharedDependencies,\n getTileWebpackDevServer,\n} from \"@trackunit/iris-app-build-utilities\";\nimport { TrackunitIrisAppWebpackPlugin } from \"@trackunit/iris-app-webpack-plugin\";\nimport * as path from \"path\";\nimport * as webpack from \"webpack\";\nimport \"webpack-dev-server\";\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst CopyWebpackPlugin = require(\"copy-webpack-plugin\");\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<webpack.Configuration> } the default webpack config\n */\nexport const getDefaultConfig = async (\n mode: \"production\" | \"development\",\n nxRootDir: string,\n appDir: string,\n irisAppManifest: IrisAppManifest\n): Promise<webpack.Configuration> => {\n const relativeAppDir = appDir.split(nxRootDir)[1];\n return {\n mode: mode,\n output: {\n publicPath: \"auto\",\n path: path.join(nxRootDir, \"dist\", relativeAppDir),\n },\n\n entry: path.resolve(__dirname, \"src\") + \"/index.js\",\n devtool: false,\n devServer: await getTileWebpackDevServer(),\n resolve: {\n extensions: [\".tsx\", \".ts\", \".jsx\", \".js\", \".json\"],\n alias: await getAliasesFromTsConfig({ nxRootDir }),\n },\n module: {\n rules: [\n {\n test: /\\.m?js/,\n type: \"javascript/auto\",\n resolve: {\n fullySpecified: false,\n },\n },\n {\n test: /\\.svg$/,\n type: \"asset/resource\",\n },\n {\n test: /\\.(png|jpg|gif|woff|ico)$/,\n exclude: /(node_modules)/,\n type: \"asset/resource\",\n },\n {\n test: /\\.(png|jpe?g|gif|svg|eot|ttf|woff|woff2)$/i,\n include: /(node_modules\\/@okta)/,\n type: \"asset/resource\",\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 test: /\\.json$/,\n loader: \"json-loader\",\n },\n {\n test: /\\.(j|t)sx?$/,\n exclude: /(vendor|node_modules|dist)/,\n use: {\n loader: \"esbuild-loader\",\n options: {\n loader: \"tsx\",\n jsx: \"automatic\",\n target: \"es6\",\n },\n },\n },\n ],\n },\n\n plugins: [\n new webpack.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 CopyWebpackPlugin({\n patterns: [\n {\n //globs must use / in path to be valid\n from: path\n .join(path.resolve(relativeAppDir.substring(1), \"assets\"), \"**\", \"(*.png|*.svg|*.jpg|*.jpeg|*.webp|*.md)\")\n .replace(/\\\\/g, \"/\"),\n to: path.resolve(nxRootDir, \"dist\"),\n },\n ],\n }),\n ].filter(Boolean),\n };\n};\n"]}
@@ -29,7 +29,5 @@
29
29
  "default": true
30
30
  }
31
31
  },
32
- "required": [
33
- "name"
34
- ]
32
+ "required": ["name"]
35
33
  }
@@ -120,9 +120,9 @@ const IrisAppExtensionGenerator = async function (tree, options) {
120
120
  return tsConfigLib;
121
121
  });
122
122
  (0, fileUpdater_1.updateFileInTree)(tree, (0, devkit_1.joinPathFragments)(normalizedOptions.projectRoot, "jest.config.ts"), fileContent => (0, astUtils_1.addPropertyWithName)(fileContent, "moduleNameMapper", {
123
- '@trackunit/css-core': 'jest-transform-stub',
124
- '@trackunit/ui-icons/icons-sprite-outline.svg': 'jest-transform-stub',
125
- '@trackunit/ui-icons/icons-sprite-solid.svg': 'jest-transform-stub',
123
+ "@trackunit/css-core": "jest-transform-stub",
124
+ "@trackunit/ui-icons/icons-sprite-outline.svg": "jest-transform-stub",
125
+ "@trackunit/ui-icons/icons-sprite-solid.svg": "jest-transform-stub",
126
126
  }));
127
127
  await (0, devkit_1.formatFiles)(tree);
128
128
  (0, devkit_1.installPackagesTask)(tree, true);
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/iris-app/src/generators/extend/generator.ts"],"names":[],"mappings":";;;;AAAA,uCAWoB;AACpB,+BAAmD;AACnD,+EAA0E;AAC1E,uCAAoC;AACpC,qCAA6C;AAE7C,kEAAkC;AAClC,uCAAkC;AAClC,+CAAyB;AACzB,mDAA6B;AAC7B,uCAAqD;AACrD,uDAA+D;AAC/D,yDAA2D;AAC3D,iDAAmE;AAYnE,SAAS,gBAAgB,CAAC,IAAU,EAAE,OAAwC;IAC5E,MAAM,IAAI,GAAG,IAAA,cAAK,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;IAC1C,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAA,cAAK,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACnG,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IACxE,MAAM,gBAAgB,GAAG,IAAA,mBAAS,EAAC,IAAI,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAA,2BAAkB,EAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,GAAG,QAAQ,CAAC,OAAO,IAAI,gBAAgB,EAAE,CAAC;IAC9D,MAAM,UAAU,GAAG,GAAG,QAAQ,CAAC,OAAO,IAAI,gBAAgB,MAAM,CAAC;IAEjE,MAAM,QAAQ,GAAG,IAAA,2BAAW,EAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;KAC7D;IACD,MAAM,UAAU,GAAG,IAAI,QAAQ,IAAI,gBAAgB,EAAE,CAAC;IAEtD,OAAO;QACL,GAAG,OAAO;QACV,WAAW;QACX,WAAW;QACX,gBAAgB;QAChB,gBAAgB;QAChB,UAAU;QACV,UAAU;KACX,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACI,MAAM,yBAAyB,GAAG,KAAK,WAAW,IAAU,EAAE,OAAwC;IAC3G,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE3D,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAElE,MAAM,eAAe,GAAG;QACtB,GAAG,iBAAiB;QACpB,GAAG,IAAA,cAAK,EAAC,iBAAiB,CAAC,IAAI,CAAC;QAChC,cAAc,EAAE,IAAA,uBAAc,EAAC,iBAAiB,CAAC,WAAW,CAAC;QAC7D,QAAQ,EAAE,EAAE;KACb,CAAC;IACF,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,IAAI,CAAC;IAEpD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAA,2BAAkB,EAAC,IAAI,CAAC,CAAC,OAAO,IAAI,iBAAiB,CAAC,GAAG,EAAE,CAAC,EAAE;QAChF,MAAM,IAAI,KAAK,CACb,2BAA2B,IAAA,2BAAkB,EAAC,IAAI,CAAC,CAAC,OAAO,IACzD,iBAAiB,CAAC,GACpB,yCAAyC,CAC1C,CAAC;KACH;IAED,MAAM,YAAY,GAAG,GAAG,IAAA,2BAAkB,EAAC,IAAI,CAAC,CAAC,OAAO,IAAI,iBAAiB,CAAC,GAAG,uBAAuB,CAAC;IACzG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;QAC9B,MAAM,IAAI,KAAK,CACb,kDAAkD,YAAY,4EAA4E,CAC3I,CAAC;KACH;IACD,IAAA,sBAAa,EACX,IAAI,EACJ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,oBAAoB,CAAC,EACnD,iBAAiB,CAAC,WAAW,EAC7B,eAAe,CAChB,CAAC;IAEF,IAAI,iBAAiB,CAAC,iBAAiB,EAAE;QACvC,IAAA,qCAA4B,EAC1B,IAAI,EACJ,EAAE,EACF;YACE,GAAG,8BAAe;YAClB,GAAG,+BAAgB;SACpB,CACF,CAAC;KACH;IAED,MAAM,MAAM,GAAW;QACrB,IAAI,EAAE,iBAAiB,CAAC,IAAI;QAC5B,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE,IAAI;QACZ,cAAc,EAAE,MAAM;QACtB,MAAM,EAAE,eAAM,CAAC,MAAM;QACrB,OAAO,EAAE,KAAK;QACd,eAAe,EAAE,IAAI;QACrB,SAAS,EAAE,iBAAiB,CAAC,SAAS;QACtC,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,IAAI;KACtB,CAAC;IACF,MAAM,IAAA,wBAAgB,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAErC,IAAI,oBAAoB,KAAK,kBAAkB,EAAE;QAC/C,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,iBAAiB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;KACjH;IAED,MAAM,gBAAgB,GAAG,IAAA,8BAAyB,EAAC,IAAI,CAAC,CAAC;IACzD,IAAI,CAAC,gBAAgB,EAAE;QACrB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;KACtD;IACD,IAAA,mBAAU,EAAC,IAAI,EAAE,gBAAgB,EAAE,YAAY,CAAC,EAAE;QAChD,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,GAAG;YACjE,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,uBAAuB,CAAC;SAClE,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,iGAAiG;IACjG,MAAM,OAAO,GAAG,IAAI,kBAAO,CAAC;QAC1B,gBAAgB,EAAE,GAAG,IAAA,2BAAkB,EAAC,IAAI,CAAC,CAAC,OAAO,IAAI,iBAAiB,CAAC,GAAG,oBAAoB;KACnG,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,OAAO,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAE5D,QAAQ,CAAC,oBAAoB,CAAC;QAC5B,eAAe,EAAE,iBAAiB,CAAC,UAAU;QAC7C,aAAa,EAAE,iBAAiB,CAAC,gBAAgB;KAClD,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;QAChC,IAAI,eAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE;YACnC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE;gBAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,0BAA0B,CAAC,qBAAU,CAAC,sBAAsB,CAAC,CAAC;gBACjF,KAAK,CAAC,UAAU,CAAC,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,CAAC,CAAC;aAC3D;SACF;IACH,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEtB,IAAI,CAAC,MAAM,CAAC,IAAA,0BAAiB,EAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IAEjF,IAAA,mBAAU,EAAC,IAAI,EAAE,IAAA,0BAAiB,EAAC,iBAAiB,CAAC,WAAW,EAAE,mBAAmB,CAAC,EAAE,WAAW,CAAC,EAAE;QACpG,WAAW,CAAC,OAAO,GAAG,CAAC,GAAG,WAAW,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;QACxE,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,IAAA,8BAAgB,EAAC,IAAI,EAAE,IAAA,0BAAiB,EAAC,iBAAiB,CAAC,WAAW,EAAE,gBAAgB,CAAC,EAAE,WAAW,CAAC,EAAE,CACvG,IAAA,8BAAmB,EAAC,WAAW,EAAE,kBAAkB,EAAE;QACnD,qBAAqB,EAAE,qBAAqB;QAC5C,8CAA8C,EAAE,qBAAqB;QACrE,4CAA4C,EAAE,qBAAqB;KACpE,CAAC,CACH,CAAC;IAEF,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IACxB,IAAA,4BAAmB,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAChC,OAAO,GAAG,EAAE;QACV,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,oFAAoF,CAAC,CAAC;IACpG,CAAC,CAAC;AACJ,CAAC,CAAC;AAtHW,QAAA,yBAAyB,6BAsHpC;AACF,MAAM,aAAa,GAAG,KAAK,EAAE,IAAU,EAAE,OAAwC,EAAE,EAAE;IACnF,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;QAChB,MAAM,OAAO,GAAG,EAAE;aACf,WAAW,CAAC,IAAA,2BAAkB,EAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aACtE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAEtC,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACvB,MAAM,eAAe,GAAG,EAAE;iBACvB,WAAW,CAAC,GAAG,IAAA,2BAAkB,EAAC,IAAI,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;iBAC1F,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,sBAAsB,CAAC,CAAC;YAEtD,IAAI,eAAe,EAAE;gBACnB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC5B;iBAAM;gBACL,MAAM,UAAU,GAAG,EAAE;qBAClB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAA,2BAAkB,EAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;qBAC9F,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;gBACtC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;oBAC7B,MAAM,qBAAqB,GAAG,EAAE;yBAC7B,WAAW,CAAC,GAAG,IAAA,2BAAkB,EAAC,IAAI,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE;wBACnF,aAAa,EAAE,IAAI;qBACpB,CAAC;yBACD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,sBAAsB,CAAC,CAAC;oBAEtD,IAAI,qBAAqB,EAAE;wBACzB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;qBACvD;gBACH,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YACzB,OAAO,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;SAC3B;aAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;SACnF;aAAM;YACL,MAAM,YAAY,GAAG;gBACnB,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,qCAAqC;gBAC9C,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;aACpC,CAAC;YACF,MAAM,IAAA,iBAAM,EAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,MAAc,EAAE,EAAE;gBACjD,8CAA8C;gBAC9C,2DAA2D;gBAC3D,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;SACJ;KACF;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,kBAAe,iCAAyB,CAAC","sourcesContent":["import {\n addDependenciesToPackageJson,\n formatFiles,\n generateFiles,\n getWorkspaceLayout,\n installPackagesTask,\n joinPathFragments,\n names,\n offsetFromRoot,\n Tree,\n updateJson,\n} from \"@nx/devkit\";\nimport { getRootTsConfigPathInTree } from \"@nx/js\";\nimport { getNpmScope } from \"@nx/js/src/utils/package-json/get-npm-scope\";\nimport { Linter } from \"@nx/linter\";\nimport { libraryGenerator } from \"@nx/react\";\nimport { Schema } from \"@nx/react/src/generators/library/schema\";\nimport camelCase from \"camelcase\";\nimport { prompt } from \"enquirer\";\nimport * as fs from \"fs\";\nimport * as path from \"path\";\nimport { Node, Project, SyntaxKind } from \"ts-morph\";\nimport { addPropertyWithName } from \"../../utils/ast/astUtils\";\nimport { updateFileInTree } from \"../../utils/fileUpdater\";\nimport { spaDependencies, testDependencies } from \"./dependencies\";\nimport { IrisAppExtensionGeneratorSchema } from \"./schema\";\n\ninterface NormalizedSchema extends IrisAppExtensionGeneratorSchema {\n projectName: string;\n projectRoot: string;\n projectDirectory: string;\n projectCamelcase: string;\n importPath: string;\n sourceRoot: string;\n}\n\nfunction normalizeOptions(tree: Tree, options: IrisAppExtensionGeneratorSchema): NormalizedSchema {\n const name = names(options.name).fileName;\n const projectDirectory = options.directory ? `${names(options.directory).fileName}/${name}` : name;\n const projectName = projectDirectory.replace(new RegExp(\"/\", \"g\"), \"-\");\n const projectCamelcase = camelCase(name);\n const wsLayout = getWorkspaceLayout(tree);\n const projectRoot = `${wsLayout.libsDir}/${projectDirectory}`;\n const sourceRoot = `${wsLayout.libsDir}/${projectDirectory}/src`;\n\n const npmScope = getNpmScope(tree);\n if (!npmScope) {\n throw new Error(\"Could not find npm scope in package.json\");\n }\n const importPath = `@${npmScope}/${projectDirectory}`;\n\n return {\n ...options,\n projectName,\n projectRoot,\n projectDirectory,\n projectCamelcase,\n importPath,\n sourceRoot,\n };\n}\n\n/**\n * Iris App Extension Generator.\n *\n * @param tree the nx tree\n * @param options the generator options\n * @returns { Promise<void> } void\n */\nexport const IrisAppExtensionGenerator = async function (tree: Tree, options: IrisAppExtensionGeneratorSchema) {\n const adjustedOptions = await updateAppName(tree, options);\n\n const normalizedOptions = normalizeOptions(tree, adjustedOptions);\n\n const templateOptions = {\n ...normalizedOptions,\n ...names(normalizedOptions.name),\n offsetFromRoot: offsetFromRoot(normalizedOptions.projectRoot),\n template: \"\",\n };\n const irisAppExtensionType = normalizedOptions.type;\n\n if (!tree.exists(`${getWorkspaceLayout(tree).appsDir}/${normalizedOptions.app}`)) {\n throw new Error(\n `The app does not exist: ${getWorkspaceLayout(tree).appsDir}/${\n normalizedOptions.app\n } make sure you enter the right app name`\n );\n }\n\n const manifestPath = `${getWorkspaceLayout(tree).appsDir}/${normalizedOptions.app}/iris-app-manifest.ts`;\n if (!tree.exists(manifestPath)) {\n throw new Error(\n `The app does not have an iris-app-manifest.ts: ${manifestPath} make sure you enter the right app name, which has an iris-app-manifest.ts`\n );\n }\n generateFiles(\n tree,\n path.join(__dirname, \"files\", irisAppExtensionType),\n normalizedOptions.projectRoot,\n templateOptions\n );\n\n if (normalizedOptions.updatePackageJson) {\n addDependenciesToPackageJson(\n tree,\n {},\n {\n ...spaDependencies,\n ...testDependencies,\n }\n );\n }\n\n const schema: Schema = {\n name: normalizedOptions.name,\n style: \"none\",\n skipFormat: false,\n strict: true,\n unitTestRunner: \"jest\",\n linter: Linter.EsLint,\n routing: false,\n pascalCaseFiles: true,\n directory: normalizedOptions.directory,\n skipTsConfig: false,\n skipPackageJson: true,\n };\n await libraryGenerator(tree, schema);\n\n if (irisAppExtensionType !== \"REPORT_EXTENSION\") {\n generateFiles(tree, path.join(__dirname, \"files\", \"react-app\"), normalizedOptions.projectRoot, templateOptions);\n }\n\n const rootTsConfigPath = getRootTsConfigPathInTree(tree);\n if (!rootTsConfigPath) {\n throw new Error(\"Could not find root tsconfig.json\");\n }\n updateJson(tree, rootTsConfigPath, tsConfigBase => {\n tsConfigBase.compilerOptions.paths[normalizedOptions.importPath] = [\n path.join(normalizedOptions.projectRoot, \"extension-manifest.ts\"),\n ];\n return tsConfigBase;\n });\n\n //TODO: Change the following to update the manifest in the virtual Tree - not on the file system.\n const project = new Project({\n tsConfigFilePath: `${getWorkspaceLayout(tree).appsDir}/${normalizedOptions.app}/tsconfig.app.json`,\n });\n\n const manifest = project.getSourceFileOrThrow(manifestPath);\n\n manifest.addImportDeclaration({\n moduleSpecifier: normalizedOptions.importPath,\n defaultImport: normalizedOptions.projectCamelcase,\n });\n\n manifest.forEachDescendant(node => {\n if (Node.isPropertyAssignment(node)) {\n if (node.getText().indexOf(\"extensions\") !== -1) {\n const array = node.getFirstChildByKindOrThrow(SyntaxKind.ArrayLiteralExpression);\n array.addElement(`${normalizedOptions.projectCamelcase}`);\n }\n }\n });\n await manifest.save();\n\n tree.delete(joinPathFragments(normalizedOptions.projectRoot, \"src\", \"index.ts\"));\n\n updateJson(tree, joinPathFragments(normalizedOptions.projectRoot, \"tsconfig.lib.json\"), tsConfigLib => {\n tsConfigLib.include = [...tsConfigLib.include, \"extension-manifest.ts\"];\n return tsConfigLib;\n });\n\n updateFileInTree(tree, joinPathFragments(normalizedOptions.projectRoot, \"jest.config.ts\"), fileContent =>\n addPropertyWithName(fileContent, \"moduleNameMapper\", {\n '@trackunit/css-core': 'jest-transform-stub',\n '@trackunit/ui-icons/icons-sprite-outline.svg': 'jest-transform-stub',\n '@trackunit/ui-icons/icons-sprite-solid.svg': 'jest-transform-stub',\n })\n );\n\n await formatFiles(tree);\n installPackagesTask(tree, true);\n return () => {\n // eslint-disable-next-line no-console\n console.log(\"🥳 Successfully created an app extensions and it is already added to the Iris App!\");\n };\n};\nconst updateAppName = async (tree: Tree, options: IrisAppExtensionGeneratorSchema) => {\n if (!options.app) {\n const folders = fs\n .readdirSync(getWorkspaceLayout(tree).appsDir, { withFileTypes: true })\n .filter(item => item.isDirectory());\n\n const tileApps: string[] = [];\n\n folders.forEach(folder => {\n const irisAppManifest = fs\n .readdirSync(`${getWorkspaceLayout(tree).appsDir}/${folder.name}`, { withFileTypes: true })\n .find(item => item.name === \"iris-app-manifest.ts\");\n\n if (irisAppManifest) {\n tileApps.push(folder.name);\n } else {\n const subFolders = fs\n .readdirSync(path.join(getWorkspaceLayout(tree).appsDir, folder.name), { withFileTypes: true })\n .filter(item => item.isDirectory());\n subFolders.forEach(subFolder => {\n const subDirIrisAppManifest = fs\n .readdirSync(`${getWorkspaceLayout(tree).appsDir}/${folder.name}/${subFolder.name}`, {\n withFileTypes: true,\n })\n .find(item => item.name === \"iris-app-manifest.ts\");\n\n if (subDirIrisAppManifest) {\n tileApps.push(path.join(folder.name, subFolder.name));\n }\n });\n }\n });\n\n if (tileApps.length === 1) {\n options.app = tileApps[0];\n } else if (tileApps.length === 0) {\n throw new Error(\"Please add an iris-app using: nx g @trackunit/iris-app:create \");\n } else {\n const promptObject = {\n name: \"app\",\n message: \"Select iris-app for this extension:\",\n type: \"select\",\n choices: tileApps.map(item => item),\n };\n await prompt(promptObject).then((values: object) => {\n // @ts-ignore - suppressImplicitAnyIndexErrors\n // eslint-disable-next-line @typescript-eslint/dot-notation\n options.app = values[\"app\"];\n });\n }\n }\n return options;\n};\n\nexport default IrisAppExtensionGenerator;\n"]}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/iris-app/src/generators/extend/generator.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n addDependenciesToPackageJson,\n formatFiles,\n generateFiles,\n getWorkspaceLayout,\n installPackagesTask,\n joinPathFragments,\n names,\n offsetFromRoot,\n Tree,\n updateJson,\n} from \"@nx/devkit\";\nimport { getRootTsConfigPathInTree } from \"@nx/js\";\nimport { getNpmScope } from \"@nx/js/src/utils/package-json/get-npm-scope\";\nimport { Linter } from \"@nx/linter\";\nimport { libraryGenerator } from \"@nx/react\";\nimport { Schema } from \"@nx/react/src/generators/library/schema\";\nimport camelCase from \"camelcase\";\nimport { prompt } from \"enquirer\";\nimport * as fs from \"fs\";\nimport * as path from \"path\";\nimport { Node, Project, SyntaxKind } from \"ts-morph\";\nimport { addPropertyWithName } from \"../../utils/ast/astUtils\";\nimport { updateFileInTree } from \"../../utils/fileUpdater\";\nimport { spaDependencies, testDependencies } from \"./dependencies\";\nimport { IrisAppExtensionGeneratorSchema } from \"./schema\";\n\ninterface NormalizedSchema extends IrisAppExtensionGeneratorSchema {\n projectName: string;\n projectRoot: string;\n projectDirectory: string;\n projectCamelcase: string;\n importPath: string;\n sourceRoot: string;\n}\n\nfunction normalizeOptions(tree: Tree, options: IrisAppExtensionGeneratorSchema): NormalizedSchema {\n const name = names(options.name).fileName;\n const projectDirectory = options.directory ? `${names(options.directory).fileName}/${name}` : name;\n const projectName = projectDirectory.replace(new RegExp(\"/\", \"g\"), \"-\");\n const projectCamelcase = camelCase(name);\n const wsLayout = getWorkspaceLayout(tree);\n const projectRoot = `${wsLayout.libsDir}/${projectDirectory}`;\n const sourceRoot = `${wsLayout.libsDir}/${projectDirectory}/src`;\n\n const npmScope = getNpmScope(tree);\n if (!npmScope) {\n throw new Error(\"Could not find npm scope in package.json\");\n }\n const importPath = `@${npmScope}/${projectDirectory}`;\n\n return {\n ...options,\n projectName,\n projectRoot,\n projectDirectory,\n projectCamelcase,\n importPath,\n sourceRoot,\n };\n}\n\n/**\n * Iris App Extension Generator.\n *\n * @param tree the nx tree\n * @param options the generator options\n * @returns { Promise<void> } void\n */\nexport const IrisAppExtensionGenerator = async function (tree: Tree, options: IrisAppExtensionGeneratorSchema) {\n const adjustedOptions = await updateAppName(tree, options);\n\n const normalizedOptions = normalizeOptions(tree, adjustedOptions);\n\n const templateOptions = {\n ...normalizedOptions,\n ...names(normalizedOptions.name),\n offsetFromRoot: offsetFromRoot(normalizedOptions.projectRoot),\n template: \"\",\n };\n const irisAppExtensionType = normalizedOptions.type;\n\n if (!tree.exists(`${getWorkspaceLayout(tree).appsDir}/${normalizedOptions.app}`)) {\n throw new Error(\n `The app does not exist: ${getWorkspaceLayout(tree).appsDir}/${\n normalizedOptions.app\n } make sure you enter the right app name`\n );\n }\n\n const manifestPath = `${getWorkspaceLayout(tree).appsDir}/${normalizedOptions.app}/iris-app-manifest.ts`;\n if (!tree.exists(manifestPath)) {\n throw new Error(\n `The app does not have an iris-app-manifest.ts: ${manifestPath} make sure you enter the right app name, which has an iris-app-manifest.ts`\n );\n }\n generateFiles(\n tree,\n path.join(__dirname, \"files\", irisAppExtensionType),\n normalizedOptions.projectRoot,\n templateOptions\n );\n\n if (normalizedOptions.updatePackageJson) {\n addDependenciesToPackageJson(\n tree,\n {},\n {\n ...spaDependencies,\n ...testDependencies,\n }\n );\n }\n\n const schema: Schema = {\n name: normalizedOptions.name,\n style: \"none\",\n skipFormat: false,\n strict: true,\n unitTestRunner: \"jest\",\n linter: Linter.EsLint,\n routing: false,\n pascalCaseFiles: true,\n directory: normalizedOptions.directory,\n skipTsConfig: false,\n skipPackageJson: true,\n };\n await libraryGenerator(tree, schema);\n\n if (irisAppExtensionType !== \"REPORT_EXTENSION\") {\n generateFiles(tree, path.join(__dirname, \"files\", \"react-app\"), normalizedOptions.projectRoot, templateOptions);\n }\n\n const rootTsConfigPath = getRootTsConfigPathInTree(tree);\n if (!rootTsConfigPath) {\n throw new Error(\"Could not find root tsconfig.json\");\n }\n updateJson(tree, rootTsConfigPath, tsConfigBase => {\n tsConfigBase.compilerOptions.paths[normalizedOptions.importPath] = [\n path.join(normalizedOptions.projectRoot, \"extension-manifest.ts\"),\n ];\n return tsConfigBase;\n });\n\n //TODO: Change the following to update the manifest in the virtual Tree - not on the file system.\n const project = new Project({\n tsConfigFilePath: `${getWorkspaceLayout(tree).appsDir}/${normalizedOptions.app}/tsconfig.app.json`,\n });\n\n const manifest = project.getSourceFileOrThrow(manifestPath);\n\n manifest.addImportDeclaration({\n moduleSpecifier: normalizedOptions.importPath,\n defaultImport: normalizedOptions.projectCamelcase,\n });\n\n manifest.forEachDescendant(node => {\n if (Node.isPropertyAssignment(node)) {\n if (node.getText().indexOf(\"extensions\") !== -1) {\n const array = node.getFirstChildByKindOrThrow(SyntaxKind.ArrayLiteralExpression);\n array.addElement(`${normalizedOptions.projectCamelcase}`);\n }\n }\n });\n await manifest.save();\n\n tree.delete(joinPathFragments(normalizedOptions.projectRoot, \"src\", \"index.ts\"));\n\n updateJson(tree, joinPathFragments(normalizedOptions.projectRoot, \"tsconfig.lib.json\"), tsConfigLib => {\n tsConfigLib.include = [...tsConfigLib.include, \"extension-manifest.ts\"];\n return tsConfigLib;\n });\n\n updateFileInTree(tree, joinPathFragments(normalizedOptions.projectRoot, \"jest.config.ts\"), fileContent =>\n addPropertyWithName(fileContent, \"moduleNameMapper\", {\n \"@trackunit/css-core\": \"jest-transform-stub\",\n \"@trackunit/ui-icons/icons-sprite-outline.svg\": \"jest-transform-stub\",\n \"@trackunit/ui-icons/icons-sprite-solid.svg\": \"jest-transform-stub\",\n })\n );\n\n await formatFiles(tree);\n installPackagesTask(tree, true);\n return () => {\n // eslint-disable-next-line no-console\n console.log(\"🥳 Successfully created an app extensions and it is already added to the Iris App!\");\n };\n};\nconst updateAppName = async (tree: Tree, options: IrisAppExtensionGeneratorSchema) => {\n if (!options.app) {\n const folders = fs\n .readdirSync(getWorkspaceLayout(tree).appsDir, { withFileTypes: true })\n .filter(item => item.isDirectory());\n\n const tileApps: string[] = [];\n\n folders.forEach(folder => {\n const irisAppManifest = fs\n .readdirSync(`${getWorkspaceLayout(tree).appsDir}/${folder.name}`, { withFileTypes: true })\n .find(item => item.name === \"iris-app-manifest.ts\");\n\n if (irisAppManifest) {\n tileApps.push(folder.name);\n } else {\n const subFolders = fs\n .readdirSync(path.join(getWorkspaceLayout(tree).appsDir, folder.name), { withFileTypes: true })\n .filter(item => item.isDirectory());\n subFolders.forEach(subFolder => {\n const subDirIrisAppManifest = fs\n .readdirSync(`${getWorkspaceLayout(tree).appsDir}/${folder.name}/${subFolder.name}`, {\n withFileTypes: true,\n })\n .find(item => item.name === \"iris-app-manifest.ts\");\n\n if (subDirIrisAppManifest) {\n tileApps.push(path.join(folder.name, subFolder.name));\n }\n });\n }\n });\n\n if (tileApps.length === 1) {\n options.app = tileApps[0];\n } else if (tileApps.length === 0) {\n throw new Error(\"Please add an iris-app using: nx g @trackunit/iris-app:create \");\n } else {\n const promptObject = {\n name: \"app\",\n message: \"Select iris-app for this extension:\",\n type: \"select\",\n choices: tileApps.map(item => item),\n };\n await prompt(promptObject).then((values: object) => {\n // @ts-ignore - suppressImplicitAnyIndexErrors\n // eslint-disable-next-line @typescript-eslint/dot-notation\n options.app = values[\"app\"];\n });\n }\n }\n return options;\n};\n\nexport default IrisAppExtensionGenerator;\n"]}
@@ -57,9 +57,5 @@
57
57
  }
58
58
  }
59
59
  },
60
- "required": [
61
- "name",
62
- "directory",
63
- "type"
64
- ]
65
- }
60
+ "required": ["name", "directory", "type"]
61
+ }
@@ -5,4 +5,4 @@
5
5
  "type": "object",
6
6
  "properties": {},
7
7
  "required": []
8
- }
8
+ }