UNPKG

@shockpkg/ria-packager

Version:

Package for creating Adobe AIR packages

1 lines 5.43 kB
{"version":3,"sources":["packager/adl/mac.ts"],"names":["join","pathJoin","puka","fse","PackagerAdl","quoteForSh","default","PackagerAdlMac","constructor","path","appRunPath","_getFileMode","executable","_sdkComponents","required","optional","_close","_writeRunScript","_writeResource","destination","data","options","mode","dest","_getResourcePath","outputFile","preserveResourceMtime","mtime","utimes","appSdkPath","appResourcesPath","_metaResourceApplicationPath","_generateOptionArguments","map","encoding"],"mappings":";AAAA,SACCA,IAAI,IAAIC,QADT,QAEO,MAFP,C,CAIA;;AACA,OAAO,KAAKC,IAAZ,MAAsB,MAAtB;AACA,OAAOC,GAAP,MAAgB,UAAhB;AAGA,SAAQC,WAAR,QAA0B,YAA1B;AAEA,MAAMC,UAAU,GAAGH,IAAI,CAACG,UAAL,IAAmBH,IAAI,CAACI,OAAL,CAAaD,UAAnD;AAEA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAME,cAAN,SAA6BH,WAA7B,CAAyC;AAC/C;AACD;AACA;AACA;AAGCI,EAAAA,WAAW,CAACC,IAAD,EAAe;AACzB,UAAMA,IAAN;;AADyB,mDAFK,KAEL;AAEzB;AAED;AACD;AACA;AACA;AACA;;;AACsB,MAAVC,UAAU,GAAG;AACvB,WAAO,KAAP;AACA;AAED;AACD;AACA;AACA;AACA;AACA;;;AACWC,EAAAA,YAAY,CAACC,UAAD,EAAsB;AAC3C,WAAOA,UAAU,GAAG,WAAH,GAAiB,WAAlC;AACA;AAED;AACD;AACA;AACA;AACA;;;AACWC,EAAAA,cAAc,GAAG;AAC1B,WAAO;AACNC,MAAAA,QAAQ,EAAE,CACT,CAAC,SAAD,CADS,EAET,CACC,kBADD,EAEC;AACA,mCAHD,CAFS,CADJ;AASNC,MAAAA,QAAQ,EAAE,CACT,CAAC,cAAD,CADS;AATJ,KAAP;AAaA;AAED;AACD;AACA;;;AACuB,QAANC,MAAM,GAAG;AACxB,UAAM,KAAKC,eAAL,EAAN;AACA;AAED;AACD;AACA;AACA;AACA;AACA;AACA;;;AAC+B,QAAdC,cAAc,CAC7BC,WAD6B,EAE7BC,IAF6B,EAG7BC,OAH6B,EAI5B;AACD;AACA,UAAMC,IAAI,GAAG,KAAKX,YAAL,CAAkBU,OAAO,CAACT,UAAR,IAAsB,KAAxC,CAAb;;AACA,UAAMW,IAAI,GAAG,KAAKC,gBAAL,CAAsBL,WAAtB,CAAb;;AACA,UAAMhB,GAAG,CAACsB,UAAJ,CAAeF,IAAf,EAAqBH,IAArB,EAA2B;AAChCE,MAAAA;AADgC,KAA3B,CAAN,CAJC,CAQD;;AACA,QAAI,KAAKI,qBAAT,EAAgC;AAC/B,YAAM;AAACC,QAAAA;AAAD,UAAUN,OAAhB;;AACA,UAAIM,KAAJ,EAAW;AACV,cAAMxB,GAAG,CAACyB,MAAJ,CAAWL,IAAX,EAAiBI,KAAjB,EAAwBA,KAAxB,CAAN;AACA;AACD;AACD;AAED;AACD;AACA;;;AACgC,QAAfV,eAAe,GAAG;AACjC,UAAM;AACLY,MAAAA,UADK;AAELC,MAAAA,gBAFK;AAGLC,MAAAA;AAHK,QAIF,IAJJ;AAKA,UAAM5B,GAAG,CAACsB,UAAJ,CAAexB,QAAQ,CAAC,KAAKQ,IAAN,EAAY,KAAKC,UAAjB,CAAvB,EAAqD,CAC1D,WAD0D,EAE1D,EAF0D,EAG1D,CACC,MADD,EAEC,GAAG,CACD,GAAEmB,UAAW,UADZ,EAEF,GAAG,KAAKG,wBAAL,EAFD,EAGD,GAAEF,gBAAiB,IAAGC,4BAA6B,EAHlD,EAIFD,gBAJE,EAKDG,GALC,CAKG5B,UALH,CAFJ,EAQC,IARD,EASC,MATD,EAUEL,IAVF,CAUO,GAVP,CAH0D,EAc1D,EAd0D,EAezDA,IAfyD,CAepD,IAfoD,CAArD,EAeQ;AACbkC,MAAAA,QAAQ,EAAE,MADG;AAEbZ,MAAAA,IAAI,EAAE;AAFO,KAfR,CAAN;AAmBA;;AAlH8C","sourcesContent":["import {\n\tjoin as pathJoin\n} from 'path';\n\n// @ts-ignore-file\nimport * as puka from 'puka';\nimport fse from 'fs-extra';\n\nimport {IPackagerResourceOptions} from '../../packager';\nimport {PackagerAdl} from '../adl';\n\nconst quoteForSh = puka.quoteForSh || puka.default.quoteForSh;\n\n/**\n * PackagerAdlMac constructor.\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\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: [\n\t\t\t\t['bin/Contents']\n\t\t\t]\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<Buffer>,\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 fse.outputFile(dest, data, {\n\t\t\tmode\n\t\t});\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 fse.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\tappSdkPath,\n\t\t\tappResourcesPath,\n\t\t\t_metaResourceApplicationPath\n\t\t} = this;\n\t\tawait fse.outputFile(pathJoin(this.path, this.appRunPath), [\n\t\t\t'#!/bin/sh',\n\t\t\t'',\n\t\t\t[\n\t\t\t\t'exec',\n\t\t\t\t...[\n\t\t\t\t\t`${appSdkPath}/bin/adl`,\n\t\t\t\t\t...this._generateOptionArguments(),\n\t\t\t\t\t`${appResourcesPath}/${_metaResourceApplicationPath}`,\n\t\t\t\t\tappResourcesPath\n\t\t\t\t].map(quoteForSh),\n\t\t\t\t'--',\n\t\t\t\t'\"$@\"'\n\t\t\t].join(' '),\n\t\t\t''\n\t\t].join('\\n'), {\n\t\t\tencoding: 'utf8',\n\t\t\tmode: 0o777\n\t\t});\n\t}\n}\n"],"file":"mac.mjs","sourceRoot":"../../../src"}