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>
|
<parent>
|
||||||
<groupId>org.itprom</groupId>
|
<groupId>org.itprom</groupId>
|
||||||
<artifactId>backend</artifactId>
|
<artifactId>backend</artifactId>
|
||||||
<version>1.0.0</version>
|
<!-- TODO: Указать базовый номер версии приложения, например: 1.0.0-CompanyName -->
|
||||||
|
<version>1.0.0-CompanyName</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<developers>
|
<developers>
|
||||||
@@ -33,7 +34,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.itprom</groupId>
|
<groupId>org.itprom</groupId>
|
||||||
<artifactId>backend</artifactId>
|
<artifactId>backend</artifactId>
|
||||||
<version>1.0.0</version>
|
<version>customer</version>
|
||||||
<type>pom</type>
|
<type>pom</type>
|
||||||
<scope>import</scope>
|
<scope>import</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
@@ -53,42 +54,63 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.itprom</groupId>
|
<groupId>org.itprom</groupId>
|
||||||
<artifactId>base-config</artifactId>
|
<artifactId>base-config</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${supp-base.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- Core -->
|
<!-- Core -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.itprom</groupId>
|
<groupId>org.itprom</groupId>
|
||||||
<artifactId>core</artifactId>
|
<artifactId>core</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${supp-base.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- Log -->
|
<!-- Log -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.itprom</groupId>
|
<groupId>org.itprom</groupId>
|
||||||
<artifactId>log</artifactId>
|
<artifactId>log</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${supp-base.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- Menu -->
|
<!-- Menu -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.itprom</groupId>
|
<groupId>org.itprom</groupId>
|
||||||
<artifactId>menu</artifactId>
|
<artifactId>menu</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${supp-base.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- Localization -->
|
<!-- Localization -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.itprom</groupId>
|
<groupId>org.itprom</groupId>
|
||||||
<artifactId>l10n</artifactId>
|
<artifactId>l10n</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${supp-base.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- Notification -->
|
<!-- Notification -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.itprom</groupId>
|
<groupId>org.itprom</groupId>
|
||||||
<artifactId>notification</artifactId>
|
<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>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,8 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.itprom</groupId>
|
<groupId>org.itprom</groupId>
|
||||||
<artifactId>supp-forms-based-app</artifactId>
|
<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>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
@@ -22,7 +23,7 @@
|
|||||||
|
|
||||||
<modules>
|
<modules>
|
||||||
<module>app</module>
|
<module>app</module>
|
||||||
<!-- Add custom new modules here -->
|
<!-- Add custom new modules here -->
|
||||||
</modules>
|
</modules>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
@@ -40,6 +41,8 @@
|
|||||||
<h2.version>2.2.224</h2.version>
|
<h2.version>2.2.224</h2.version>
|
||||||
<springdoc.version>3.0.0</springdoc.version>
|
<springdoc.version>3.0.0</springdoc.version>
|
||||||
<commons-io.version>2.14.0</commons-io.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>
|
</properties>
|
||||||
|
|
||||||
<dependencyManagement>
|
<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": "^1.0.0",
|
||||||
"@itprom/user-profile": "^1.0.0",
|
"@itprom/user-profile": "^1.0.0",
|
||||||
"@itprom/help": "^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",
|
"@noble/ciphers": "^2.1.1",
|
||||||
"@stomp/stompjs": "^7.2.1",
|
"@stomp/stompjs": "^7.2.1",
|
||||||
"@vueup/vue-quill": "^1.2.0",
|
"@vueup/vue-quill": "^1.2.0",
|
||||||
@@ -73,4 +76,4 @@
|
|||||||
"vite-plugin-checker": "^0.12.0",
|
"vite-plugin-checker": "^0.12.0",
|
||||||
"vue-tsc": "^3.1.5"
|
"vue-tsc": "^3.1.5"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -158,7 +158,12 @@ const pkg = `
|
|||||||
"types": "./dist/index.d.ts",
|
"types": "./dist/index.d.ts",
|
||||||
"import": "./dist/index.es.js",
|
"import": "./dist/index.es.js",
|
||||||
"require": "./dist/index.cjs.js"
|
"require": "./dist/index.cjs.js"
|
||||||
}
|
},
|
||||||
|
"./*": {
|
||||||
|
"types": "./dist/*.d.ts",
|
||||||
|
"import": "./dist/*.js",
|
||||||
|
"require": "./dist/*.cjs.js"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
|
|||||||
@@ -17,6 +17,6 @@
|
|||||||
"department",
|
"department",
|
||||||
"shift",
|
"shift",
|
||||||
"person",
|
"person",
|
||||||
"shift-seq",
|
"help",
|
||||||
"help"
|
"shiftSeq"
|
||||||
]
|
]
|
||||||
@@ -17,9 +17,9 @@ const modules: Record<string, () => Promise<any>> = {
|
|||||||
role: () => import('@itprom/role'),
|
role: () => import('@itprom/role'),
|
||||||
help: () => import('@itprom/help'),
|
help: () => import('@itprom/help'),
|
||||||
message: () => import('@itprom/message'),
|
message: () => import('@itprom/message'),
|
||||||
// shift: () => import('@itprom/shift'),
|
shift: () => import('@itprom/shift'),
|
||||||
// shiftSeq: () => import('@itprom/shift-seq'),
|
shiftSeq: () => import('@itprom/shift-seq'),
|
||||||
// profession: () => import('@itprom/profession'),
|
profession: () => import('@itprom/profession'),
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -3,7 +3,10 @@
|
|||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"baseUrl": ".",
|
"baseUrl": ".",
|
||||||
"paths": {
|
"paths": {
|
||||||
"@itprom/*": ["./src/modules/*/src/index.ts"]
|
"@itprom/*": [
|
||||||
|
"./node_modules/@itprom/*",
|
||||||
|
"./src/modules/*/src/index.ts"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -6,10 +6,17 @@
|
|||||||
"composite": true,
|
"composite": true,
|
||||||
"baseUrl": ".",
|
"baseUrl": ".",
|
||||||
"paths": {
|
"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,
|
"strict": false,
|
||||||
"noUnusedLocals": false,
|
"noUnusedLocals": false,
|
||||||
"noUnusedParameters": false,
|
"noUnusedParameters": false,
|
||||||
@@ -24,6 +31,13 @@
|
|||||||
"isolatedModules": true,
|
"isolatedModules": true,
|
||||||
"noEmit": true
|
"noEmit": true
|
||||||
},
|
},
|
||||||
"include": ["env.d.ts", "src/**/*", "src/**/*.vue"],
|
"include": [
|
||||||
"exclude": ["src/**/__tests__/*", "src/modules/**/dist"]
|
"env.d.ts",
|
||||||
|
"src/**/*",
|
||||||
|
"src/**/*.vue"
|
||||||
|
],
|
||||||
|
"exclude": [
|
||||||
|
"src/**/__tests__/*",
|
||||||
|
"src/modules/**/dist"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -66,7 +66,6 @@ function getModuleAliases() {
|
|||||||
if (fs.existsSync(modulesDir)) {
|
if (fs.existsSync(modulesDir)) {
|
||||||
const folders = fs.readdirSync(modulesDir);
|
const folders = fs.readdirSync(modulesDir);
|
||||||
folders.forEach((folder) => {
|
folders.forEach((folder) => {
|
||||||
// Проверяем, что это папка и внутри есть src/index.ts
|
|
||||||
const moduleSrcPath = path.join(modulesDir, folder, 'src', 'index.ts');
|
const moduleSrcPath = path.join(modulesDir, folder, 'src', 'index.ts');
|
||||||
if (fs.existsSync(moduleSrcPath)) {
|
if (fs.existsSync(moduleSrcPath)) {
|
||||||
aliases[`@itprom/${folder}`] = moduleSrcPath;
|
aliases[`@itprom/${folder}`] = moduleSrcPath;
|
||||||
|
|||||||
3
pom.xml
3
pom.xml
@@ -6,7 +6,8 @@
|
|||||||
<!-- Common project info -->
|
<!-- Common project info -->
|
||||||
<groupId>org.itprom</groupId>
|
<groupId>org.itprom</groupId>
|
||||||
<artifactId>supp-forms-based-app</artifactId>
|
<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>
|
<description>supp-forms-based-app</description>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user