UNPKG

@shockpkg/ria-packager

Version:

Package for creating Adobe AIR packages

1 lines 5.7 kB
{"version":3,"file":"mac.mjs","names":["mkdir","utimes","writeFile","dirname","join","pathJoin","quoteSh","PackagerAdl","PackagerAdlMac","preserveResourceMtime","constructor","path","appRunPath","_getFileMode","executable","_sdkComponents","required","optional","_close","_writeRunScript","_writeResource","destination","data","options","mode","dest","_getResourcePath","recursive","mtime","appSdkPath","appResourcesPath","_metaResourceApplicationPath","_generateOptionArguments","map","encoding"],"sources":["../../../src/packager/adl/mac.ts"],"sourcesContent":["import {mkdir, utimes, writeFile} from 'node:fs/promises';\nimport {dirname, join as pathJoin} from 'node:path';\n\nimport {IPackagerResourceOptions} from '../../packager.ts';\nimport {quoteSh} from '../../util.ts';\nimport {PackagerAdl} from '../adl.ts';\n\n/**\n * PackagerAdlMac object.\n *\n * @param path Output path.\n */\nexport class PackagerAdlMac 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 * PackagerAdlMac 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';\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\treturn {\n\t\t\trequired: [\n\t\t\t\t['bin/adl'],\n\t\t\t\t[\n\t\t\t\t\t'runtimes/air/mac',\n\t\t\t\t\t// Old SDK 1.0 and 1.1 location:\n\t\t\t\t\t'runtime/Adobe AIR.framework'\n\t\t\t\t]\n\t\t\t],\n\t\t\toptional: [['bin/Contents']]\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\tawait mkdir(path, {recursive: true});\n\t\tawait writeFile(\n\t\t\tpathJoin(path, this.appRunPath),\n\t\t\t[\n\t\t\t\t'#!/bin/sh',\n\t\t\t\t'',\n\t\t\t\t[\n\t\t\t\t\t'exec',\n\t\t\t\t\t...[\n\t\t\t\t\t\t`${appSdkPath}/bin/adl`,\n\t\t\t\t\t\t...this._generateOptionArguments(),\n\t\t\t\t\t\t`${appResourcesPath}/${_metaResourceApplicationPath}`,\n\t\t\t\t\t\tappResourcesPath\n\t\t\t\t\t].map(quoteSh),\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('\\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":"AAAA,SAAQA,KAAK,EAAEC,MAAM,EAAEC,SAAS,QAAO,kBAAkB;AACzD,SAAQC,OAAO,EAAEC,IAAI,IAAIC,QAAQ,QAAO,WAAW;AAGnD,SAAQC,OAAO,QAAO,gBAAe;AACrC,SAAQC,WAAW,QAAO,YAAW;;AAErC;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,cAAc,SAASD,WAAW,CAAC;EAC/C;AACD;AACA;AACA;EACQE,qBAAqB,GAAG,KAAK;;EAEpC;AACD;AACA;AACA;AACA;EACCC,WAAWA,CAACC,IAAY,EAAE;IACzB,KAAK,CAACA,IAAI,CAAC;EACZ;;EAEA;AACD;AACA;AACA;AACA;EACC,IAAWC,UAAUA,CAAA,EAAG;IACvB,OAAO,KAAK;EACb;;EAEA;AACD;AACA;AACA;AACA;AACA;EACWC,YAAYA,CAACC,UAAmB,EAAE;IAC3C,OAAOA,UAAU,GAAG,WAAW,GAAG,WAAW;EAC9C;;EAEA;AACD;AACA;AACA;AACA;EACWC,cAAcA,CAAA,EAAG;IAC1B,OAAO;MACNC,QAAQ,EAAE,CACT,CAAC,SAAS,CAAC,EACX,CACC,kBAAkB;MAClB;MACA,6BAA6B,CAC7B,CACD;MACDC,QAAQ,EAAE,CAAC,CAAC,cAAc,CAAC;IAC5B,CAAC;EACF;;EAEA;AACD;AACA;EACC,MAAgBC,MAAMA,CAAA,EAAG;IACxB,MAAM,IAAI,CAACC,eAAe,CAAC,CAAC;EAC7B;;EAEA;AACD;AACA;AACA;AACA;AACA;AACA;EACC,MAAgBC,cAAcA,CAC7BC,WAAmB,EACnBC,IAA0B,EAC1BC,OAA2C,EAC1C;IACD;IACA,MAAMC,IAAI,GAAG,IAAI,CAACX,YAAY,CAACU,OAAO,CAACT,UAAU,IAAI,KAAK,CAAC;IAC3D,MAAMW,IAAI,GAAG,IAAI,CAACC,gBAAgB,CAACL,WAAW,CAAC;IAC/C,MAAMrB,KAAK,CAACG,OAAO,CAACsB,IAAI,CAAC,EAAE;MAACE,SAAS,EAAE;IAAI,CAAC,CAAC;IAC7C,MAAMzB,SAAS,CAACuB,IAAI,EAAEH,IAAI,EAAE;MAACE;IAAI,CAAC,CAAC;;IAEnC;IACA,IAAI,IAAI,CAACf,qBAAqB,EAAE;MAC/B,MAAM;QAACmB;MAAK,CAAC,GAAGL,OAAO;MACvB,IAAIK,KAAK,EAAE;QACV,MAAM3B,MAAM,CAACwB,IAAI,EAAEG,KAAK,EAAEA,KAAK,CAAC;MACjC;IACD;EACD;;EAEA;AACD;AACA;EACC,MAAgBT,eAAeA,CAAA,EAAG;IACjC,MAAM;MACLR,IAAI;MACJkB,UAAU;MACVC,gBAAgB;MAChBC;IACD,CAAC,GAAG,IAAI;IACR,MAAM/B,KAAK,CAACW,IAAI,EAAE;MAACgB,SAAS,EAAE;IAAI,CAAC,CAAC;IACpC,MAAMzB,SAAS,CACdG,QAAQ,CAACM,IAAI,EAAE,IAAI,CAACC,UAAU,CAAC,EAC/B,CACC,WAAW,EACX,EAAE,EACF,CACC,MAAM,EACN,GAAG,CACF,GAAGiB,UAAU,UAAU,EACvB,GAAG,IAAI,CAACG,wBAAwB,CAAC,CAAC,EAClC,GAAGF,gBAAgB,IAAIC,4BAA4B,EAAE,EACrDD,gBAAgB,CAChB,CAACG,GAAG,CAAC3B,OAAO,CAAC,EACd,IAAI,EACJ,MAAM,CACN,CAACF,IAAI,CAAC,GAAG,CAAC,EACX,EAAE,CACF,CAACA,IAAI,CAAC,IAAI,CAAC,EACZ;MACC8B,QAAQ,EAAE,MAAM;MAChBV,IAAI,EAAE;IACP,CACD,CAAC;EACF;AACD","ignoreList":[]}