Refactoring base files
This commit is contained in:
39
README.md
Normal file
39
README.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# Приложение с базовой конфигурацией для создания приложений на основе СУПП-Форм
|
||||
|
||||
Приложение содержит базовые модули СУПП, подключенные как внешние зависимости.
|
||||
Дальнейшая разработка модулей, специфичных для конкретной версии, ведётся по аналогии с СУПП-Формами.
|
||||
|
||||
Данный репозиторий предназначен для создания приложений на основе СУПП-Форм путём fork репозитория
|
||||
и последующей разработки/добавления модулей под конкретного заказчика.
|
||||
|
||||
## Базовые настройки
|
||||
|
||||
1. Выполнить fork репозитория
|
||||
2. Создать новый проект из репозитория (Project from Version Control)
|
||||
3. В модуле `backend/app` внести изменения в конфиги: `application.yaml`, `application-stage.yaml` (порты, БД и т.д.)
|
||||
4. В корневом POM-файле, см. [pom.xml](pom.xml), указать версию:
|
||||
```xml
|
||||
<version>1.0.0-Company</version>
|
||||
```
|
||||
Эту же версию указать в дочерних POM (backend, app) в секции parent, чтобы версии новых модулей были согласованы.
|
||||
5. Указать базовую версию СУПП в POM backend модуля, раздел properties
|
||||
см. файл [pom.xml](backend/pom.xml) строка 45
|
||||
```xml
|
||||
<supp-base.version>1.0.0</supp-base.version>
|
||||
```
|
||||
Настройка подключаемых (готовых) модулей может осуществляться более точечно, через указание конкретных версий для каждого модуля.
|
||||
6. Указать версии frontend-модулей в корневом package.json
|
||||
7. После настройки необходимо попробовать собрать и запустить приложение. Удостовериться что базовые настройки не вызывают конфликта
|
||||
и приложения работает как ожидается.
|
||||
8.
|
||||
После выполнения этих пунктов можно продолжать добавление/разработку новых модулей.
|
||||
|
||||
### PS
|
||||
Для удобства в проекте оставлены **TODO** комментарии для быстрого поиска необходимых мест настройки
|
||||
|
||||
## Добавление новых модулей
|
||||
|
||||
Модули в данное приложение могут добавляться 2-мя способами:
|
||||
1. Через подключение уже существующих версий модулей, совместимых с текущей версией базовых модулей
|
||||
2. Через добавление новых модулей в приложение (модули добавляются аналогично тому, как это описано в документации базового
|
||||
репозитория СУПП-Формы)
|
||||
@@ -10,7 +10,8 @@
|
||||
<parent>
|
||||
<groupId>org.itprom</groupId>
|
||||
<artifactId>backend</artifactId>
|
||||
<version>1.0.0</version>
|
||||
<!-- TODO: Указать базовый номер версии приложения, например: 1.0.0-CompanyName -->
|
||||
<version>1.0.0-CompanyName</version>
|
||||
</parent>
|
||||
|
||||
<developers>
|
||||
@@ -33,7 +34,7 @@
|
||||
<dependency>
|
||||
<groupId>org.itprom</groupId>
|
||||
<artifactId>backend</artifactId>
|
||||
<version>1.0.0</version>
|
||||
<version>customer</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
@@ -53,42 +54,63 @@
|
||||
<dependency>
|
||||
<groupId>org.itprom</groupId>
|
||||
<artifactId>base-config</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<version>${supp-base.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Core -->
|
||||
<dependency>
|
||||
<groupId>org.itprom</groupId>
|
||||
<artifactId>core</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<version>${supp-base.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Log -->
|
||||
<dependency>
|
||||
<groupId>org.itprom</groupId>
|
||||
<artifactId>log</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<version>${supp-base.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Menu -->
|
||||
<dependency>
|
||||
<groupId>org.itprom</groupId>
|
||||
<artifactId>menu</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<version>${supp-base.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Localization -->
|
||||
<dependency>
|
||||
<groupId>org.itprom</groupId>
|
||||
<artifactId>l10n</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<version>${supp-base.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Notification -->
|
||||
<dependency>
|
||||
<groupId>org.itprom</groupId>
|
||||
<artifactId>notification</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<version>${supp-base.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- TableLayout -->
|
||||
<dependency>
|
||||
<groupId>org.itprom</groupId>
|
||||
<artifactId>tablelayout</artifactId>
|
||||
<version>${supp-base.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- shift -->
|
||||
<dependency>
|
||||
<groupId>org.itprom</groupId>
|
||||
<artifactId>shift</artifactId>
|
||||
<version>${supp-base.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- shiftSeq -->
|
||||
<dependency>
|
||||
<groupId>org.itprom</groupId>
|
||||
<artifactId>shiftseq</artifactId>
|
||||
<version>${supp-base.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
|
||||
@@ -5,7 +5,8 @@
|
||||
<parent>
|
||||
<groupId>org.itprom</groupId>
|
||||
<artifactId>supp-forms-based-app</artifactId>
|
||||
<version>1.0.0</version>
|
||||
<!-- TODO: Указать текущий номер версии приложения, например: 1.0.0-CompanyName -->
|
||||
<version>1.0.0-CompanyName</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
@@ -40,6 +41,8 @@
|
||||
<h2.version>2.2.224</h2.version>
|
||||
<springdoc.version>3.0.0</springdoc.version>
|
||||
<commons-io.version>2.14.0</commons-io.version>
|
||||
<!-- TODO: Указать номер версии базовых модулей приложения, например: 1.0.0 (основные модули будут взяты из базовой версии СУПП-Формы 1.0.0) -->
|
||||
<supp-base.version>1.0.0</supp-base.version>
|
||||
</properties>
|
||||
|
||||
<dependencyManagement>
|
||||
|
||||
8169
frontend/package-lock.json
generated
8169
frontend/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -34,6 +34,9 @@
|
||||
"@itprom/user": "^1.0.0",
|
||||
"@itprom/user-profile": "^1.0.0",
|
||||
"@itprom/help": "^1.0.0",
|
||||
"@itprom/profession": "^1.0.0",
|
||||
"@itprom/shift-seq": "^1.0.0",
|
||||
"@itprom/shift": "^1.0.0",
|
||||
"@noble/ciphers": "^2.1.1",
|
||||
"@stomp/stompjs": "^7.2.1",
|
||||
"@vueup/vue-quill": "^1.2.0",
|
||||
|
||||
@@ -158,6 +158,11 @@ const pkg = `
|
||||
"types": "./dist/index.d.ts",
|
||||
"import": "./dist/index.es.js",
|
||||
"require": "./dist/index.cjs.js"
|
||||
},
|
||||
"./*": {
|
||||
"types": "./dist/*.d.ts",
|
||||
"import": "./dist/*.js",
|
||||
"require": "./dist/*.cjs.js"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,6 +17,6 @@
|
||||
"department",
|
||||
"shift",
|
||||
"person",
|
||||
"shift-seq",
|
||||
"help"
|
||||
"help",
|
||||
"shiftSeq"
|
||||
]
|
||||
@@ -17,9 +17,9 @@ const modules: Record<string, () => Promise<any>> = {
|
||||
role: () => import('@itprom/role'),
|
||||
help: () => import('@itprom/help'),
|
||||
message: () => import('@itprom/message'),
|
||||
// shift: () => import('@itprom/shift'),
|
||||
// shiftSeq: () => import('@itprom/shift-seq'),
|
||||
// profession: () => import('@itprom/profession'),
|
||||
shift: () => import('@itprom/shift'),
|
||||
shiftSeq: () => import('@itprom/shift-seq'),
|
||||
profession: () => import('@itprom/profession'),
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,7 +3,10 @@
|
||||
"compilerOptions": {
|
||||
"baseUrl": ".",
|
||||
"paths": {
|
||||
"@itprom/*": ["./src/modules/*/src/index.ts"]
|
||||
"@itprom/*": [
|
||||
"./node_modules/@itprom/*",
|
||||
"./src/modules/*/src/index.ts"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6,10 +6,17 @@
|
||||
"composite": true,
|
||||
"baseUrl": ".",
|
||||
"paths": {
|
||||
"@/*": ["./src/*"],
|
||||
"@itprom/*": ["./src/modules/*/src/index.ts"]
|
||||
"@/*": [
|
||||
"./src/*"
|
||||
],
|
||||
"@itprom/*": [
|
||||
"./node_modules/@itprom/*",
|
||||
"./src/modules/*/src/index.ts"
|
||||
]
|
||||
},
|
||||
"types": ["vite/client"],
|
||||
"types": [
|
||||
"vite/client"
|
||||
],
|
||||
"strict": false,
|
||||
"noUnusedLocals": false,
|
||||
"noUnusedParameters": false,
|
||||
@@ -24,6 +31,13 @@
|
||||
"isolatedModules": true,
|
||||
"noEmit": true
|
||||
},
|
||||
"include": ["env.d.ts", "src/**/*", "src/**/*.vue"],
|
||||
"exclude": ["src/**/__tests__/*", "src/modules/**/dist"]
|
||||
"include": [
|
||||
"env.d.ts",
|
||||
"src/**/*",
|
||||
"src/**/*.vue"
|
||||
],
|
||||
"exclude": [
|
||||
"src/**/__tests__/*",
|
||||
"src/modules/**/dist"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -66,7 +66,6 @@ function getModuleAliases() {
|
||||
if (fs.existsSync(modulesDir)) {
|
||||
const folders = fs.readdirSync(modulesDir);
|
||||
folders.forEach((folder) => {
|
||||
// Проверяем, что это папка и внутри есть src/index.ts
|
||||
const moduleSrcPath = path.join(modulesDir, folder, 'src', 'index.ts');
|
||||
if (fs.existsSync(moduleSrcPath)) {
|
||||
aliases[`@itprom/${folder}`] = moduleSrcPath;
|
||||
|
||||
3
pom.xml
3
pom.xml
@@ -6,7 +6,8 @@
|
||||
<!-- Common project info -->
|
||||
<groupId>org.itprom</groupId>
|
||||
<artifactId>supp-forms-based-app</artifactId>
|
||||
<version>1.0.0</version>
|
||||
<!-- TODO: Указать текущий номер версии приложения, например: 1.0.0-CompanyName -->
|
||||
<version>1.0.0-CompanyName</version>
|
||||
<description>supp-forms-based-app</description>
|
||||
<packaging>pom</packaging>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user