@trackunit/iris-app 0.0.370 → 0.0.372
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 +7 -0
- package/executors.json +4 -4
- package/package.json +5 -5
- package/src/executors/submit/executor.d.ts +10 -0
- package/src/executors/{publish → submit}/executor.js +13 -13
- package/src/executors/submit/executor.js.map +1 -0
- package/src/executors/submit/schema.d.ts +3 -0
- package/src/executors/{publish → submit}/schema.json +2 -4
- package/src/generators/create/generator.js +2 -2
- package/src/generators/create/generator.js.map +1 -1
- package/src/executors/publish/executor.d.ts +0 -10
- package/src/executors/publish/executor.js.map +0 -1
- package/src/executors/publish/schema.d.ts +0 -3
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [0.0.372](https://github.com/Trackunit/manager/compare/iris-app/0.0.371...iris-app/0.0.372) (2023-09-26)
|
|
6
|
+
|
|
7
|
+
### Dependency Updates
|
|
8
|
+
|
|
9
|
+
* `iris-app-build-utilities` updated to version `0.0.371`
|
|
10
|
+
## [0.0.371](https://github.com/Trackunit/manager/compare/iris-app/0.0.370...iris-app/0.0.371) (2023-09-25)
|
|
11
|
+
|
|
5
12
|
## [0.0.370](https://github.com/Trackunit/manager/compare/iris-app/0.0.369...iris-app/0.0.370) (2023-09-21)
|
|
6
13
|
|
|
7
14
|
### Dependency Updates
|
package/executors.json
CHANGED
|
@@ -11,10 +11,10 @@
|
|
|
11
11
|
"schema": "./src/executors/build/schema.json",
|
|
12
12
|
"description": "build executor"
|
|
13
13
|
},
|
|
14
|
-
"
|
|
15
|
-
"implementation": "./src/executors/
|
|
16
|
-
"schema": "./src/executors/
|
|
17
|
-
"description": "
|
|
14
|
+
"submit": {
|
|
15
|
+
"implementation": "./src/executors/submit/executor",
|
|
16
|
+
"schema": "./src/executors/submit/schema.json",
|
|
17
|
+
"description": "submit executor"
|
|
18
18
|
},
|
|
19
19
|
"unpublish": {
|
|
20
20
|
"implementation": "./src/executors/unpublish/executor",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trackunit/iris-app",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.372",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
5
5
|
"main": "./src/index.js",
|
|
6
6
|
"generators": "./generators.json",
|
|
@@ -47,14 +47,14 @@
|
|
|
47
47
|
"@floating-ui/react": "0.25.4",
|
|
48
48
|
"@trackunit/css-class-variance-utilities": "0.0.14",
|
|
49
49
|
"@trackunit/css-component-tokens": "0.0.40",
|
|
50
|
-
"@trackunit/css-components": "0.0.
|
|
50
|
+
"@trackunit/css-components": "0.0.415",
|
|
51
51
|
"@trackunit/css-core": "0.0.95",
|
|
52
52
|
"@trackunit/css-tailwind": "0.0.87",
|
|
53
53
|
"@trackunit/css-tailwind-custom-properties-plugin": "0.0.31",
|
|
54
54
|
"@trackunit/iris-app-api": "0.0.117",
|
|
55
|
-
"@trackunit/iris-app-build-utilities": "0.0.
|
|
55
|
+
"@trackunit/iris-app-build-utilities": "0.0.241",
|
|
56
56
|
"@trackunit/iris-app-webpack-plugin": "0.0.130",
|
|
57
|
-
"@trackunit/react-components": "0.1.
|
|
57
|
+
"@trackunit/react-components": "0.1.162",
|
|
58
58
|
"@trackunit/ui-design-tokens": "0.0.77",
|
|
59
59
|
"@trackunit/ui-icons": "0.0.76",
|
|
60
60
|
"capitalize": "2.0.4",
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"react-useportal": "1.0.18",
|
|
71
71
|
"tailwind-merge": "1.13.0",
|
|
72
72
|
"zod": "3.14.1",
|
|
73
|
-
"tslib": "2.
|
|
73
|
+
"tslib": "2.3.0"
|
|
74
74
|
},
|
|
75
75
|
"type": "commonjs"
|
|
76
76
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SubmitExecutorSchema } from "./schema";
|
|
2
|
+
/**
|
|
3
|
+
* Submit the package to the npm registry.
|
|
4
|
+
*
|
|
5
|
+
* @param {SubmitExecutorSchema} options The options provided to the executor.
|
|
6
|
+
* @returns {Promise<{ success: boolean }>} The result of the submit.
|
|
7
|
+
*/
|
|
8
|
+
export default function runExecutor(options: SubmitExecutorSchema): Promise<{
|
|
9
|
+
success: boolean;
|
|
10
|
+
}>;
|
|
@@ -18,10 +18,10 @@ function sleep(time) {
|
|
|
18
18
|
return new Promise(resolve => setTimeout(resolve, time));
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
|
-
*
|
|
21
|
+
* Submit the package to the npm registry.
|
|
22
22
|
*
|
|
23
|
-
* @param {
|
|
24
|
-
* @returns {Promise<{ success: boolean }>} The result of the
|
|
23
|
+
* @param {SubmitExecutorSchema} options The options provided to the executor.
|
|
24
|
+
* @returns {Promise<{ success: boolean }>} The result of the submit.
|
|
25
25
|
*/
|
|
26
26
|
async function runExecutor(options) {
|
|
27
27
|
await (0, checkPackageVersion_1.checkPackageVersion)(true);
|
|
@@ -58,12 +58,12 @@ async function doUploadAppWithRetry(tokenData, useAccessToken, manifest, tarData
|
|
|
58
58
|
}
|
|
59
59
|
catch (e) {
|
|
60
60
|
if (e instanceof NpmConflictError) {
|
|
61
|
-
console.error("❌ Unable to ship app package. Cannot
|
|
61
|
+
console.error("❌ Unable to ship app package. Cannot submit over existing version.");
|
|
62
62
|
return { success: false };
|
|
63
63
|
}
|
|
64
64
|
else {
|
|
65
65
|
if (retryCount > 1) {
|
|
66
|
-
console.error("⚠️ Unable to ship app package. Got error from Iris App SDK repository. Retrying
|
|
66
|
+
console.error("⚠️ Unable to ship app package. Got error from Iris App SDK repository. Retrying submit...", e);
|
|
67
67
|
await sleep(30000);
|
|
68
68
|
return await doUploadAppWithRetry(tokenData, useAccessToken, manifest, tarData, settings, retryCount - 1);
|
|
69
69
|
}
|
|
@@ -83,7 +83,7 @@ async function doUploadApp(tokenData, useAccessToken, manifest, tarData, setting
|
|
|
83
83
|
: tokenData.id_token;
|
|
84
84
|
npmFetchOptions[`//${repoHostAndPort}${settings.repoUrl.pathname}/repo/:always-auth`] = true;
|
|
85
85
|
console.log("🚢 Shipping the app package...");
|
|
86
|
-
const
|
|
86
|
+
const submitResult = await libpub.publish(manifest, tarData, npmFetchOptions).catch((err) => {
|
|
87
87
|
if (err.code === "EPUBLISHCONFLICT") {
|
|
88
88
|
return {
|
|
89
89
|
ok: false,
|
|
@@ -99,17 +99,17 @@ async function doUploadApp(tokenData, useAccessToken, manifest, tarData, setting
|
|
|
99
99
|
};
|
|
100
100
|
}
|
|
101
101
|
});
|
|
102
|
-
const warningsText =
|
|
102
|
+
const warningsText = submitResult.headers?.get("TU-TILE-WARNINGS");
|
|
103
103
|
if (warningsText) {
|
|
104
104
|
console.log("⚠️ " + decodeURI(warningsText));
|
|
105
105
|
}
|
|
106
|
-
if (
|
|
106
|
+
if (submitResult.ok) {
|
|
107
107
|
console.log(`🚀 Uploaded the app package version ${manifest.version}`);
|
|
108
108
|
return await doApproveAppWithRetry(useAccessToken ? tokenData.access_token : tokenData.id_token, manifest, settings, 3);
|
|
109
109
|
}
|
|
110
|
-
else if ("publishConflict" in
|
|
110
|
+
else if ("publishConflict" in submitResult) {
|
|
111
111
|
if (process.env.SKIP_EXISTING === "true") {
|
|
112
|
-
console.log(`⏩ Skipped
|
|
112
|
+
console.log(`⏩ Skipped submitting ${manifest.version} because the version is already submitted`);
|
|
113
113
|
return await doApproveAppWithRetry(useAccessToken ? tokenData.access_token : tokenData.id_token, manifest, settings, 3);
|
|
114
114
|
}
|
|
115
115
|
else {
|
|
@@ -117,11 +117,11 @@ async function doUploadApp(tokenData, useAccessToken, manifest, tarData, setting
|
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
else {
|
|
120
|
-
throw new NpmGeneralError(
|
|
120
|
+
throw new NpmGeneralError(submitResult.statusText +
|
|
121
121
|
" " +
|
|
122
|
-
(await
|
|
122
|
+
(await submitResult.text()) +
|
|
123
123
|
". Trace ID: " +
|
|
124
|
-
|
|
124
|
+
submitResult.headers.get("trace-id"));
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
127
|
async function doApproveAppWithRetry(token, manifest, settings, retryCount) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/iris-app/src/executors/submit/executor.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-console */\nimport { PackageJson } from \"@npm/types\";\nimport * as libpub from \"libnpmpublish\";\nimport fetch, { Headers } from \"node-fetch\";\nimport * as pacote from \"pacote\";\nimport { URL } from \"url\";\nimport { getAccessToken, TokenDataSuccess } from \"../utils/authentication\";\nimport { checkPackageVersion } from \"../utils/checkPackageVersion\";\nimport { getSettings, Settings } from \"../utils/irisAppServerSettings\";\nimport { SubmitExecutorSchema } from \"./schema\";\n\ntype SubmitError = Error & { code?: string; headers?: { [key: string]: string } };\n\nclass NpmConflictError extends Error {}\n\nclass NpmGeneralError extends Error {}\n\nclass ApproveError extends Error {}\n\nfunction sleep(time: number) {\n return new Promise(resolve => setTimeout(resolve, time));\n}\n\n/**\n * Submit the package to the npm registry.\n *\n * @param {SubmitExecutorSchema} options The options provided to the executor.\n * @returns {Promise<{ success: boolean }>} The result of the submit.\n */\nexport default async function runExecutor(options: SubmitExecutorSchema) {\n await checkPackageVersion(true);\n const settings = getSettings();\n\n try {\n const { tokenData, useAccessToken } = await getAccessToken(settings.env);\n\n if (\"access_token\" in tokenData) {\n console.log(\"🥳 Successfully authenticated.\");\n\n const manifest = (await pacote.manifest(options.inputPath)) as PackageJson;\n const tarData = await pacote.tarball(options.inputPath);\n\n return await doUploadAppWithRetry(tokenData, useAccessToken, manifest, tarData, settings, 3);\n } else if (\"error\" in tokenData) {\n if (tokenData.error === \"expired_token\") {\n throw new Error(\"⌛️ Authentication attempt expired\");\n } else {\n throw new Error(`Error occurred: ${tokenData.error} ${tokenData.error_description}`);\n }\n } else {\n throw new Error(\"Unknown error occurred\");\n }\n } catch (e) {\n console.error(\"❌ \", e);\n return { success: false };\n }\n}\n\nasync function doUploadAppWithRetry(\n tokenData: TokenDataSuccess,\n useAccessToken: boolean,\n manifest: PackageJson,\n tarData: Buffer & pacote.FetchResult,\n settings: Settings,\n retryCount: number\n): Promise<{ success: boolean }> {\n try {\n return await doUploadApp(tokenData, useAccessToken, manifest, tarData, settings);\n } catch (e) {\n if (e instanceof NpmConflictError) {\n console.error(\"❌ Unable to ship app package. Cannot submit over existing version.\");\n return { success: false };\n } else {\n if (retryCount > 1) {\n console.error(\"⚠️ Unable to ship app package. Got error from Iris App SDK repository. Retrying submit...\", e);\n await sleep(30000);\n return await doUploadAppWithRetry(tokenData, useAccessToken, manifest, tarData, settings, retryCount - 1);\n } else {\n console.error(\"❌ Unable to ship app package. Got error from Iris App SDK repository.\", e);\n return { success: false };\n }\n }\n }\n}\n\nasync function doUploadApp(\n tokenData: TokenDataSuccess,\n useAccessToken: boolean,\n manifest: PackageJson,\n tarData: Buffer & pacote.FetchResult,\n settings: Settings\n): Promise<{ success: boolean }> {\n const npmFetchOptions: { registry?: string } & Record<string, string | boolean> = {};\n npmFetchOptions.registry = settings.repoUrl.toString();\n const repoHostAndPort = settings.repoUrl.hostname + (settings.repoUrl.port ? \":\" + settings.repoUrl.port : \"\");\n npmFetchOptions[`//${repoHostAndPort}${settings.repoUrl.pathname}:_authToken`] = useAccessToken\n ? tokenData.access_token\n : tokenData.id_token;\n npmFetchOptions[`//${repoHostAndPort}${settings.repoUrl.pathname}/repo/:always-auth`] = true;\n\n console.log(\"🚢 Shipping the app package...\");\n const submitResult = await libpub.publish(manifest, tarData, npmFetchOptions).catch((err: SubmitError) => {\n if (err.code === \"EPUBLISHCONFLICT\") {\n return {\n ok: false,\n publishConflict: true,\n };\n } else {\n return {\n ok: false,\n headers: new Headers(err.headers),\n statusText: `Error`,\n text: () => Promise.resolve(`${err.name} ${err.message}`),\n };\n }\n });\n\n const warningsText = submitResult.headers?.get(\"TU-TILE-WARNINGS\");\n if (warningsText) {\n console.log(\"⚠️ \" + decodeURI(warningsText));\n }\n\n if (submitResult.ok) {\n console.log(`🚀 Uploaded the app package version ${manifest.version}`);\n\n return await doApproveAppWithRetry(\n useAccessToken ? tokenData.access_token : tokenData.id_token,\n manifest,\n settings,\n 3\n );\n } else if (\"publishConflict\" in submitResult) {\n if (process.env.SKIP_EXISTING === \"true\") {\n console.log(`⏩ Skipped submitting ${manifest.version} because the version is already submitted`);\n return await doApproveAppWithRetry(\n useAccessToken ? tokenData.access_token : tokenData.id_token,\n manifest,\n settings,\n 3\n );\n } else {\n throw new NpmConflictError();\n }\n } else {\n throw new NpmGeneralError(\n submitResult.statusText +\n \" \" +\n (await submitResult.text()) +\n \". Trace ID: \" +\n submitResult.headers.get(\"trace-id\")\n );\n }\n}\n\nasync function doApproveAppWithRetry(\n token: string,\n manifest: PackageJson,\n settings: Settings,\n retryCount: number\n): Promise<{ success: boolean }> {\n try {\n return await doApproveApp(token, manifest, settings);\n } catch (e) {\n if (e instanceof ApproveError) {\n if (retryCount > 1) {\n console.error(\n \"⚠️ Unable to approve app package. Got approve error from Iris App SDK repository. Retrying approve...\",\n e\n );\n await sleep(30000);\n return await doApproveAppWithRetry(token, manifest, settings, retryCount - 1);\n } else {\n console.error(\"❌ Unable to approve app package. Got approve error from Iris App SDK repository.\", e);\n return { success: false };\n }\n } else {\n console.error(\"❌ Unable to approve app package. Got error from Iris App SDK repository.\", e);\n return { success: false };\n }\n }\n}\n\nasync function doApproveApp(token: string, manifest: PackageJson, settings: Settings) {\n if (process.env.TU_APPROVE === \"true\") {\n console.log(`🖋️ Approving the app...`);\n const approveResult = await fetch(new URL(`${manifest.name}@${manifest.version}`, settings.approvalUrl), {\n method: \"PUT\",\n headers: {\n Authorization: `Bearer ${token}`,\n },\n });\n\n if (approveResult.ok) {\n console.log(`✅ Approved version ${manifest.version} of ${manifest.name}.`);\n return { success: true };\n } else {\n throw new ApproveError(\n `${approveResult.statusText}, ${await approveResult.text()}, Trace ID: ${approveResult.headers.get(\"trace-id\")}`\n );\n }\n } else {\n return { success: true };\n }\n}\n"]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"version": 2,
|
|
3
3
|
"outputCapture": "direct-nodejs",
|
|
4
4
|
"$schema": "http://json-schema.org/schema",
|
|
5
|
-
"title": "
|
|
5
|
+
"title": "Submit executor",
|
|
6
6
|
"description": "",
|
|
7
7
|
"type": "object",
|
|
8
8
|
"properties": {
|
|
@@ -16,7 +16,5 @@
|
|
|
16
16
|
"x-prompt": "what is build output path for this app?"
|
|
17
17
|
}
|
|
18
18
|
},
|
|
19
|
-
"required": [
|
|
20
|
-
"inputPath"
|
|
21
|
-
]
|
|
19
|
+
"required": ["inputPath"]
|
|
22
20
|
}
|
|
@@ -120,8 +120,8 @@ const IrisAppGenerator = async function (tree, options) {
|
|
|
120
120
|
},
|
|
121
121
|
outputs: ["{options.outputPath}"],
|
|
122
122
|
},
|
|
123
|
-
|
|
124
|
-
executor: "@trackunit/iris-app:
|
|
123
|
+
submitApp: {
|
|
124
|
+
executor: "@trackunit/iris-app:submit",
|
|
125
125
|
options: {
|
|
126
126
|
inputPath: `dist/${normalizedOptions.projectRoot}`,
|
|
127
127
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/iris-app/src/generators/create/generator.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n addDependenciesToPackageJson,\n addProjectConfiguration,\n formatFiles,\n generateFiles,\n getWorkspaceLayout,\n installPackagesTask,\n names,\n offsetFromRoot,\n readJsonFile,\n Tree,\n} from \"@nx/devkit\";\nimport { getNpmScope } from \"@nx/js/src/utils/package-json/get-npm-scope\";\nimport { PackageJson as PackageJsonBase } from \"nx/src/utils/package-json\";\nimport * as pacote from \"pacote\";\nimport * as path from \"path\";\nimport { IrisAppGeneratorSchema } from \"./schema\";\n\ntype PackageJson = PackageJsonBase & {\n engines?: Record<string, string>;\n};\n\ninterface NormalizedSchema extends IrisAppGeneratorSchema {\n projectName: string;\n projectRoot: string;\n projectDirectory: string;\n toNxRoot: string;\n npmScope: string;\n}\n\nfunction normalizeOptions(tree: Tree, options: IrisAppGeneratorSchema): NormalizedSchema {\n const name = names(options.name).fileName;\n const projectDirectory = options.directory ? path.join(options.directory, name) : name;\n const toNxRoot = `../../${projectDirectory.indexOf(\"/\") !== -1 ? \"../\" : \"\"}`;\n const projectName = name.replace(new RegExp(\"/\", \"g\"), \"_\");\n const npmScope = getNpmScope(tree);\n if (!npmScope) {\n throw new Error(\"Could not find npm scope in package.json\");\n }\n const projectRoot = `${getWorkspaceLayout(tree).appsDir}/${projectDirectory}`;\n return {\n ...options,\n projectName,\n projectRoot,\n projectDirectory,\n toNxRoot,\n npmScope,\n };\n}\n\nfunction addFiles(tree: Tree, options: NormalizedSchema, packageJson: PackageJson) {\n const nodeVersion = packageJson?.engines?.node ?? \">=18.x\";\n const templateOptions = {\n ...options,\n ...names(options.name),\n offsetFromRoot: offsetFromRoot(options.projectRoot),\n template: \"\",\n nodeVersion,\n };\n generateFiles(tree, path.join(__dirname, \"files\"), options.projectRoot, templateOptions);\n}\n\n/**\n * Iris App Generator.\n * This generator will create a new iris app, you can call this from your own generator.\n *\n * @param tree the nx tree\n * @param options the generator options\n * @returns { Promise<void> } void\n */\nexport const IrisAppGenerator = async function (tree: Tree, options: IrisAppGeneratorSchema) {\n const normalizedOptions = normalizeOptions(tree, options);\n const packageJsonFromNpm = await pacote.manifest(\"@trackunit/iris-app\");\n\n const packageJsonLocally: PackageJson = readJsonFile(path.join(__dirname, \"..\", \"..\", \"..\", \"package.json\"));\n\n if (options.updatePackageJson) {\n if (packageJsonFromNpm.version !== packageJsonLocally.version) {\n console.warn(\n `⚠️ This version of the iris-app package does not match the version of the iris-app package from NPM JS. Please update using: npm i @trackunit/iris-app@${packageJsonFromNpm.version}`\n );\n }\n\n const installTUPackages = process.env.INSTALL_TU_PACKAGES ? process.env.INSTALL_TU_PACKAGES === \"true\" : true;\n const reactComponentsPackageJsonFromNpm = pacote.manifest(\"@trackunit/react-components\");\n const reactCoreContextsPackageJsonFromNpm = pacote.manifest(\"@trackunit/react-core-contexts\");\n const cssComponentsPackageJsonFromNpm = pacote.manifest(\"@trackunit/css-components\");\n const cssTailwindPackageJsonFromNpm = pacote.manifest(\"@trackunit/css-tailwind\");\n\n const tuDependencies = {\n \"@trackunit/react-components\": (await reactComponentsPackageJsonFromNpm).version,\n \"@trackunit/react-core-contexts\": (await reactCoreContextsPackageJsonFromNpm).version,\n \"@trackunit/css-components\": (await cssComponentsPackageJsonFromNpm).version,\n \"@trackunit/css-tailwind\": (await cssTailwindPackageJsonFromNpm).version,\n };\n\n const irisAppApiPackageJsonFromNpm = pacote.manifest(\"@trackunit/iris-app-api\");\n const irisAppBuildUtilitiesPackageJsonFromNpm = pacote.manifest(\"@trackunit/iris-app-build-utilities\");\n const irisAppWebpackPluginPackageJsonFromNpm = pacote.manifest(\"@trackunit/iris-app-webpack-plugin\");\n\n const tuDevDependecies = {\n \"@trackunit/iris-app-api\": (await irisAppApiPackageJsonFromNpm).version,\n \"@trackunit/iris-app-build-utilities\": (await irisAppBuildUtilitiesPackageJsonFromNpm).version,\n \"@trackunit/iris-app-webpack-plugin\": (await irisAppWebpackPluginPackageJsonFromNpm).version,\n };\n\n addDependenciesToPackageJson(\n tree,\n {\n ...(installTUPackages ? tuDependencies : {}),\n tslib: \"2.4.0\",\n },\n {\n ...(installTUPackages ? tuDevDependecies : {}),\n nx: \"16.8.1\",\n \"@nx/react\": \"16.8.1\",\n \"@nx/workspace\": \"16.8.1\",\n \"@nx/devkit\": \"16.8.1\",\n eslint: \"8.46.0\",\n \"ts-morph\": \"15.1.0\",\n \"esbuild-loader\": \"2.20.0\",\n \"postcss-js\": \"4.0.0\",\n \"copy-webpack-plugin\": \"11.0.0\",\n \"postcss-loader\": \"6.2.1\",\n \"postcss-nested\": \"5.0.6\",\n postcss: \"8.4.19\",\n \"style-loader\": \"3.3.0\",\n \"json-loader\": \"0.5.7\",\n autoprefixer: \"10.4.13\",\n \"css-loader\": \"6.4.0\",\n webpack: \"5.88.1\",\n tailwindcss: \"3.2.4\",\n \"ts-node\": \"10.9.1\",\n typescript: \"5.1.6\",\n \"webpack-dev-server\": \"4.13.3\",\n \"webpack-cli\": \"5.0.2\",\n }\n );\n }\n addProjectConfiguration(tree, normalizedOptions.projectName, {\n root: normalizedOptions.projectRoot,\n projectType: \"application\",\n sourceRoot: `${normalizedOptions.projectRoot}/src`,\n targets: {\n build: {\n executor: \"@trackunit/iris-app:build\",\n options: {\n webpackConfig: `${normalizedOptions.projectRoot}/webpack.config.ts`,\n outputPath: `dist/${normalizedOptions.projectRoot}`,\n },\n outputs: [\"{options.outputPath}\"],\n },\n serve: {\n executor: \"@trackunit/iris-app:serve\",\n options: {\n webpackConfig: `${normalizedOptions.projectRoot}/webpack.config.ts`,\n },\n outputs: [\"{options.outputPath}\"],\n },\n publishApp: {\n executor: \"@trackunit/iris-app:publish\",\n options: {\n inputPath: `dist/${normalizedOptions.projectRoot}`,\n },\n dependsOn: [\n {\n target: \"build\",\n },\n ],\n outputs: [\"dist/\" + normalizedOptions.projectRoot],\n },\n unpublishApp: {\n executor: \"@trackunit/iris-app:unpublish\",\n options: {\n inputPath: `dist/${normalizedOptions.projectRoot}`,\n },\n dependsOn: [\n {\n target: \"build\",\n },\n ],\n outputs: [\"dist/\" + normalizedOptions.projectRoot],\n },\n },\n });\n addFiles(tree, normalizedOptions, packageJsonLocally);\n // enforcing engine versions specified in package.json\n tree.write(\".npmrc\", \"engine-strict=true\");\n\n await formatFiles(tree);\n return () => {\n installPackagesTask(tree, true);\n\n // eslint-disable-next-line no-console\n console.log(\n \"🥳 Successfully created an Iris App - review the iris-app-manifest.ts and start adding app extensions!\"\n );\n };\n};\n\nexport default IrisAppGenerator;\n"]}
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/iris-app/src/generators/create/generator.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n addDependenciesToPackageJson,\n addProjectConfiguration,\n formatFiles,\n generateFiles,\n getWorkspaceLayout,\n installPackagesTask,\n names,\n offsetFromRoot,\n readJsonFile,\n Tree,\n} from \"@nx/devkit\";\nimport { getNpmScope } from \"@nx/js/src/utils/package-json/get-npm-scope\";\nimport { PackageJson as PackageJsonBase } from \"nx/src/utils/package-json\";\nimport * as pacote from \"pacote\";\nimport * as path from \"path\";\nimport { IrisAppGeneratorSchema } from \"./schema\";\n\ntype PackageJson = PackageJsonBase & {\n engines?: Record<string, string>;\n};\n\ninterface NormalizedSchema extends IrisAppGeneratorSchema {\n projectName: string;\n projectRoot: string;\n projectDirectory: string;\n toNxRoot: string;\n npmScope: string;\n}\n\nfunction normalizeOptions(tree: Tree, options: IrisAppGeneratorSchema): NormalizedSchema {\n const name = names(options.name).fileName;\n const projectDirectory = options.directory ? path.join(options.directory, name) : name;\n const toNxRoot = `../../${projectDirectory.indexOf(\"/\") !== -1 ? \"../\" : \"\"}`;\n const projectName = name.replace(new RegExp(\"/\", \"g\"), \"_\");\n const npmScope = getNpmScope(tree);\n if (!npmScope) {\n throw new Error(\"Could not find npm scope in package.json\");\n }\n const projectRoot = `${getWorkspaceLayout(tree).appsDir}/${projectDirectory}`;\n return {\n ...options,\n projectName,\n projectRoot,\n projectDirectory,\n toNxRoot,\n npmScope,\n };\n}\n\nfunction addFiles(tree: Tree, options: NormalizedSchema, packageJson: PackageJson) {\n const nodeVersion = packageJson?.engines?.node ?? \">=18.x\";\n const templateOptions = {\n ...options,\n ...names(options.name),\n offsetFromRoot: offsetFromRoot(options.projectRoot),\n template: \"\",\n nodeVersion,\n };\n generateFiles(tree, path.join(__dirname, \"files\"), options.projectRoot, templateOptions);\n}\n\n/**\n * Iris App Generator.\n * This generator will create a new iris app, you can call this from your own generator.\n *\n * @param tree the nx tree\n * @param options the generator options\n * @returns { Promise<void> } void\n */\nexport const IrisAppGenerator = async function (tree: Tree, options: IrisAppGeneratorSchema) {\n const normalizedOptions = normalizeOptions(tree, options);\n const packageJsonFromNpm = await pacote.manifest(\"@trackunit/iris-app\");\n\n const packageJsonLocally: PackageJson = readJsonFile(path.join(__dirname, \"..\", \"..\", \"..\", \"package.json\"));\n\n if (options.updatePackageJson) {\n if (packageJsonFromNpm.version !== packageJsonLocally.version) {\n console.warn(\n `⚠️ This version of the iris-app package does not match the version of the iris-app package from NPM JS. Please update using: npm i @trackunit/iris-app@${packageJsonFromNpm.version}`\n );\n }\n\n const installTUPackages = process.env.INSTALL_TU_PACKAGES ? process.env.INSTALL_TU_PACKAGES === \"true\" : true;\n const reactComponentsPackageJsonFromNpm = pacote.manifest(\"@trackunit/react-components\");\n const reactCoreContextsPackageJsonFromNpm = pacote.manifest(\"@trackunit/react-core-contexts\");\n const cssComponentsPackageJsonFromNpm = pacote.manifest(\"@trackunit/css-components\");\n const cssTailwindPackageJsonFromNpm = pacote.manifest(\"@trackunit/css-tailwind\");\n\n const tuDependencies = {\n \"@trackunit/react-components\": (await reactComponentsPackageJsonFromNpm).version,\n \"@trackunit/react-core-contexts\": (await reactCoreContextsPackageJsonFromNpm).version,\n \"@trackunit/css-components\": (await cssComponentsPackageJsonFromNpm).version,\n \"@trackunit/css-tailwind\": (await cssTailwindPackageJsonFromNpm).version,\n };\n\n const irisAppApiPackageJsonFromNpm = pacote.manifest(\"@trackunit/iris-app-api\");\n const irisAppBuildUtilitiesPackageJsonFromNpm = pacote.manifest(\"@trackunit/iris-app-build-utilities\");\n const irisAppWebpackPluginPackageJsonFromNpm = pacote.manifest(\"@trackunit/iris-app-webpack-plugin\");\n\n const tuDevDependecies = {\n \"@trackunit/iris-app-api\": (await irisAppApiPackageJsonFromNpm).version,\n \"@trackunit/iris-app-build-utilities\": (await irisAppBuildUtilitiesPackageJsonFromNpm).version,\n \"@trackunit/iris-app-webpack-plugin\": (await irisAppWebpackPluginPackageJsonFromNpm).version,\n };\n\n addDependenciesToPackageJson(\n tree,\n {\n ...(installTUPackages ? tuDependencies : {}),\n tslib: \"2.4.0\",\n },\n {\n ...(installTUPackages ? tuDevDependecies : {}),\n nx: \"16.8.1\",\n \"@nx/react\": \"16.8.1\",\n \"@nx/workspace\": \"16.8.1\",\n \"@nx/devkit\": \"16.8.1\",\n eslint: \"8.46.0\",\n \"ts-morph\": \"15.1.0\",\n \"esbuild-loader\": \"2.20.0\",\n \"postcss-js\": \"4.0.0\",\n \"copy-webpack-plugin\": \"11.0.0\",\n \"postcss-loader\": \"6.2.1\",\n \"postcss-nested\": \"5.0.6\",\n postcss: \"8.4.19\",\n \"style-loader\": \"3.3.0\",\n \"json-loader\": \"0.5.7\",\n autoprefixer: \"10.4.13\",\n \"css-loader\": \"6.4.0\",\n webpack: \"5.88.1\",\n tailwindcss: \"3.2.4\",\n \"ts-node\": \"10.9.1\",\n typescript: \"5.1.6\",\n \"webpack-dev-server\": \"4.13.3\",\n \"webpack-cli\": \"5.0.2\",\n }\n );\n }\n addProjectConfiguration(tree, normalizedOptions.projectName, {\n root: normalizedOptions.projectRoot,\n projectType: \"application\",\n sourceRoot: `${normalizedOptions.projectRoot}/src`,\n targets: {\n build: {\n executor: \"@trackunit/iris-app:build\",\n options: {\n webpackConfig: `${normalizedOptions.projectRoot}/webpack.config.ts`,\n outputPath: `dist/${normalizedOptions.projectRoot}`,\n },\n outputs: [\"{options.outputPath}\"],\n },\n serve: {\n executor: \"@trackunit/iris-app:serve\",\n options: {\n webpackConfig: `${normalizedOptions.projectRoot}/webpack.config.ts`,\n },\n outputs: [\"{options.outputPath}\"],\n },\n submitApp: {\n executor: \"@trackunit/iris-app:submit\",\n options: {\n inputPath: `dist/${normalizedOptions.projectRoot}`,\n },\n dependsOn: [\n {\n target: \"build\",\n },\n ],\n outputs: [\"dist/\" + normalizedOptions.projectRoot],\n },\n unpublishApp: {\n executor: \"@trackunit/iris-app:unpublish\",\n options: {\n inputPath: `dist/${normalizedOptions.projectRoot}`,\n },\n dependsOn: [\n {\n target: \"build\",\n },\n ],\n outputs: [\"dist/\" + normalizedOptions.projectRoot],\n },\n },\n });\n addFiles(tree, normalizedOptions, packageJsonLocally);\n // enforcing engine versions specified in package.json\n tree.write(\".npmrc\", \"engine-strict=true\");\n\n await formatFiles(tree);\n return () => {\n installPackagesTask(tree, true);\n\n // eslint-disable-next-line no-console\n console.log(\n \"🥳 Successfully created an Iris App - review the iris-app-manifest.ts and start adding app extensions!\"\n );\n };\n};\n\nexport default IrisAppGenerator;\n"]}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { PublishExecutorSchema } from "./schema";
|
|
2
|
-
/**
|
|
3
|
-
* Publish the package to the npm registry.
|
|
4
|
-
*
|
|
5
|
-
* @param {PublishExecutorSchema} options The options provided to the executor.
|
|
6
|
-
* @returns {Promise<{ success: boolean }>} The result of the publish.
|
|
7
|
-
*/
|
|
8
|
-
export default function runExecutor(options: PublishExecutorSchema): Promise<{
|
|
9
|
-
success: boolean;
|
|
10
|
-
}>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../../../libs/iris-app-sdk/iris-app/src/executors/publish/executor.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-console */\nimport { PackageJson } from \"@npm/types\";\nimport * as libpub from \"libnpmpublish\";\nimport fetch, { Headers } from \"node-fetch\";\nimport * as pacote from \"pacote\";\nimport { URL } from \"url\";\nimport { getAccessToken, TokenDataSuccess } from \"../utils/authentication\";\nimport { checkPackageVersion } from \"../utils/checkPackageVersion\";\nimport { getSettings, Settings } from \"../utils/irisAppServerSettings\";\nimport { PublishExecutorSchema } from \"./schema\";\n\ntype PublishError = Error & { code?: string; headers?: { [key: string]: string } };\n\nclass NpmConflictError extends Error {}\n\nclass NpmGeneralError extends Error {}\n\nclass ApproveError extends Error {}\n\nfunction sleep(time: number) {\n return new Promise(resolve => setTimeout(resolve, time));\n}\n\n/**\n * Publish the package to the npm registry.\n *\n * @param {PublishExecutorSchema} options The options provided to the executor.\n * @returns {Promise<{ success: boolean }>} The result of the publish.\n */\nexport default async function runExecutor(options: PublishExecutorSchema) {\n await checkPackageVersion(true);\n const settings = getSettings();\n\n try {\n const { tokenData, useAccessToken } = await getAccessToken(settings.env);\n\n if (\"access_token\" in tokenData) {\n console.log(\"🥳 Successfully authenticated.\");\n\n const manifest = (await pacote.manifest(options.inputPath)) as PackageJson;\n const tarData = await pacote.tarball(options.inputPath);\n\n return await doUploadAppWithRetry(tokenData, useAccessToken, manifest, tarData, settings, 3);\n } else if (\"error\" in tokenData) {\n if (tokenData.error === \"expired_token\") {\n throw new Error(\"⌛️ Authentication attempt expired\");\n } else {\n throw new Error(`Error occurred: ${tokenData.error} ${tokenData.error_description}`);\n }\n } else {\n throw new Error(\"Unknown error occurred\");\n }\n } catch (e) {\n console.error(\"❌ \", e);\n return { success: false };\n }\n}\n\nasync function doUploadAppWithRetry(\n tokenData: TokenDataSuccess,\n useAccessToken: boolean,\n manifest: PackageJson,\n tarData: Buffer & pacote.FetchResult,\n settings: Settings,\n retryCount: number\n): Promise<{ success: boolean }> {\n try {\n return await doUploadApp(tokenData, useAccessToken, manifest, tarData, settings);\n } catch (e) {\n if (e instanceof NpmConflictError) {\n console.error(\"❌ Unable to ship app package. Cannot publish over existing version.\");\n return { success: false };\n } else {\n if (retryCount > 1) {\n console.error(\"⚠️ Unable to ship app package. Got error from Iris App SDK repository. Retrying publish...\", e);\n await sleep(30000);\n return await doUploadAppWithRetry(tokenData, useAccessToken, manifest, tarData, settings, retryCount - 1);\n } else {\n console.error(\"❌ Unable to ship app package. Got error from Iris App SDK repository.\", e);\n return { success: false };\n }\n }\n }\n}\n\nasync function doUploadApp(\n tokenData: TokenDataSuccess,\n useAccessToken: boolean,\n manifest: PackageJson,\n tarData: Buffer & pacote.FetchResult,\n settings: Settings\n): Promise<{ success: boolean }> {\n const npmFetchOptions: { registry?: string } & Record<string, string | boolean> = {};\n npmFetchOptions.registry = settings.repoUrl.toString();\n const repoHostAndPort = settings.repoUrl.hostname + (settings.repoUrl.port ? \":\" + settings.repoUrl.port : \"\");\n npmFetchOptions[`//${repoHostAndPort}${settings.repoUrl.pathname}:_authToken`] = useAccessToken\n ? tokenData.access_token\n : tokenData.id_token;\n npmFetchOptions[`//${repoHostAndPort}${settings.repoUrl.pathname}/repo/:always-auth`] = true;\n\n console.log(\"🚢 Shipping the app package...\");\n const publishResult = await libpub.publish(manifest, tarData, npmFetchOptions).catch((err: PublishError) => {\n if (err.code === \"EPUBLISHCONFLICT\") {\n return {\n ok: false,\n publishConflict: true,\n };\n } else {\n return {\n ok: false,\n headers: new Headers(err.headers),\n statusText: `Error`,\n text: () => Promise.resolve(`${err.name} ${err.message}`),\n };\n }\n });\n\n const warningsText = publishResult.headers?.get(\"TU-TILE-WARNINGS\");\n if (warningsText) {\n console.log(\"⚠️ \" + decodeURI(warningsText));\n }\n\n if (publishResult.ok) {\n console.log(`🚀 Uploaded the app package version ${manifest.version}`);\n\n return await doApproveAppWithRetry(\n useAccessToken ? tokenData.access_token : tokenData.id_token,\n manifest,\n settings,\n 3\n );\n } else if (\"publishConflict\" in publishResult) {\n if (process.env.SKIP_EXISTING === \"true\") {\n console.log(`⏩ Skipped publishing ${manifest.version} because the version is already published`);\n return await doApproveAppWithRetry(\n useAccessToken ? tokenData.access_token : tokenData.id_token,\n manifest,\n settings,\n 3\n );\n } else {\n throw new NpmConflictError();\n }\n } else {\n throw new NpmGeneralError(\n publishResult.statusText +\n \" \" +\n (await publishResult.text()) +\n \". Trace ID: \" +\n publishResult.headers.get(\"trace-id\")\n );\n }\n}\n\nasync function doApproveAppWithRetry(\n token: string,\n manifest: PackageJson,\n settings: Settings,\n retryCount: number\n): Promise<{ success: boolean }> {\n try {\n return await doApproveApp(token, manifest, settings);\n } catch (e) {\n if (e instanceof ApproveError) {\n if (retryCount > 1) {\n console.error(\n \"⚠️ Unable to approve app package. Got approve error from Iris App SDK repository. Retrying approve...\",\n e\n );\n await sleep(30000);\n return await doApproveAppWithRetry(token, manifest, settings, retryCount - 1);\n } else {\n console.error(\"❌ Unable to approve app package. Got approve error from Iris App SDK repository.\", e);\n return { success: false };\n }\n } else {\n console.error(\"❌ Unable to approve app package. Got error from Iris App SDK repository.\", e);\n return { success: false };\n }\n }\n}\n\nasync function doApproveApp(token: string, manifest: PackageJson, settings: Settings) {\n if (process.env.TU_APPROVE === \"true\") {\n console.log(`🖋️ Approving the app...`);\n const approveResult = await fetch(new URL(`${manifest.name}@${manifest.version}`, settings.approvalUrl), {\n method: \"PUT\",\n headers: {\n Authorization: `Bearer ${token}`,\n },\n });\n\n if (approveResult.ok) {\n console.log(`✅ Approved version ${manifest.version} of ${manifest.name}.`);\n return { success: true };\n } else {\n throw new ApproveError(\n `${approveResult.statusText}, ${await approveResult.text()}, Trace ID: ${approveResult.headers.get(\"trace-id\")}`\n );\n }\n } else {\n return { success: true };\n }\n}\n"]}
|