- App.tsx: full navigation (Auth stack + Main tabs with 5 screens) - Auth: LoginScreen, RegisterScreen, ForgotPasswordScreen - HomeScreen: dashboard with IoT metrics, weather widget, alerts, quick actions, sensors - MapScreen: interactive map with layer toggles (6 layers) - MarketplaceScreen: categories (6), products (5), search - ChatScreen: AI chat with quick prompts (4), bot responses - ProfileScreen: user info, stats, menu (9 items), logout - AlertsScreen: alert list with severity, acknowledge - SensorsScreen: sensor list with type filters (6 types), search - ZonesScreen: zone cards with stats - SettingsScreen: language picker (FR/EN/ES/DE), privacy, about - Stores: iotStore (sensors, zones, alerts), notificationStore, uiStore + i18n - Hooks: useSensors, useAlerts, useNotifications, useLocation - Components: Card, Button, LoadingSpinner, ErrorBoundary, Header - Services: iotService, notificationService (with axios API client) - Utils: formatters (temp, AQI, noise, dates), validators (email, password, IBAN) - Theme: colors.ts with full design system (Blue Ocean palette) - Ditto: fixed MongoDB connection, new JWT secrets, official gateway image
63 lines
2.2 KiB
JavaScript
63 lines
2.2 KiB
JavaScript
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.default = void 0;
|
|
function _cliTools() {
|
|
const data = require("@react-native-community/cli-tools");
|
|
_cliTools = function () {
|
|
return data;
|
|
};
|
|
return data;
|
|
}
|
|
var _downloadProfile = require("./downloadProfile");
|
|
async function profileHermes([dstPath], ctx, options) {
|
|
try {
|
|
_cliTools().logger.info('Downloading a Hermes Sampling Profiler from your Android device...');
|
|
if (!options.filename) {
|
|
_cliTools().logger.info('No filename is provided, pulling latest file');
|
|
}
|
|
await (0, _downloadProfile.downloadProfile)(ctx, dstPath, options.filename, options.sourcemapPath, options.raw, options.generateSourcemap, options.port, options.appId, options.appIdSuffix, options.host);
|
|
} catch (err) {
|
|
throw err;
|
|
}
|
|
}
|
|
var _default = {
|
|
name: 'profile-hermes [destinationDir]',
|
|
description: 'Pull and convert a Hermes tracing profile to Chrome tracing profile, then store it in the directory <destinationDir> of the local machine',
|
|
func: profileHermes,
|
|
options: [{
|
|
name: '--filename <string>',
|
|
description: 'File name of the profile to be downloaded, eg. sampling-profiler-trace8593107139682635366.cpuprofile'
|
|
}, {
|
|
name: '--raw',
|
|
description: 'Pulls the original Hermes tracing profile without any transformation'
|
|
}, {
|
|
name: '--sourcemap-path <string>',
|
|
description: 'The local path to your source map file, eg. /tmp/sourcemap.json'
|
|
}, {
|
|
name: '--generate-sourcemap',
|
|
description: 'Generates the JS bundle and source map'
|
|
}, {
|
|
name: '--port <number>',
|
|
default: `${process.env.RCT_METRO_PORT || 8081}`
|
|
}, {
|
|
name: '--appId <string>',
|
|
description: 'Specify an applicationId to launch after build. If not specified, `package` from AndroidManifest.xml will be used.'
|
|
}, {
|
|
name: '--appIdSuffix <string>',
|
|
description: 'Specify an applicationIdSuffix to launch after build.'
|
|
}, {
|
|
name: '--host <string>',
|
|
description: 'The host of the packager.',
|
|
default: 'localhost'
|
|
}],
|
|
examples: [{
|
|
desc: 'Download the Hermes Sampling Profiler to the directory <destinationDir> on the local machine',
|
|
cmd: 'profile-hermes /tmp'
|
|
}]
|
|
};
|
|
exports.default = _default;
|
|
|
|
//# sourceMappingURL=index.ts.map
|