create-mirta 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/templates/base/_env +4 -0
- package/dist/templates/base/package.json +2 -2
- package/dist/templates/base/rollup.config.mjs +9 -1
- package/dist/templates/base/types/env.d.ts +14 -0
- package/dist/templates/config/store/package.json +1 -1
- package/dist/templates/config/typescript/package.json +2 -2
- package/dist/templates/config/typescript/tsconfig.json +7 -1
- package/dist/templates/config/vitest/package.json +1 -1
- package/dist/templates/eslint/eslint.config.mjs.ejs +0 -2
- package/dist/templates/example/base/src/wb-rules/00-dotenv.ts +52 -0
- package/package.json +1 -1
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
"build:dev": "cross-env NODE_ENV=development rollup -c"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"mirta": "0.2.
|
|
12
|
+
"mirta": "0.2.1"
|
|
13
13
|
},
|
|
14
14
|
"devDependencies": {
|
|
15
|
-
"@mirta/rollup": "0.2.
|
|
15
|
+
"@mirta/rollup": "0.2.1",
|
|
16
16
|
"cross-env": "^7.0.3",
|
|
17
17
|
"rollup": "^4.45.1"
|
|
18
18
|
}
|
|
@@ -2,6 +2,14 @@ import { defineConfig } from '@mirta/rollup'
|
|
|
2
2
|
|
|
3
3
|
export default defineConfig({
|
|
4
4
|
dotenv: {
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* При использовании префикса, переменные
|
|
7
|
+
* окружения будут отфильтрованы по нему.
|
|
8
|
+
*
|
|
9
|
+
* Например, префиксу APP_ соответствует
|
|
10
|
+
* переменная окружения APP_NAME.
|
|
11
|
+
*
|
|
12
|
+
**/
|
|
13
|
+
prefix: '^APP_',
|
|
6
14
|
},
|
|
7
15
|
})
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
declare global {
|
|
2
|
+
namespace NodeJS {
|
|
3
|
+
//
|
|
4
|
+
// Здесь можно зарегистрировать собственные
|
|
5
|
+
// переменные окружения и добавить им аннотацию в формате JSDoc.
|
|
6
|
+
//
|
|
7
|
+
interface ProcessEnv {
|
|
8
|
+
/** Пример зарегистрированной переменной. */
|
|
9
|
+
APP_NAME?: string
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export { }
|
|
@@ -23,8 +23,6 @@ export default defineConfig([
|
|
|
23
23
|
{
|
|
24
24
|
files: ['**/*.ts'],
|
|
25
25
|
rules: {
|
|
26
|
-
// Правило несовместимо с wb-rules 2.0
|
|
27
|
-
'@typescript-eslint/prefer-includes': 'off',
|
|
28
26
|
// Позволяет работать с dev['deviceId']['controlId']
|
|
29
27
|
'@typescript-eslint/dot-notation': 'off',
|
|
30
28
|
// Разрешает интерполяцию базовых типов
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Пример использования переменных окружения.
|
|
3
|
+
*
|
|
4
|
+
* Для типизации используется файл `types/env.d.ts`
|
|
5
|
+
*
|
|
6
|
+
* Значение каждой переменной определяется в специальных
|
|
7
|
+
* файлах формата `.env`. Эти файлы хранятся отдельно от
|
|
8
|
+
* основного исходного кода, что предотвращает случайную
|
|
9
|
+
* утечку секретных данных в публичные репозитории.
|
|
10
|
+
*
|
|
11
|
+
* Основные файлы конфигурации включают:
|
|
12
|
+
* .env
|
|
13
|
+
* .env.local
|
|
14
|
+
* .env.[mode].local
|
|
15
|
+
*
|
|
16
|
+
* Значение [mode] принимает `development`, `test` или `production`.
|
|
17
|
+
*
|
|
18
|
+
* Команда build:dev первым делом заглядывает
|
|
19
|
+
* в файл `.env.development.local`
|
|
20
|
+
*
|
|
21
|
+
* Команда build обращается к значениям
|
|
22
|
+
* в файле `.env.production.local`
|
|
23
|
+
*
|
|
24
|
+
* Юнит-тесты используют `.env.test.local`
|
|
25
|
+
*
|
|
26
|
+
* Если в обозначенных местах не обнаружилось искомых ключевых пар,
|
|
27
|
+
* поиск выполняется поочерёдно в файлах `.env.local` и `.env`
|
|
28
|
+
*
|
|
29
|
+
* Примечание: переменные окружения
|
|
30
|
+
* допускается передавать через командную строку - обратите
|
|
31
|
+
* внимание на использование cross-env в package.json
|
|
32
|
+
*
|
|
33
|
+
* @since 0.2.1
|
|
34
|
+
*
|
|
35
|
+
**/
|
|
36
|
+
|
|
37
|
+
// Условие выполнится только при сборке
|
|
38
|
+
// командой `build:dev` (в режиме development).
|
|
39
|
+
//
|
|
40
|
+
// Если собрать проект
|
|
41
|
+
// командой `build` (в режиме production),
|
|
42
|
+
// код этого блока не попадёт на контроллер.
|
|
43
|
+
//
|
|
44
|
+
// Более того, поскольку других конструкций в скрипте нет,
|
|
45
|
+
// то и сам скрипт не появится в каталоге dist.
|
|
46
|
+
//
|
|
47
|
+
if (__DEV__) {
|
|
48
|
+
|
|
49
|
+
// Выводим приветствие, подставляя название из переменной окружения.
|
|
50
|
+
log(`Hello from ${process.env.APP_NAME}`)
|
|
51
|
+
|
|
52
|
+
}
|