UNPKG

@shockpkg/ria-packager

Version:

Package for creating Adobe AIR packages

1 lines 6.63 kB
{"version":3,"file":"windows.mjs","names":["mkdir","utimes","writeFile","dirname","join","pathJoin","quoteCmd","PackagerAdl","bs","s","replace","PackagerAdlWindows","preserveResourceMtime","architecture","constructor","path","appRunPath","_getFileMode","executable","_sdkComponents","arch","required","optional","_close","_writeRunScript","_writeResource","destination","data","options","mode","dest","_getResourcePath","recursive","mtime","appSdkPath","appResourcesPath","_metaResourceApplicationPath","metaPath","_generateOptionArguments","map","encoding"],"sources":["../../../src/packager/adl/windows.ts"],"sourcesContent":["import {mkdir, utimes, writeFile} from 'node:fs/promises';\nimport {dirname, join as pathJoin} from 'node:path';\n\nimport {quoteCmd} from '../../util.ts';\nimport {IPackagerResourceOptions} from '../../packager.ts';\nimport {PackagerAdl} from '../adl.ts';\n\n/**\n * Convert forward slashes to back slashes.\n *\n * @param s String with forward slashes.\n * @returns String with back slaches.\n */\nconst bs = (s: string) => s.replace(/\\//g, '\\\\');\n\n/**\n * PackagerAdlWindows object.\n *\n * @param path Output path.\n */\nexport class PackagerAdlWindows extends PackagerAdl {\n\t/**\n\t * Optionally preserve resource mtime.\n\t * The official packager does not preserve resource mtimes.\n\t */\n\tpublic preserveResourceMtime = false;\n\n\t/**\n\t * Optionally use specific architecture.\n\t */\n\tpublic architecture: 'x86' | 'x64' | null = null;\n\n\t/**\n\t * PackagerAdlWindows constructor.\n\t *\n\t * @param path Output path.\n\t */\n\tconstructor(path: string) {\n\t\tsuper(path);\n\t}\n\n\t/**\n\t * Get app run path.\n\t *\n\t * @returns Resources path.\n\t */\n\tpublic get appRunPath() {\n\t\treturn 'run.bat';\n\t}\n\n\t/**\n\t * Get file mode value.\n\t *\n\t * @param executable Is the entry executable.\n\t * @returns File mode.\n\t */\n\tprotected _getFileMode(executable: boolean) {\n\t\treturn executable ? 0b111100100 : 0b110100100;\n\t}\n\n\t/**\n\t * The SDK components to be copied.\n\t *\n\t * @returns Required and optional components.\n\t */\n\tprotected _sdkComponents() {\n\t\tconst arch = this.architecture === 'x64' ? '64' : '';\n\t\treturn {\n\t\t\trequired: [\n\t\t\t\t[`bin/adl${arch}.exe`],\n\t\t\t\t[\n\t\t\t\t\t`runtimes/air/win${arch}`,\n\t\t\t\t\t// Old SDK 1.0 and 1.1 location:\n\t\t\t\t\t'runtime/Adobe AIR'\n\t\t\t\t]\n\t\t\t],\n\t\t\toptional: []\n\t\t};\n\t}\n\n\t/**\n\t * Close implementation.\n\t */\n\tprotected async _close() {\n\t\tawait this._writeRunScript();\n\t}\n\n\t/**\n\t * Write resource with data implementation.\n\t *\n\t * @param destination Packaged file relative destination.\n\t * @param data Resource data.\n\t * @param options Resource options.\n\t */\n\tprotected async _writeResource(\n\t\tdestination: string,\n\t\tdata: Readonly<Uint8Array>,\n\t\toptions: Readonly<IPackagerResourceOptions>\n\t) {\n\t\t// Write resource to file.\n\t\tconst mode = this._getFileMode(options.executable || false);\n\t\tconst dest = this._getResourcePath(destination);\n\t\tawait mkdir(dirname(dest), {recursive: true});\n\t\tawait writeFile(dest, data, {mode});\n\n\t\t// Optionally preserve mtime information.\n\t\tif (this.preserveResourceMtime) {\n\t\t\tconst {mtime} = options;\n\t\t\tif (mtime) {\n\t\t\t\tawait utimes(dest, mtime, mtime);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Write the run script.\n\t */\n\tprotected async _writeRunScript() {\n\t\tconst {\n\t\t\tpath,\n\t\t\tappSdkPath,\n\t\t\tappResourcesPath,\n\t\t\t_metaResourceApplicationPath\n\t\t} = this;\n\t\tconst arch = this.architecture === 'x64' ? '64' : '';\n\t\tconst metaPath = `${appResourcesPath}/${_metaResourceApplicationPath}`;\n\t\tawait mkdir(dirname(path), {recursive: true});\n\t\tawait writeFile(\n\t\t\tpathJoin(path, this.appRunPath),\n\t\t\t[\n\t\t\t\t'@ECHO OFF',\n\t\t\t\t'',\n\t\t\t\t[\n\t\t\t\t\t...[\n\t\t\t\t\t\tbs(`${appSdkPath}/bin/adl${arch}`),\n\t\t\t\t\t\t...this._generateOptionArguments(),\n\t\t\t\t\t\tbs(metaPath),\n\t\t\t\t\t\tbs(appResourcesPath)\n\t\t\t\t\t].map(quoteCmd),\n\t\t\t\t\t'--',\n\t\t\t\t\t'%*'\n\t\t\t\t].join(' '),\n\t\t\t\t''\n\t\t\t].join('\\r\\n'),\n\t\t\t{\n\t\t\t\tencoding: 'utf8',\n\t\t\t\tmode: 0o777\n\t\t\t}\n\t\t);\n\t}\n}\n"],"mappings":"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","ignoreList":[]}