- 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
84 lines
1.1 KiB
Markdown
84 lines
1.1 KiB
Markdown
command-exists
|
|
==============
|
|
|
|
node module to check if a command-line command exists
|
|
|
|
|
|
|
|
## installation
|
|
|
|
```bash
|
|
npm install command-exists
|
|
```
|
|
|
|
## usage
|
|
|
|
### async
|
|
|
|
```js
|
|
var commandExists = require('command-exists');
|
|
|
|
commandExists('ls', function(err, commandExists) {
|
|
|
|
if(commandExists) {
|
|
// proceed confidently knowing this command is available
|
|
}
|
|
|
|
});
|
|
```
|
|
### promise
|
|
```js
|
|
var commandExists = require('command-exists');
|
|
|
|
// invoked without a callback, it returns a promise
|
|
commandExists('ls')
|
|
.then(function(command){
|
|
// proceed
|
|
}).catch(function(){
|
|
// command doesn't exist
|
|
});
|
|
```
|
|
|
|
### sync
|
|
```js
|
|
var commandExistsSync = require('command-exists').sync;
|
|
// returns true/false; doesn't throw
|
|
if (commandExistsSync('ls')) {
|
|
// proceed
|
|
} else {
|
|
// ...
|
|
}
|
|
|
|
```
|
|
|
|
|
|
## changelog
|
|
|
|
### v1.2.7
|
|
|
|
Removes unnecessary printed output on windows.
|
|
|
|
### v1.2.6
|
|
|
|
Small bugfixes.
|
|
|
|
### v1.2.5
|
|
|
|
Fix windows bug introduced in 1.2.4.
|
|
|
|
### v1.2.4
|
|
|
|
Fix potential security issue.
|
|
|
|
### v1.2.0
|
|
|
|
Add support for promises
|
|
|
|
### v1.1.0
|
|
|
|
Add synchronous version
|
|
|
|
### v1.0.2
|
|
|
|
Support for windows
|