- 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
73 lines
1.9 KiB
Markdown
73 lines
1.9 KiB
Markdown
# appdirsjs
|
|
|
|
[](https://github.com/codingjerk/appdirsjs/actions)
|
|
[](https://codecov.io/gh/codingjerk/appdirsjs)
|
|
[](https://www.npmjs.com/package/appdirsjs)
|
|
[](https://www.npmjs.com/package/appdirsjs)
|
|
[](https://github.com/codingjerk/appdirsjs/blob/master/_LICENSE.md)
|
|
|
|
A node.js library to get paths to directories to store configs, caches and data according to OS standarts.
|
|
|
|
## Installation
|
|
|
|
```sh
|
|
npm install appdirsjs
|
|
```
|
|
|
|
or
|
|
|
|
```sh
|
|
yarn install appdirsjs
|
|
```
|
|
|
|
if you're using yarn.
|
|
|
|
## Usage
|
|
|
|
```javascript
|
|
import appDirs from "appdirsjs";
|
|
|
|
const dirs = appDirs({ appName: "expo" });
|
|
|
|
console.log(dirs.cache);
|
|
// /home/user/.cache/expo on Linux
|
|
// /Users/User/Library/Caches/expo on MacOS
|
|
// C:\Users\User\AppData\Local\Temp\expo on Windows
|
|
|
|
console.log(dirs.config);
|
|
// /home/user/.config/expo on Linux
|
|
// /Users/User/Library/Preferences/expo on MacOS
|
|
// C:\Users\User\AppData\Roaming\expo
|
|
|
|
console.log(dirs.data);
|
|
// /home/user/.local/share/expo on Linux
|
|
// /Users/User/Library/Application Support/expo on MacOS
|
|
// C:\Users\User\AppData\Local\expo
|
|
```
|
|
|
|
### Keep backward compability
|
|
|
|
Then switching from old-style dotfile directory,
|
|
such as `~/.myapp` to new, like `~/.config/myapp`,
|
|
you can pass `legacyPath` parameter
|
|
to keep using old directory if it exists:
|
|
|
|
```javascript
|
|
import * as path from "path";
|
|
import appDirs from "appdirsjs";
|
|
|
|
const dirs = appDirs({
|
|
appName: "expo",
|
|
// Notice usage of full path
|
|
legacyPath: path.join(os.homedir(), ".expo"),
|
|
});
|
|
|
|
console.log(dirs.config);
|
|
// /home/user/.expo
|
|
```
|
|
|
|
## TODO
|
|
|
|
- [ ] Android support
|
|
- [ ] XDG on BSD support
|