mirror of
https://github.com/hcengineering/platform.git
synced 2026-08-17 18:05:42 +02:00
Switch to Base images (#7654)
Signed-off-by: Andrey Sobolev <haiodo@gmail.com>
This commit is contained in:
Vendored
+1
@@ -453,6 +453,7 @@
|
|||||||
"sourceMaps": true,
|
"sourceMaps": true,
|
||||||
"cwd": "${workspaceRoot}/services/github/pod-github",
|
"cwd": "${workspaceRoot}/services/github/pod-github",
|
||||||
"protocol": "inspector",
|
"protocol": "inspector",
|
||||||
|
"attachSimplePort": 0,
|
||||||
"outputCapture": "std"
|
"outputCapture": "std"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -25,7 +25,8 @@
|
|||||||
__webpack_require__.r(__webpack_exports__);
|
__webpack_require__.r(__webpack_exports__);
|
||||||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||||
/* harmony export */ isVariableSetInNpmrcFile: () => (/* binding */ isVariableSetInNpmrcFile),
|
/* harmony export */ isVariableSetInNpmrcFile: () => (/* binding */ isVariableSetInNpmrcFile),
|
||||||
/* harmony export */ syncNpmrc: () => (/* binding */ syncNpmrc)
|
/* harmony export */ syncNpmrc: () => (/* binding */ syncNpmrc),
|
||||||
|
/* harmony export */ trimNpmrcFileLines: () => (/* binding */ trimNpmrcFileLines)
|
||||||
/* harmony export */ });
|
/* harmony export */ });
|
||||||
/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! fs */ 179896);
|
/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! fs */ 179896);
|
||||||
/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_0__);
|
/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_0__);
|
||||||
@@ -46,7 +47,7 @@ __webpack_require__.r(__webpack_exports__);
|
|||||||
// create a global _combinedNpmrc for cache purpose
|
// create a global _combinedNpmrc for cache purpose
|
||||||
const _combinedNpmrcMap = new Map();
|
const _combinedNpmrcMap = new Map();
|
||||||
function _trimNpmrcFile(options) {
|
function _trimNpmrcFile(options) {
|
||||||
const { sourceNpmrcPath, linesToPrepend, linesToAppend } = options;
|
const { sourceNpmrcPath, linesToPrepend, linesToAppend, supportEnvVarFallbackSyntax } = options;
|
||||||
const combinedNpmrcFromCache = _combinedNpmrcMap.get(sourceNpmrcPath);
|
const combinedNpmrcFromCache = _combinedNpmrcMap.get(sourceNpmrcPath);
|
||||||
if (combinedNpmrcFromCache !== undefined) {
|
if (combinedNpmrcFromCache !== undefined) {
|
||||||
return combinedNpmrcFromCache;
|
return combinedNpmrcFromCache;
|
||||||
@@ -62,6 +63,21 @@ function _trimNpmrcFile(options) {
|
|||||||
npmrcFileLines.push(...linesToAppend);
|
npmrcFileLines.push(...linesToAppend);
|
||||||
}
|
}
|
||||||
npmrcFileLines = npmrcFileLines.map((line) => (line || '').trim());
|
npmrcFileLines = npmrcFileLines.map((line) => (line || '').trim());
|
||||||
|
const resultLines = trimNpmrcFileLines(npmrcFileLines, process.env, supportEnvVarFallbackSyntax);
|
||||||
|
const combinedNpmrc = resultLines.join('\n');
|
||||||
|
//save the cache
|
||||||
|
_combinedNpmrcMap.set(sourceNpmrcPath, combinedNpmrc);
|
||||||
|
return combinedNpmrc;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param npmrcFileLines The npmrc file's lines
|
||||||
|
* @param env The environment variables object
|
||||||
|
* @param supportEnvVarFallbackSyntax Whether to support fallback values in the form of `${VAR_NAME:-fallback}`
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
function trimNpmrcFileLines(npmrcFileLines, env, supportEnvVarFallbackSyntax) {
|
||||||
|
var _a;
|
||||||
const resultLines = [];
|
const resultLines = [];
|
||||||
// This finds environment variable tokens that look like "${VAR_NAME}"
|
// This finds environment variable tokens that look like "${VAR_NAME}"
|
||||||
const expansionRegExp = /\$\{([^\}]+)\}/g;
|
const expansionRegExp = /\$\{([^\}]+)\}/g;
|
||||||
@@ -80,10 +96,35 @@ function _trimNpmrcFile(options) {
|
|||||||
const environmentVariables = line.match(expansionRegExp);
|
const environmentVariables = line.match(expansionRegExp);
|
||||||
if (environmentVariables) {
|
if (environmentVariables) {
|
||||||
for (const token of environmentVariables) {
|
for (const token of environmentVariables) {
|
||||||
// Remove the leading "${" and the trailing "}" from the token
|
/**
|
||||||
const environmentVariableName = token.substring(2, token.length - 1);
|
* Remove the leading "${" and the trailing "}" from the token
|
||||||
// Is the environment variable defined?
|
*
|
||||||
if (!process.env[environmentVariableName]) {
|
* ${nameString} -> nameString
|
||||||
|
* ${nameString-fallbackString} -> name-fallbackString
|
||||||
|
* ${nameString:-fallbackString} -> name:-fallbackString
|
||||||
|
*/
|
||||||
|
const nameWithFallback = token.substring(2, token.length - 1);
|
||||||
|
let environmentVariableName;
|
||||||
|
let fallback;
|
||||||
|
if (supportEnvVarFallbackSyntax) {
|
||||||
|
/**
|
||||||
|
* Get the environment variable name and fallback value.
|
||||||
|
*
|
||||||
|
* name fallback
|
||||||
|
* nameString -> nameString undefined
|
||||||
|
* nameString-fallbackString -> nameString fallbackString
|
||||||
|
* nameString:-fallbackString -> nameString fallbackString
|
||||||
|
*/
|
||||||
|
const matched = nameWithFallback.match(/^([^:-]+)(?:\:?-(.+))?$/);
|
||||||
|
// matched: [originStr, variableName, fallback]
|
||||||
|
environmentVariableName = (_a = matched === null || matched === void 0 ? void 0 : matched[1]) !== null && _a !== void 0 ? _a : nameWithFallback;
|
||||||
|
fallback = matched === null || matched === void 0 ? void 0 : matched[2];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
environmentVariableName = nameWithFallback;
|
||||||
|
}
|
||||||
|
// Is the environment variable and fallback value defined.
|
||||||
|
if (!env[environmentVariableName] && !fallback) {
|
||||||
// No, so trim this line
|
// No, so trim this line
|
||||||
lineShouldBeTrimmed = true;
|
lineShouldBeTrimmed = true;
|
||||||
break;
|
break;
|
||||||
@@ -100,20 +141,13 @@ function _trimNpmrcFile(options) {
|
|||||||
resultLines.push(line);
|
resultLines.push(line);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const combinedNpmrc = resultLines.join('\n');
|
return resultLines;
|
||||||
//save the cache
|
|
||||||
_combinedNpmrcMap.set(sourceNpmrcPath, combinedNpmrc);
|
|
||||||
return combinedNpmrc;
|
|
||||||
}
|
}
|
||||||
function _copyAndTrimNpmrcFile(options) {
|
function _copyAndTrimNpmrcFile(options) {
|
||||||
const { logger, sourceNpmrcPath, targetNpmrcPath, linesToPrepend, linesToAppend } = options;
|
const { logger, sourceNpmrcPath, targetNpmrcPath } = options;
|
||||||
logger.info(`Transforming ${sourceNpmrcPath}`); // Verbose
|
logger.info(`Transforming ${sourceNpmrcPath}`); // Verbose
|
||||||
logger.info(` --> "${targetNpmrcPath}"`);
|
logger.info(` --> "${targetNpmrcPath}"`);
|
||||||
const combinedNpmrc = _trimNpmrcFile({
|
const combinedNpmrc = _trimNpmrcFile(options);
|
||||||
sourceNpmrcPath,
|
|
||||||
linesToPrepend,
|
|
||||||
linesToAppend
|
|
||||||
});
|
|
||||||
fs__WEBPACK_IMPORTED_MODULE_0__.writeFileSync(targetNpmrcPath, combinedNpmrc);
|
fs__WEBPACK_IMPORTED_MODULE_0__.writeFileSync(targetNpmrcPath, combinedNpmrc);
|
||||||
return combinedNpmrc;
|
return combinedNpmrc;
|
||||||
}
|
}
|
||||||
@@ -123,7 +157,7 @@ function syncNpmrc(options) {
|
|||||||
info: console.log,
|
info: console.log,
|
||||||
// eslint-disable-next-line no-console
|
// eslint-disable-next-line no-console
|
||||||
error: console.error
|
error: console.error
|
||||||
}, createIfMissing = false, linesToAppend, linesToPrepend } = options;
|
}, createIfMissing = false } = options;
|
||||||
const sourceNpmrcPath = path__WEBPACK_IMPORTED_MODULE_1__.join(sourceNpmrcFolder, !useNpmrcPublish ? '.npmrc' : '.npmrc-publish');
|
const sourceNpmrcPath = path__WEBPACK_IMPORTED_MODULE_1__.join(sourceNpmrcFolder, !useNpmrcPublish ? '.npmrc' : '.npmrc-publish');
|
||||||
const targetNpmrcPath = path__WEBPACK_IMPORTED_MODULE_1__.join(targetNpmrcFolder, '.npmrc');
|
const targetNpmrcPath = path__WEBPACK_IMPORTED_MODULE_1__.join(targetNpmrcFolder, '.npmrc');
|
||||||
try {
|
try {
|
||||||
@@ -132,13 +166,9 @@ function syncNpmrc(options) {
|
|||||||
if (!fs__WEBPACK_IMPORTED_MODULE_0__.existsSync(targetNpmrcFolder)) {
|
if (!fs__WEBPACK_IMPORTED_MODULE_0__.existsSync(targetNpmrcFolder)) {
|
||||||
fs__WEBPACK_IMPORTED_MODULE_0__.mkdirSync(targetNpmrcFolder, { recursive: true });
|
fs__WEBPACK_IMPORTED_MODULE_0__.mkdirSync(targetNpmrcFolder, { recursive: true });
|
||||||
}
|
}
|
||||||
return _copyAndTrimNpmrcFile({
|
return _copyAndTrimNpmrcFile(Object.assign({ sourceNpmrcPath,
|
||||||
sourceNpmrcPath,
|
|
||||||
targetNpmrcPath,
|
targetNpmrcPath,
|
||||||
logger,
|
logger }, options));
|
||||||
linesToAppend,
|
|
||||||
linesToPrepend
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
else if (fs__WEBPACK_IMPORTED_MODULE_0__.existsSync(targetNpmrcPath)) {
|
else if (fs__WEBPACK_IMPORTED_MODULE_0__.existsSync(targetNpmrcPath)) {
|
||||||
// If the source .npmrc doesn't exist and there is one in the target, delete the one in the target
|
// If the source .npmrc doesn't exist and there is one in the target, delete the one in the target
|
||||||
@@ -150,13 +180,13 @@ function syncNpmrc(options) {
|
|||||||
throw new Error(`Error syncing .npmrc file: ${e}`);
|
throw new Error(`Error syncing .npmrc file: ${e}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function isVariableSetInNpmrcFile(sourceNpmrcFolder, variableKey) {
|
function isVariableSetInNpmrcFile(sourceNpmrcFolder, variableKey, supportEnvVarFallbackSyntax) {
|
||||||
const sourceNpmrcPath = `${sourceNpmrcFolder}/.npmrc`;
|
const sourceNpmrcPath = `${sourceNpmrcFolder}/.npmrc`;
|
||||||
//if .npmrc file does not exist, return false directly
|
//if .npmrc file does not exist, return false directly
|
||||||
if (!fs__WEBPACK_IMPORTED_MODULE_0__.existsSync(sourceNpmrcPath)) {
|
if (!fs__WEBPACK_IMPORTED_MODULE_0__.existsSync(sourceNpmrcPath)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
const trimmedNpmrcFile = _trimNpmrcFile({ sourceNpmrcPath });
|
const trimmedNpmrcFile = _trimNpmrcFile({ sourceNpmrcPath, supportEnvVarFallbackSyntax });
|
||||||
const variableKeyRegExp = new RegExp(`^${variableKey}=`, 'm');
|
const variableKeyRegExp = new RegExp(`^${variableKey}=`, 'm');
|
||||||
return trimmedNpmrcFile.match(variableKeyRegExp) !== null;
|
return trimmedNpmrcFile.match(variableKeyRegExp) !== null;
|
||||||
}
|
}
|
||||||
@@ -440,7 +470,8 @@ function _resolvePackageVersion(logger, rushCommonFolder, { name, version }) {
|
|||||||
(0,_utilities_npmrcUtilities__WEBPACK_IMPORTED_MODULE_4__.syncNpmrc)({
|
(0,_utilities_npmrcUtilities__WEBPACK_IMPORTED_MODULE_4__.syncNpmrc)({
|
||||||
sourceNpmrcFolder,
|
sourceNpmrcFolder,
|
||||||
targetNpmrcFolder: rushTempFolder,
|
targetNpmrcFolder: rushTempFolder,
|
||||||
logger
|
logger,
|
||||||
|
supportEnvVarFallbackSyntax: false
|
||||||
});
|
});
|
||||||
const npmPath = getNpmPath();
|
const npmPath = getNpmPath();
|
||||||
// This returns something that looks like:
|
// This returns something that looks like:
|
||||||
@@ -656,7 +687,8 @@ function installAndRun(logger, packageName, packageVersion, packageBinName, pack
|
|||||||
(0,_utilities_npmrcUtilities__WEBPACK_IMPORTED_MODULE_4__.syncNpmrc)({
|
(0,_utilities_npmrcUtilities__WEBPACK_IMPORTED_MODULE_4__.syncNpmrc)({
|
||||||
sourceNpmrcFolder,
|
sourceNpmrcFolder,
|
||||||
targetNpmrcFolder: packageInstallFolder,
|
targetNpmrcFolder: packageInstallFolder,
|
||||||
logger
|
logger,
|
||||||
|
supportEnvVarFallbackSyntax: false
|
||||||
});
|
});
|
||||||
_createPackageJson(packageInstallFolder, packageName, packageVersion);
|
_createPackageJson(packageInstallFolder, packageName, packageVersion);
|
||||||
const command = lockFilePath ? 'ci' : 'install';
|
const command = lockFilePath ? 'ci' : 'install';
|
||||||
|
|||||||
@@ -6,4 +6,4 @@ RUN apt-get install -y \
|
|||||||
poppler-utils \
|
poppler-utils \
|
||||||
html2text \
|
html2text \
|
||||||
unrtf
|
unrtf
|
||||||
RUN npm install --ignore-scripts=false --verbose sharp@v0.30.2 pdfjs-dist@v2.12.313 --unsafe-perm
|
RUN npm install --ignore-scripts=false --verbose sharp@v0.32.6 pdfjs-dist@v2.12.313 --unsafe-perm
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
FROM node:20
|
FROM hardcoreeng/base:v20250113a
|
||||||
|
|
||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
COPY bundle/bundle.js ./
|
COPY bundle/bundle.js ./
|
||||||
|
|||||||
+1
-4
@@ -1,9 +1,6 @@
|
|||||||
FROM node:20
|
FROM hardcoreeng/base
|
||||||
|
|
||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
RUN npm install --ignore-scripts=false --verbose bufferutil utf-8-validate @mongodb-js/zstd snappy msgpackr msgpackr-extract --unsafe-perm
|
|
||||||
|
|
||||||
COPY bundle/bundle.js ./
|
COPY bundle/bundle.js ./
|
||||||
|
|
||||||
CMD [ "bash" ]
|
CMD [ "bash" ]
|
||||||
|
|||||||
+1
-11
@@ -1,16 +1,6 @@
|
|||||||
FROM node:20
|
FROM hardcoreeng/base:v20250113a
|
||||||
|
|
||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
RUN npm install --ignore-scripts=false --verbose bufferutil utf-8-validate @mongodb-js/zstd snappy --unsafe-perm
|
|
||||||
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get install libjemalloc2
|
|
||||||
RUN apt-get clean
|
|
||||||
|
|
||||||
ENV LD_PRELOAD=libjemalloc.so.2
|
|
||||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
|
||||||
|
|
||||||
COPY bundle/bundle.js ./
|
COPY bundle/bundle.js ./
|
||||||
|
|
||||||
EXPOSE 3000
|
EXPOSE 3000
|
||||||
|
|||||||
+1
-11
@@ -1,17 +1,7 @@
|
|||||||
|
|
||||||
FROM node:20
|
FROM hardcoreeng/base:v20250113a
|
||||||
|
|
||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
RUN npm install --ignore-scripts=false --verbose bufferutil utf-8-validate @mongodb-js/zstd snappy --unsafe-perm
|
|
||||||
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get install libjemalloc2
|
|
||||||
RUN apt-get clean
|
|
||||||
|
|
||||||
ENV LD_PRELOAD=libjemalloc.so.2
|
|
||||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
|
||||||
|
|
||||||
COPY bundle/bundle.js ./
|
COPY bundle/bundle.js ./
|
||||||
COPY bundle/bundle.js.map ./
|
COPY bundle/bundle.js.map ./
|
||||||
COPY bundle/model.json ./
|
COPY bundle/model.json ./
|
||||||
|
|||||||
@@ -1,15 +1,6 @@
|
|||||||
|
|
||||||
FROM node:20
|
FROM hardcoreeng/base:v20250113a
|
||||||
|
|
||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
RUN npm install --ignore-scripts=false --verbose bufferutil utf-8-validate @mongodb-js/zstd snappy --unsafe-perm
|
|
||||||
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get install libjemalloc2
|
|
||||||
RUN apt-get clean
|
|
||||||
|
|
||||||
ENV LD_PRELOAD=libjemalloc.so.2
|
|
||||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
|
||||||
|
|
||||||
COPY bundle/bundle.js ./
|
COPY bundle/bundle.js ./
|
||||||
COPY bundle/bundle.js.map ./
|
COPY bundle/bundle.js.map ./
|
||||||
|
|||||||
+1
-12
@@ -1,16 +1,5 @@
|
|||||||
FROM node:20
|
FROM hardcoreeng/front-base:v20250113a
|
||||||
|
|
||||||
ENV NODE_ENV production
|
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
RUN npm install --ignore-scripts=false --verbose sharp@v0.32.6 bufferutil utf-8-validate @mongodb-js/zstd snappy --unsafe-perm
|
|
||||||
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get install libjemalloc2
|
|
||||||
RUN apt-get clean
|
|
||||||
|
|
||||||
ENV LD_PRELOAD=libjemalloc.so.2
|
|
||||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
|
||||||
|
|
||||||
COPY bundle/bundle.js ./
|
COPY bundle/bundle.js ./
|
||||||
COPY bundle/bundle.js.map ./
|
COPY bundle/bundle.js.map ./
|
||||||
|
|||||||
@@ -1,17 +1,7 @@
|
|||||||
|
|
||||||
FROM node:20
|
FROM hardcoreeng/base:v20250113a
|
||||||
|
|
||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
RUN npm install --ignore-scripts=false --verbose bufferutil utf-8-validate @mongodb-js/zstd snappy --unsafe-perm
|
|
||||||
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get install libjemalloc2
|
|
||||||
RUN apt-get clean
|
|
||||||
|
|
||||||
ENV LD_PRELOAD=libjemalloc.so.2
|
|
||||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
|
||||||
|
|
||||||
COPY bundle/bundle.js ./
|
COPY bundle/bundle.js ./
|
||||||
COPY bundle/bundle.js.map ./
|
COPY bundle/bundle.js.map ./
|
||||||
COPY bundle/model.json ./
|
COPY bundle/model.json ./
|
||||||
|
|||||||
+1
-10
@@ -1,14 +1,5 @@
|
|||||||
FROM node:20
|
FROM hardcoreeng/base:v20250113a
|
||||||
|
|
||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
RUN npm install --ignore-scripts=false --verbose bufferutil utf-8-validate @mongodb-js/zstd snappy msgpackr msgpackr-extract --unsafe-perm
|
|
||||||
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get install libjemalloc2
|
|
||||||
RUN apt-get clean
|
|
||||||
|
|
||||||
ENV LD_PRELOAD=libjemalloc.so.2
|
|
||||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
|
||||||
|
|
||||||
COPY bundle/model.json ./
|
COPY bundle/model.json ./
|
||||||
COPY bundle/bundle.js ./
|
COPY bundle/bundle.js ./
|
||||||
|
|||||||
@@ -1,14 +1,6 @@
|
|||||||
FROM node:20
|
FROM hardcoreeng/base:v20250113a
|
||||||
|
|
||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get install libjemalloc2
|
|
||||||
RUN apt-get clean
|
|
||||||
|
|
||||||
ENV LD_PRELOAD=libjemalloc.so.2
|
|
||||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
|
||||||
|
|
||||||
COPY bundle/bundle.js ./
|
COPY bundle/bundle.js ./
|
||||||
|
|
||||||
EXPOSE 4900
|
EXPOSE 4900
|
||||||
|
|||||||
@@ -1,16 +1,6 @@
|
|||||||
FROM node:20
|
FROM hardcoreeng/base:v20250113a
|
||||||
|
|
||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
RUN npm install --ignore-scripts=false --verbose bufferutil utf-8-validate @mongodb-js/zstd snappy --unsafe-perm
|
|
||||||
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get install libjemalloc2
|
|
||||||
RUN apt-get clean
|
|
||||||
|
|
||||||
ENV LD_PRELOAD=libjemalloc.so.2
|
|
||||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
|
||||||
|
|
||||||
COPY bundle/bundle.js ./
|
COPY bundle/bundle.js ./
|
||||||
COPY bundle/bundle.js.map ./
|
COPY bundle/bundle.js.map ./
|
||||||
|
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
defaults
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
GMAIL_URL=http://localhost:8087
|
|
||||||
TELEGRAM_URL=http://localhost:8086
|
|
||||||
FRONT_URL=http://localhost:8080
|
|
||||||
|
|
||||||
REKONI_URL=http://localhost:4004
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
|
|
||||||
TELEGRAM_URL = https://telegram.hc.engineering
|
|
||||||
REKONI_URL = https://rekoni.hc.engineering
|
|
||||||
GMAIL_URL = https://gmail.hc.engineering
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
stats.json
|
|
||||||
dist/
|
|
||||||
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
FROM node:20
|
|
||||||
|
|
||||||
WORKDIR /usr/src/app
|
|
||||||
|
|
||||||
COPY bundle/bundle.js ./
|
|
||||||
COPY dist/ ./dist/
|
|
||||||
|
|
||||||
EXPOSE 8080
|
|
||||||
CMD [ "node", "bundle.js" ]
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"ACCOUNTS_URL":"http://localhost:3000",
|
|
||||||
"UPLOAD_URL":"/files",
|
|
||||||
"REKONI_URL": "http://localhost:4004"
|
|
||||||
}
|
|
||||||
@@ -1,132 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "@hcengineering/prod-tracker",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"license": "EPL-2.0",
|
|
||||||
"scripts": {
|
|
||||||
"build": "echo 'disabled'",
|
|
||||||
"*build": "rm -rf ./dist && cross-env NODE_ENV=production webpack --stats-error-details && echo 'done'",
|
|
||||||
"*bundle": "cp -r ../../server/front/bundle.js .",
|
|
||||||
"bundle": "echo 'disabled'",
|
|
||||||
"*docker:build": "docker build -t hardcoreeng/tracker-front .",
|
|
||||||
"*docker:staging": "../../common/scripts/docker_tag.sh hardcoreeng/tracker-front staging",
|
|
||||||
"*docker:push": "../../common/scripts/docker_tag.sh hardcoreeng/tracker-front",
|
|
||||||
"analyze": "cross-env NODE_ENV=production webpack --json > stats.json",
|
|
||||||
"show": "webpack-bundle-analyzer stats.json dist",
|
|
||||||
"dev-server": "cross-env CLIENT_TYPE=dev-server webpack serve",
|
|
||||||
"start": "cross-env NODE_ENV=production webpack serve",
|
|
||||||
"format": "echo 'Not required'",
|
|
||||||
"lint": "echo 'Not required'",
|
|
||||||
"lint:fix": "echo 'Not required'",
|
|
||||||
"*deploy": "cp -p public/* dist && aws s3 sync dist s3://anticrm-platform --delete --acl public-read"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"cross-env": "~7.0.3",
|
|
||||||
"webpack-cli": "^4.6.0",
|
|
||||||
"webpack": "^5.32.0",
|
|
||||||
"mini-css-extract-plugin": "^2.2.0",
|
|
||||||
"dotenv-webpack": "^7.0.2",
|
|
||||||
"ts-loader": "^9.2.5",
|
|
||||||
"svelte-loader": "^3.1.9",
|
|
||||||
"css-loader": "^5.2.1",
|
|
||||||
"webpack-dev-server": "^4.7.4",
|
|
||||||
"style-loader": "^3.2.1",
|
|
||||||
"file-loader": "^6.2.0",
|
|
||||||
"sass-loader": "^12.1.0",
|
|
||||||
"@types/node": "~20.11.16",
|
|
||||||
"webpack-bundle-analyzer": "^4.4.1",
|
|
||||||
"svgo-loader": "^3.0.0",
|
|
||||||
"autoprefixer": "^10.2.6",
|
|
||||||
"postcss": "^8.3.4",
|
|
||||||
"postcss-loader": "^6.1.0",
|
|
||||||
"postcss-load-config": "^3.1.0",
|
|
||||||
"compression-webpack-plugin": "~9.0.0",
|
|
||||||
"html-webpack-plugin": "~5.5.0"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"@hcengineering/platform": "^0.6.8",
|
|
||||||
"@hcengineering/ui": "^0.6.3",
|
|
||||||
"@hcengineering/theme": "^0.6.2",
|
|
||||||
"svelte": "^4.2.5",
|
|
||||||
"@hcengineering/login": "^0.6.1",
|
|
||||||
"@hcengineering/login-assets": "^0.6.0",
|
|
||||||
"@hcengineering/login-resources": "^0.6.2",
|
|
||||||
"@hcengineering/client": "^0.6.6",
|
|
||||||
"@hcengineering/workbench": "^0.6.2",
|
|
||||||
"@hcengineering/workbench-resources": "^0.6.1",
|
|
||||||
"@hcengineering/view": "^0.6.2",
|
|
||||||
"@hcengineering/view-assets": "^0.6.0",
|
|
||||||
"@hcengineering/view-resources": "^0.6.0",
|
|
||||||
"@hcengineering/contact": "^0.6.11",
|
|
||||||
"@hcengineering/contact-resources": "^0.6.0",
|
|
||||||
"@hcengineering/task": "^0.6.1",
|
|
||||||
"@hcengineering/task-assets": "^0.6.0",
|
|
||||||
"@hcengineering/task-resources": "^0.6.0",
|
|
||||||
"@hcengineering/chunter": "^0.6.2",
|
|
||||||
"@hcengineering/chunter-assets": "^0.6.0",
|
|
||||||
"@hcengineering/chunter-resources": "^0.6.0",
|
|
||||||
"@hcengineering/setting": "^0.6.2",
|
|
||||||
"@hcengineering/setting-assets": "^0.6.0",
|
|
||||||
"@hcengineering/setting-resources": "^0.6.0",
|
|
||||||
"@hcengineering/client-resources": "^0.6.4",
|
|
||||||
"@hcengineering/contact-assets": "^0.6.0",
|
|
||||||
"@hcengineering/activity": "^0.6.0",
|
|
||||||
"@hcengineering/activity-assets": "^0.6.0",
|
|
||||||
"@hcengineering/activity-resources": "^0.6.1",
|
|
||||||
"@hcengineering/telegram": "^0.6.2",
|
|
||||||
"@hcengineering/telegram-assets": "^0.6.0",
|
|
||||||
"@hcengineering/telegram-resources": "^0.6.0",
|
|
||||||
"@hcengineering/workbench-assets": "^0.6.0",
|
|
||||||
"@hcengineering/attachment": "^0.6.1",
|
|
||||||
"@hcengineering/attachment-assets": "^0.6.0",
|
|
||||||
"@hcengineering/attachment-resources": "^0.6.0",
|
|
||||||
"@hcengineering/gmail": "^0.6.0",
|
|
||||||
"@hcengineering/gmail-assets": "^0.6.0",
|
|
||||||
"@hcengineering/gmail-resources": "^0.6.0",
|
|
||||||
"@hcengineering/image-cropper": "^0.6.0",
|
|
||||||
"@hcengineering/image-cropper-resources": "^0.6.0",
|
|
||||||
"@hcengineering/server-attachment": "^0.6.1",
|
|
||||||
"@hcengineering/server-attachment-resources": "^0.6.0",
|
|
||||||
"@hcengineering/server-collaboration": "^0.6.0",
|
|
||||||
"@hcengineering/server-collaboration-resources": "^0.6.0",
|
|
||||||
"@hcengineering/server-contact": "^0.6.1",
|
|
||||||
"@hcengineering/server-contact-resources": "^0.6.0",
|
|
||||||
"@hcengineering/server-notification": "^0.6.0",
|
|
||||||
"@hcengineering/server-notification-resources": "^0.6.0",
|
|
||||||
"@hcengineering/server-setting": "^0.6.0",
|
|
||||||
"@hcengineering/server-setting-resources": "^0.6.0",
|
|
||||||
"@hcengineering/templates": "^0.6.0",
|
|
||||||
"@hcengineering/templates-assets": "^0.6.0",
|
|
||||||
"@hcengineering/templates-resources": "^0.6.0",
|
|
||||||
"@hcengineering/notification": "^0.6.5",
|
|
||||||
"@hcengineering/notification-assets": "^0.6.0",
|
|
||||||
"@hcengineering/notification-resources": "^0.6.0",
|
|
||||||
"@hcengineering/preference": "^0.6.2",
|
|
||||||
"@hcengineering/preference-assets": "^0.6.0",
|
|
||||||
"@hcengineering/calendar": "^0.6.2",
|
|
||||||
"@hcengineering/calendar-assets": "^0.6.0",
|
|
||||||
"@hcengineering/calendar-resources": "^0.6.0",
|
|
||||||
"@hcengineering/core": "^0.6.21",
|
|
||||||
"@hcengineering/server-chunter": "^0.6.0",
|
|
||||||
"@hcengineering/server-chunter-resources": "^0.6.0",
|
|
||||||
"@hcengineering/server-task": "^0.6.0",
|
|
||||||
"@hcengineering/server-task-resources": "^0.6.0",
|
|
||||||
"@hcengineering/server-tracker": "^0.6.0",
|
|
||||||
"@hcengineering/server-tracker-resources": "^0.6.0",
|
|
||||||
"@hcengineering/server-calendar": "^0.6.0",
|
|
||||||
"@hcengineering/server-calendar-resources": "^0.6.0",
|
|
||||||
"@hcengineering/server-gmail": "^0.6.0",
|
|
||||||
"@hcengineering/server-gmail-resources": "^0.6.0",
|
|
||||||
"@hcengineering/server-telegram": "^0.6.0",
|
|
||||||
"@hcengineering/server-telegram-resources": "^0.6.0",
|
|
||||||
"@hcengineering/presentation": "^0.6.2",
|
|
||||||
"@hcengineering/tracker": "^0.6.1",
|
|
||||||
"@hcengineering/tracker-assets": "^0.6.0",
|
|
||||||
"@hcengineering/tracker-resources": "^0.6.0",
|
|
||||||
"@hcengineering/prod": "^1.0.1",
|
|
||||||
"@hcengineering/text-editor-resources": "^0.6.0",
|
|
||||||
"@hcengineering/devmodel": "^0.6.0",
|
|
||||||
"@hcengineering/devmodel-resources": "^0.6.0",
|
|
||||||
"@hcengineering/front": "^0.6.0",
|
|
||||||
"svelte-loader": "^3.1.9"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
module.exports = {
|
|
||||||
plugins: [
|
|
||||||
require('autoprefixer')
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"ACCOUNTS_URL":"/account",
|
|
||||||
"UPLOAD_URL":"/files",
|
|
||||||
"MODEL_VERSION": null
|
|
||||||
}
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.1 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 4.0 KiB |
@@ -1,5 +0,0 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
|
|
||||||
<circle fill="#FFFFFF" cx="8" cy="8" r="8"/>
|
|
||||||
<path fill="#C8C8C8" d="M8,0C3.6,0,0,3.6,0,8s3.6,8,8,8s8-3.6,8-8S12.4,0,8,0z M8,15.5c-4.1,0-7.5-3.4-7.5-7.5S3.9,0.5,8,0.5 s7.5,3.4,7.5,7.5S12.1,15.5,8,15.5z"/>
|
|
||||||
<path d="M5,13.2V3.5h4.4c0.4,0,0.9,0.1,1.2,0.2c0.4,0.1,0.7,0.4,0.9,0.6s0.4,0.6,0.6,1c0.1,0.4,0.2,0.8,0.2,1.2 c0,0.5-0.1,0.9-0.2,1.2s-0.3,0.7-0.6,1s-0.6,0.5-0.9,0.6S9.8,9.5,9.4,9.5H6.8v3.7H5z M6.8,7.9h2.4c0.4,0,0.6-0.1,0.8-0.3 s0.3-0.5,0.3-0.8V6.2c0-0.4-0.1-0.6-0.3-0.8S9.5,5.1,9.2,5.1H6.8V7.9z"/>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 573 B |
Binary file not shown.
|
Before Width: | Height: | Size: 434 B |
Binary file not shown.
|
Before Width: | Height: | Size: 6.4 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 961 B |
@@ -1,20 +0,0 @@
|
|||||||
<!doctype html>
|
|
||||||
<html>
|
|
||||||
|
|
||||||
<head>
|
|
||||||
<meta charset="utf8">
|
|
||||||
<meta name="viewport" content="width=device-width">
|
|
||||||
|
|
||||||
<title>Tracker</title>
|
|
||||||
|
|
||||||
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
|
|
||||||
<link rel="icon" type="image/svg+xml" sizes="any" href="favicon.svg">
|
|
||||||
<link rel="icon" type="image/png" sizes="16x16" href="favicon_16.png">
|
|
||||||
<link rel="icon" type="image/png" sizes="32x32" href="favicon_32.png">
|
|
||||||
<link rel="icon" type="image/png" sizes="192x192" href="favicon_192.png">
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body style="margin: 0; overflow: hidden;">
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
//
|
|
||||||
// Copyright © 2020, 2021 Anticrm Platform Contributors.
|
|
||||||
// Copyright © 2021 Hardcore Engineering, Inc.
|
|
||||||
//
|
|
||||||
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License. You may
|
|
||||||
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
//
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
//
|
|
||||||
|
|
||||||
import { createApp } from '@hcengineering/ui'
|
|
||||||
import { configurePlatform } from './platform'
|
|
||||||
import { configurePlatformDev, configurePlatformDevServer } from './platform-dev'
|
|
||||||
|
|
||||||
configurePlatform().then(() => {
|
|
||||||
if (process.env.CLIENT_TYPE === 'dev') {
|
|
||||||
configurePlatformDev()
|
|
||||||
}
|
|
||||||
if (process.env.CLIENT_TYPE === 'dev-server' || process.env.CLIENT_TYPE === 'dev-production') {
|
|
||||||
configurePlatformDevServer()
|
|
||||||
}
|
|
||||||
|
|
||||||
createApp(document.body)
|
|
||||||
})
|
|
||||||
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
//
|
|
||||||
// Copyright © 2020, 2021 Anticrm Platform Contributors.
|
|
||||||
// Copyright © 2021 Hardcore Engineering, Inc.
|
|
||||||
//
|
|
||||||
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License. You may
|
|
||||||
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
//
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
//
|
|
||||||
|
|
||||||
import { createApp } from '@hcengineering/ui'
|
|
||||||
import { configurePlatform } from './platform'
|
|
||||||
|
|
||||||
configurePlatform().then(() => {
|
|
||||||
createApp(document.body)
|
|
||||||
})
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
//
|
|
||||||
// Copyright © 2020 Anticrm Platform Contributors.
|
|
||||||
//
|
|
||||||
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License. You may
|
|
||||||
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
//
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
//
|
|
||||||
|
|
||||||
import { addLocation } from '@hcengineering/platform'
|
|
||||||
import login from '@hcengineering/login'
|
|
||||||
import { setMetadata } from '@hcengineering/platform'
|
|
||||||
import devmodel, { devModelId } from '@hcengineering/devmodel'
|
|
||||||
import client from '@hcengineering/client'
|
|
||||||
|
|
||||||
export function configurePlatformDevServer() {
|
|
||||||
// Set devmodel to hook client to be able to present all activity
|
|
||||||
enableDevModel()
|
|
||||||
}
|
|
||||||
|
|
||||||
function enableDevModel() {
|
|
||||||
setMetadata(client.metadata.ClientHook, devmodel.hook.Hook)
|
|
||||||
addLocation(devModelId, () => import(/* webpackChunkName: "devmodel" */ '@hcengineering/devmodel-resources'))
|
|
||||||
}
|
|
||||||
@@ -1,108 +0,0 @@
|
|||||||
//
|
|
||||||
// Copyright © 2020 Anticrm Platform Contributors.
|
|
||||||
//
|
|
||||||
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License. You may
|
|
||||||
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
//
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
//
|
|
||||||
|
|
||||||
import { addLocation } from '@hcengineering/platform'
|
|
||||||
|
|
||||||
import login, { loginId } from '@hcengineering/login'
|
|
||||||
import workbench, { workbenchId } from '@hcengineering/workbench'
|
|
||||||
import uiPlugin from '@hcengineering/ui'
|
|
||||||
import { viewId } from '@hcengineering/view'
|
|
||||||
import { taskId } from '@hcengineering/task'
|
|
||||||
import contact, { contactId } from '@hcengineering/contact'
|
|
||||||
import { chunterId } from '@hcengineering/chunter'
|
|
||||||
import { activityId } from '@hcengineering/activity'
|
|
||||||
import { settingId } from '@hcengineering/setting'
|
|
||||||
import telegram, { telegramId } from '@hcengineering/telegram'
|
|
||||||
import { attachmentId } from '@hcengineering/attachment'
|
|
||||||
import client, { clientId } from '@hcengineering/client'
|
|
||||||
import gmail, { gmailId } from '@hcengineering/gmail'
|
|
||||||
import { imageCropperId } from '@hcengineering/image-cropper'
|
|
||||||
import { templatesId } from '@hcengineering/templates'
|
|
||||||
import { notificationId } from '@hcengineering/notification'
|
|
||||||
import { calendarId } from '@hcengineering/calendar'
|
|
||||||
import { trackerId } from '@hcengineering/tracker'
|
|
||||||
|
|
||||||
import '@hcengineering/login-assets'
|
|
||||||
import '@hcengineering/task-assets'
|
|
||||||
import '@hcengineering/view-assets'
|
|
||||||
import '@hcengineering/chunter-assets'
|
|
||||||
import '@hcengineering/attachment-assets'
|
|
||||||
import '@hcengineering/contact-assets'
|
|
||||||
import '@hcengineering/activity-assets'
|
|
||||||
import '@hcengineering/setting-assets'
|
|
||||||
import '@hcengineering/telegram-assets'
|
|
||||||
import '@hcengineering/gmail-assets'
|
|
||||||
import '@hcengineering/workbench-assets'
|
|
||||||
import '@hcengineering/templates-assets'
|
|
||||||
import '@hcengineering/notification-assets'
|
|
||||||
import '@hcengineering/preference-assets'
|
|
||||||
import '@hcengineering/tracker-assets'
|
|
||||||
import presentation, { presentationId } from '@hcengineering/presentation'
|
|
||||||
import { coreId } from '@hcengineering/core'
|
|
||||||
import { textEditorId } from '@hcengineering/text-editor'
|
|
||||||
|
|
||||||
import { setMetadata } from '@hcengineering/platform'
|
|
||||||
|
|
||||||
export async function configurePlatform() {
|
|
||||||
const config = await (await fetch('/config.json')).json()
|
|
||||||
console.log('loading configuration', config)
|
|
||||||
setMetadata(login.metadata.AccountsUrl, config.ACCOUNTS_URL)
|
|
||||||
|
|
||||||
if (config.MODEL_VERSION != null) {
|
|
||||||
console.log('Minimal Model version requirement', config.MODEL_VERSION)
|
|
||||||
setMetadata(presentation.metadata.RequiredVersion, config.MODEL_VERSION)
|
|
||||||
}
|
|
||||||
setMetadata(telegram.metadata.TelegramURL, process.env.TELEGRAM_URL ?? 'http://localhost:8086')
|
|
||||||
setMetadata(telegram.metadata.BotUrl, process.TELEGRAM_BOT_URL ?? 'http://localhost:4020')
|
|
||||||
setMetadata(gmail.metadata.GmailURL, process.env.GMAIL_URL ?? 'http://localhost:8087')
|
|
||||||
|
|
||||||
setMetadata(uiPlugin.metadata.DefaultApplication, workbench.component.WorkbenchApp)
|
|
||||||
setMetadata(workbench.metadata.ExcludedApplications, [contact.app.Contacts])
|
|
||||||
|
|
||||||
setMetadata(
|
|
||||||
uiPlugin.metadata.Routes,
|
|
||||||
new Map([
|
|
||||||
[workbenchId, workbench.component.WorkbenchApp],
|
|
||||||
[loginId, login.component.LoginApp]
|
|
||||||
])
|
|
||||||
)
|
|
||||||
|
|
||||||
addLocation(coreId, async () => ({ default: async () => ({}) }))
|
|
||||||
addLocation(presentationId, async () => ({ default: async () => ({}) }))
|
|
||||||
|
|
||||||
addLocation(clientId, () => import(/* webpackChunkName: "client" */ '@hcengineering/client-resources'))
|
|
||||||
addLocation(loginId, () => import(/* webpackChunkName: "login" */ '@hcengineering/login-resources'))
|
|
||||||
addLocation(workbenchId, () => import(/* webpackChunkName: "workbench" */ '@hcengineering/workbench-resources'))
|
|
||||||
addLocation(viewId, () => import(/* webpackChunkName: "view" */ '@hcengineering/view-resources'))
|
|
||||||
addLocation(taskId, () => import(/* webpackChunkName: "task" */ '@hcengineering/task-resources'))
|
|
||||||
addLocation(contactId, () => import(/* webpackChunkName: "contact" */ '@hcengineering/contact-resources'))
|
|
||||||
addLocation(chunterId, () => import(/* webpackChunkName: "chunter" */ '@hcengineering/chunter-resources'))
|
|
||||||
addLocation(activityId, () => import(/*webpackChunkName: "activity" */ '@hcengineering/activity-resources'))
|
|
||||||
addLocation(settingId, () => import(/* webpackChunkName: "setting" */ '@hcengineering/setting-resources'))
|
|
||||||
addLocation(telegramId, () => import(/* webpackChunkName: "telegram" */ '@hcengineering/telegram-resources'))
|
|
||||||
addLocation(attachmentId, () => import(/* webpackChunkName: "attachment" */ '@hcengineering/attachment-resources'))
|
|
||||||
addLocation(gmailId, () => import(/* webpackChunkName: "gmail" */ '@hcengineering/gmail-resources'))
|
|
||||||
addLocation(imageCropperId, () => import(/* webpackChunkName: "image-cropper" */ '@hcengineering/image-cropper-resources'))
|
|
||||||
addLocation(templatesId, () => import(/* webpackChunkName: "templates" */ '@hcengineering/templates-resources'))
|
|
||||||
addLocation(notificationId, () => import(/* webpackChunkName: "notification" */ '@hcengineering/notification-resources'))
|
|
||||||
addLocation(calendarId, () => import(/* webpackChunkName: "calendar" */ '@hcengineering/calendar-resources'))
|
|
||||||
|
|
||||||
addLocation(trackerId, () => import(/* webpackChunkName: "tracker" */ '@hcengineering/tracker-resources'))
|
|
||||||
addLocation(textEditorId, () => import(/* webpackChunkName: "text-editor" */ '@hcengineering/text-editor-resources'))
|
|
||||||
setMetadata(uiPlugin.metadata.PlatformTitle, 'Tracker')
|
|
||||||
setMetadata(workbench.metadata.PlatformTitle, 'Tracker')
|
|
||||||
|
|
||||||
setMetadata(client.metadata.FilterModel, 'ui')
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
{
|
|
||||||
"compilerOptions": {
|
|
||||||
"outDir": "./dist/",
|
|
||||||
"module": "esnext",
|
|
||||||
"target": "es2016",
|
|
||||||
"allowJs": true,
|
|
||||||
"sourceMap": true,
|
|
||||||
"moduleResolution": "node",
|
|
||||||
"skipLibCheck": true,
|
|
||||||
"allowSyntheticDefaultImports": true,
|
|
||||||
"lib": [
|
|
||||||
"es2016",
|
|
||||||
"dom"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
//
|
|
||||||
// Copyright © 2020 Anticrm Platform Contributors.
|
|
||||||
//
|
|
||||||
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
|
|
||||||
// you may not use this file except in compliance with the License. You may
|
|
||||||
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
|
|
||||||
//
|
|
||||||
// Unless required by applicable law or agreed to in writing, software
|
|
||||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
// WITHOUT WARRANTIES OR CONDITIONSe OF ANY KIND, either express or implied.
|
|
||||||
//
|
|
||||||
// See the License for the specific language governing permissions and
|
|
||||||
// limitations under the License.
|
|
||||||
//
|
|
||||||
|
|
||||||
const path = require('path')
|
|
||||||
const prodModule = require('@hcengineering/prod/webpack.config')
|
|
||||||
|
|
||||||
module.exports = {
|
|
||||||
...prodModule,
|
|
||||||
output: {
|
|
||||||
path: __dirname + '/dist',
|
|
||||||
filename: '[name].[contenthash].js',
|
|
||||||
chunkFilename: '[name].[contenthash].js',
|
|
||||||
publicPath: '/'
|
|
||||||
},
|
|
||||||
devServer: {
|
|
||||||
...prodModule.devServer,
|
|
||||||
static: {
|
|
||||||
directory: path.resolve(__dirname, "public"),
|
|
||||||
publicPath: "/",
|
|
||||||
serveIndex: true,
|
|
||||||
watch: true,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
* path segment in the "$schema" field for all your Rush config files. This will ensure
|
* path segment in the "$schema" field for all your Rush config files. This will ensure
|
||||||
* correct error-underlining and tab-completion for editors such as VS Code.
|
* correct error-underlining and tab-completion for editors such as VS Code.
|
||||||
*/
|
*/
|
||||||
"rushVersion": "5.140.1",
|
"rushVersion": "5.148.0",
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The next field selects which package manager should be installed and determines its version.
|
* The next field selects which package manager should be installed and determines its version.
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
* Specify one of: "pnpmVersion", "npmVersion", or "yarnVersion". See the Rush documentation
|
* Specify one of: "pnpmVersion", "npmVersion", or "yarnVersion". See the Rush documentation
|
||||||
* for details about these alternatives.
|
* for details about these alternatives.
|
||||||
*/
|
*/
|
||||||
"pnpmVersion": "8.15.9",
|
"pnpmVersion": "9.15.3",
|
||||||
|
|
||||||
// "npmVersion": "4.5.0",
|
// "npmVersion": "4.5.0",
|
||||||
// "yarnVersion": "1.9.4",
|
// "yarnVersion": "1.9.4",
|
||||||
|
|||||||
@@ -1,15 +1,7 @@
|
|||||||
|
|
||||||
FROM node:20
|
FROM hardcoreeng/base:v20250113a
|
||||||
|
|
||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get install libjemalloc2
|
|
||||||
RUN apt-get clean
|
|
||||||
|
|
||||||
ENV LD_PRELOAD=libjemalloc.so.2
|
|
||||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
|
||||||
|
|
||||||
COPY bundle/bundle.js ./
|
COPY bundle/bundle.js ./
|
||||||
|
|
||||||
EXPOSE 3078
|
EXPOSE 3078
|
||||||
|
|||||||
@@ -1,14 +1,5 @@
|
|||||||
FROM node:20
|
FROM hardcoreeng/base:v20250113a
|
||||||
|
|
||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
RUN npm install --ignore-scripts=false --verbose bufferutil utf-8-validate @mongodb-js/zstd snappy --unsafe-perm
|
|
||||||
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get install libjemalloc2
|
|
||||||
RUN apt-get clean
|
|
||||||
|
|
||||||
ENV LD_PRELOAD=libjemalloc.so.2
|
|
||||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
|
||||||
|
|
||||||
RUN npm install -g pnpm
|
RUN npm install -g pnpm
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,5 @@
|
|||||||
FROM node:20
|
FROM hardcoreeng/base:v20250113a
|
||||||
|
|
||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
RUN npm install --ignore-scripts=false --verbose bufferutil utf-8-validate @mongodb-js/zstd snappy --unsafe-perm
|
|
||||||
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get install libjemalloc2
|
|
||||||
RUN apt-get clean
|
|
||||||
|
|
||||||
ENV LD_PRELOAD=libjemalloc.so.2
|
|
||||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
|
||||||
|
|
||||||
COPY bundle/bundle.js ./
|
COPY bundle/bundle.js ./
|
||||||
COPY assets/avatar.png ./
|
COPY assets/avatar.png ./
|
||||||
|
|||||||
@@ -1,14 +1,5 @@
|
|||||||
FROM node:20
|
FROM hardcoreeng/base:v20250113a
|
||||||
|
|
||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
RUN npm install --ignore-scripts=false --verbose bufferutil utf-8-validate @mongodb-js/zstd snappy --unsafe-perm
|
|
||||||
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get install libjemalloc2
|
|
||||||
RUN apt-get clean
|
|
||||||
|
|
||||||
ENV LD_PRELOAD=libjemalloc.so.2
|
|
||||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
|
||||||
|
|
||||||
COPY bundle/bundle.js ./
|
COPY bundle/bundle.js ./
|
||||||
|
|
||||||
|
|||||||
@@ -1,15 +1,7 @@
|
|||||||
|
|
||||||
FROM node:20
|
FROM hardcoreeng/base:v20250113a
|
||||||
|
|
||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get install libjemalloc2
|
|
||||||
RUN apt-get clean
|
|
||||||
|
|
||||||
ENV LD_PRELOAD=libjemalloc.so.2
|
|
||||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
|
||||||
|
|
||||||
COPY bundle/bundle.js ./
|
COPY bundle/bundle.js ./
|
||||||
|
|
||||||
EXPOSE 8095
|
EXPOSE 8095
|
||||||
|
|||||||
@@ -1,17 +1,7 @@
|
|||||||
|
|
||||||
FROM node:20
|
FROM hardcoreeng/base:v20250113a
|
||||||
|
|
||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
RUN npm install --ignore-scripts=false --verbose bufferutil utf-8-validate @mongodb-js/zstd snappy --unsafe-perm
|
|
||||||
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get install libjemalloc2
|
|
||||||
RUN apt-get clean
|
|
||||||
|
|
||||||
ENV LD_PRELOAD=libjemalloc.so.2
|
|
||||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
|
||||||
|
|
||||||
COPY bundle/bundle.js ./
|
COPY bundle/bundle.js ./
|
||||||
COPY bundle/bundle.js.map ./
|
COPY bundle/bundle.js.map ./
|
||||||
|
|
||||||
|
|||||||
@@ -1,15 +1,6 @@
|
|||||||
|
FROM hardcoreeng/base:v20250113a
|
||||||
FROM node:20
|
|
||||||
|
|
||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get install libjemalloc2
|
|
||||||
RUN apt-get clean
|
|
||||||
|
|
||||||
ENV LD_PRELOAD=libjemalloc.so.2
|
|
||||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
|
||||||
|
|
||||||
COPY bundle/bundle.js ./
|
COPY bundle/bundle.js ./
|
||||||
|
|
||||||
EXPOSE 8087
|
EXPOSE 8087
|
||||||
|
|||||||
@@ -1,15 +1,6 @@
|
|||||||
|
|
||||||
FROM node:20
|
FROM hardcoreeng/base:v20250113a
|
||||||
|
|
||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
RUN npm install --ignore-scripts=false --verbose bufferutil utf-8-validate @mongodb-js/zstd snappy --unsafe-perm
|
|
||||||
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get install libjemalloc2
|
|
||||||
RUN apt-get clean
|
|
||||||
|
|
||||||
ENV LD_PRELOAD=libjemalloc.so.2
|
|
||||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
|
||||||
|
|
||||||
COPY bundle/bundle.js ./
|
COPY bundle/bundle.js ./
|
||||||
|
|
||||||
|
|||||||
@@ -1,22 +1,6 @@
|
|||||||
|
|
||||||
FROM node:20
|
FROM hardcoreeng/print-base:v20250113a
|
||||||
|
|
||||||
# We don't need the standalone Chromium
|
|
||||||
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
|
|
||||||
# Set executable path for puppeteer
|
|
||||||
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium
|
|
||||||
|
|
||||||
# Install Chromium and fonts
|
|
||||||
# https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md?plain=1#L397
|
|
||||||
RUN apt-get update && \
|
|
||||||
apt-get install -y gnupg wget dumb-init && \
|
|
||||||
apt-get install -y fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst fonts-freefont-ttf libxss1 && \
|
|
||||||
apt-get install -y chromium-common/stable chromium/stable --no-install-recommends && \
|
|
||||||
apt-get clean
|
|
||||||
|
|
||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
RUN npm install --ignore-scripts=false --verbose bufferutil utf-8-validate @mongodb-js/zstd snappy --unsafe-perm
|
|
||||||
COPY bundle/bundle.js ./
|
COPY bundle/bundle.js ./
|
||||||
|
|
||||||
CMD [ "dumb-init", "node", "bundle.js" ]
|
CMD [ "dumb-init", "node", "bundle.js" ]
|
||||||
|
|||||||
@@ -1,22 +1,5 @@
|
|||||||
FROM node:20 AS runtime
|
FROM hardcoreeng/rekoni-base:v20250113a
|
||||||
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get install -y \
|
|
||||||
coreutils \
|
|
||||||
antiword \
|
|
||||||
poppler-utils \
|
|
||||||
html2text \
|
|
||||||
unrtf
|
|
||||||
ENV NODE_ENV=production
|
|
||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
RUN npm install --ignore-scripts=false --verbose sharp@v0.30.2 pdfjs-dist@v2.12.313 --unsafe-perm
|
|
||||||
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get install -y libjemalloc2
|
|
||||||
RUN apt-get clean
|
|
||||||
|
|
||||||
ENV LD_PRELOAD=libjemalloc.so.2
|
|
||||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
|
||||||
|
|
||||||
COPY bundle/bundle.js ./
|
COPY bundle/bundle.js ./
|
||||||
EXPOSE 4004
|
EXPOSE 4004
|
||||||
|
|||||||
@@ -1,15 +1,5 @@
|
|||||||
FROM node:20
|
FROM hardcoreeng/base:v20250113a
|
||||||
|
|
||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get install libjemalloc2
|
|
||||||
RUN apt-get clean
|
|
||||||
|
|
||||||
ENV LD_PRELOAD=libjemalloc.so.2
|
|
||||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
|
||||||
|
|
||||||
COPY bundle/bundle.js ./
|
|
||||||
|
|
||||||
EXPOSE 8089
|
EXPOSE 8089
|
||||||
CMD [ "node", "bundle.js" ]
|
CMD [ "node", "bundle.js" ]
|
||||||
|
|||||||
@@ -1,18 +1,7 @@
|
|||||||
|
|
||||||
FROM node:20
|
FROM hardcoreeng/base:v20250113a
|
||||||
|
|
||||||
RUN apt-get update && apt-get install dumb-init
|
|
||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
RUN npm install --ignore-scripts=false --verbose bufferutil utf-8-validate @mongodb-js/zstd snappy --unsafe-perm
|
|
||||||
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get install libjemalloc2
|
|
||||||
RUN apt-get clean
|
|
||||||
|
|
||||||
ENV LD_PRELOAD=libjemalloc.so.2
|
|
||||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
|
||||||
|
|
||||||
COPY bundle/bundle.js ./
|
COPY bundle/bundle.js ./
|
||||||
|
|
||||||
CMD [ "dumb-init", "node", "bundle.js" ]
|
CMD [ "dumb-init", "node", "bundle.js" ]
|
||||||
|
|||||||
@@ -1,14 +1,6 @@
|
|||||||
FROM node:20
|
FROM hardcoreeng/base:v20250113a
|
||||||
|
|
||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get install libjemalloc2
|
|
||||||
RUN apt-get clean
|
|
||||||
|
|
||||||
ENV LD_PRELOAD=libjemalloc.so.2
|
|
||||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
|
||||||
|
|
||||||
COPY bundle/bundle.js ./
|
COPY bundle/bundle.js ./
|
||||||
|
|
||||||
EXPOSE 4020
|
EXPOSE 4020
|
||||||
|
|||||||
@@ -1,15 +1,7 @@
|
|||||||
|
|
||||||
FROM node:20
|
FROM hardcoreeng/base:v20250113a
|
||||||
|
|
||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get install libjemalloc2
|
|
||||||
RUN apt-get clean
|
|
||||||
|
|
||||||
ENV LD_PRELOAD=libjemalloc.so.2
|
|
||||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
|
||||||
|
|
||||||
COPY bundle/bundle.js ./
|
COPY bundle/bundle.js ./
|
||||||
|
|
||||||
EXPOSE 8086
|
EXPOSE 8086
|
||||||
|
|||||||
Reference in New Issue
Block a user