forked from olcxjas-softworks/LarpixClient
Add capacitorjs runtime
This commit is contained in:
parent
d0ece489ee
commit
f90c0e6c40
8362 changed files with 1502407 additions and 1 deletions
139
node_modules/@capacitor/assets/dist/tasks/generate.js
generated
vendored
Normal file
139
node_modules/@capacitor/assets/dist/tasks/generate.js
generated
vendored
Normal file
|
|
@ -0,0 +1,139 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.run = void 0;
|
||||
const tslib_1 = require("tslib");
|
||||
const c = (0, tslib_1.__importStar)(require("../colors"));
|
||||
const android_1 = require("../platforms/android");
|
||||
const ios_1 = require("../platforms/ios");
|
||||
const pwa_1 = require("../platforms/pwa");
|
||||
const log_1 = require("../util/log");
|
||||
async function run(ctx) {
|
||||
try {
|
||||
if (!(await ctx.project.assetDirExists())) {
|
||||
(0, log_1.error)(`Asset directory not found at ${ctx.project.projectRoot}. Use --asset-path to specify a specific directory containing assets`);
|
||||
return [];
|
||||
}
|
||||
const assets = await ctx.project.loadInputAssets();
|
||||
if ([assets.logo, assets.icon, assets.splash, assets.splashDark].every((a) => !a)) {
|
||||
(0, log_1.error)(`No assets found in the asset path ${c.ancillary(ctx.project.assetDir)}. See https://github.com/ionic-team/capacitor-assets to learn how to use this tool.`);
|
||||
return [];
|
||||
}
|
||||
let platforms = ['ios', 'android', 'pwa'];
|
||||
if (ctx.args.ios || ctx.args.android || ctx.args.pwa) {
|
||||
platforms = [];
|
||||
}
|
||||
if (ctx.args.ios) {
|
||||
platforms.push('ios');
|
||||
}
|
||||
if (ctx.args.android) {
|
||||
platforms.push('android');
|
||||
}
|
||||
if (ctx.args.pwa) {
|
||||
platforms.push('pwa');
|
||||
}
|
||||
await verifyPlatformFolders(/* mut */ platforms, ctx.project);
|
||||
if (platforms.length > 0) {
|
||||
if (!ctx.args.silent) {
|
||||
(0, log_1.log)(`Generating assets for ${platforms.map((p) => c.strong(c.success(p))).join(', ')}`);
|
||||
}
|
||||
const generators = getGenerators(ctx, platforms);
|
||||
const generated = await generateAssets(assets, generators, ctx.project);
|
||||
if (!ctx.args.silent) {
|
||||
logGenerated(generated);
|
||||
}
|
||||
/*
|
||||
if (!ctx.args.silent && platforms.indexOf('pwa') >= 0 && ctx.args.pwaTags) {
|
||||
PwaAssetGenerator.logInstructions(generated);
|
||||
}
|
||||
*/
|
||||
return generated;
|
||||
}
|
||||
else {
|
||||
log_1.logger.warn('No platforms found, exiting');
|
||||
return [];
|
||||
}
|
||||
}
|
||||
catch (e) {
|
||||
(0, log_1.error)('Unable to generate assets', e.message);
|
||||
(0, log_1.error)(e);
|
||||
}
|
||||
return [];
|
||||
}
|
||||
exports.run = run;
|
||||
async function verifyPlatformFolders(platforms, project) {
|
||||
var _a, _b;
|
||||
if (platforms.indexOf('ios') >= 0 && !(await project.iosExists())) {
|
||||
platforms.splice(platforms.indexOf('ios'), 1);
|
||||
log_1.logger.warn(`iOS platform not found at ${((_a = project.config.ios) === null || _a === void 0 ? void 0 : _a.path) || ''}, skipping iOS generation`);
|
||||
}
|
||||
if (platforms.indexOf('android') >= 0 && !(await project.androidExists())) {
|
||||
platforms.splice(platforms.indexOf('android'), 1);
|
||||
log_1.logger.warn(`Android platform not found at ${((_b = project.config.android) === null || _b === void 0 ? void 0 : _b.path) || ''}, skipping android generation`);
|
||||
}
|
||||
}
|
||||
async function generateAssets(assets, generators, project) {
|
||||
const generated = [];
|
||||
async function generateAndCollect(asset) {
|
||||
const g = await Promise.all(generators.map((g) => asset.generate(g, project)));
|
||||
generated.push(...g.flat().filter((f) => !!f));
|
||||
}
|
||||
const assetTypes = Object.values(assets).filter((v) => !!v);
|
||||
for (const asset of assetTypes) {
|
||||
await generateAndCollect(asset);
|
||||
}
|
||||
return generated;
|
||||
}
|
||||
function getGenerators(ctx, platforms) {
|
||||
return platforms.map((p) => {
|
||||
if (p === 'ios') {
|
||||
return new ios_1.IosAssetGenerator(ctx.args);
|
||||
}
|
||||
if (p === 'android') {
|
||||
return new android_1.AndroidAssetGenerator(ctx.args);
|
||||
}
|
||||
if (p === 'pwa') {
|
||||
return new pwa_1.PwaAssetGenerator(ctx.args);
|
||||
}
|
||||
});
|
||||
}
|
||||
// Print out a nice report of the assets generated
|
||||
// and totals per platform
|
||||
function logGenerated(generated) {
|
||||
const sorted = generated.slice().sort((a, b) => {
|
||||
return a.template.platform.localeCompare(b.template.platform);
|
||||
});
|
||||
for (const g of sorted) {
|
||||
Object.keys(g.destFilenames).forEach((name) => {
|
||||
const filename = g.getDestFilename(name);
|
||||
const outputInfo = g.getOutputInfo(name);
|
||||
(0, log_1.log)(`${c.strong(c.success('CREATE'))} ${c.strong(c.extra(g.template.platform))} ${c.weak(g.template.kind)} ${filename !== null && filename !== void 0 ? filename : ''}${outputInfo ? ` (${size(outputInfo.size)})` : ''}`);
|
||||
});
|
||||
}
|
||||
(0, log_1.log)('\n');
|
||||
// Aggregate total assets and size per platform
|
||||
const totals = sorted.reduce((totals, g) => {
|
||||
if (!(g.template.platform in totals)) {
|
||||
totals[g.template.platform] = {
|
||||
count: 0,
|
||||
size: 0,
|
||||
};
|
||||
}
|
||||
const entry = totals[g.template.platform];
|
||||
const count = Object.values(g.destFilenames).reduce((v) => v + 1, 0);
|
||||
const size = Object.values(g.outputInfoMap).reduce((v, c) => v + c.size, 0);
|
||||
totals[g.template.platform] = {
|
||||
count: entry.count + count,
|
||||
size: entry.size + size,
|
||||
};
|
||||
return totals;
|
||||
}, {});
|
||||
(0, log_1.log)('Totals:');
|
||||
for (const platformName of Object.keys(totals).sort()) {
|
||||
const e = totals[platformName];
|
||||
(0, log_1.log)(`${c.strong(c.success(platformName))}: ${c.strong(c.extra(e.count))} generated, ${c.strong(size(e.size))} total`);
|
||||
}
|
||||
}
|
||||
function size(bytes) {
|
||||
const i = Math.floor(Math.log(bytes) / Math.log(1024));
|
||||
return Number((bytes / Math.pow(1024, i)).toFixed(2)) * 1 + ' ' + ['B', 'KB', 'MB', 'GB', 'TB'][i];
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue