Merge pull request #400 from hcengineering/webpack-fix

Fix webpack build
This commit is contained in:
Andrey Sobolev 2021-11-28 17:48:28 +07:00 committed by GitHub
commit ff1b3c1dbb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 70 additions and 24 deletions

30
dev/prod/src/main-dev.ts Normal file
View File

@ -0,0 +1,30 @@
//
// 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 '@anticrm/ui'
import { configurePlatform } from './platform'
import { configurePlatformDev, configurePlatformDevServer } from './platform-dev'
configurePlatform()
if (process.env.CLIENT_TYPE === 'dev') {
configurePlatformDev()
}
if (process.env.CLIENT_TYPE === 'dev-server') {
configurePlatformDevServer()
}
createApp(document.body)

View File

@ -18,5 +18,4 @@ import { createApp } from '@anticrm/ui'
import { configurePlatform } from './platform'
configurePlatform()
createApp(document.body)

View File

@ -0,0 +1,38 @@
//
// 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 '@anticrm/platform'
import login from '@anticrm/login'
import { clientId } from '@anticrm/client'
import { serverChunterId } from '@anticrm/server-chunter'
import { serverRecruitId } from '@anticrm/server-recruit'
import { serverViewId } from '@anticrm/server-view'
import { setMetadata } from '@anticrm/platform'
export function configurePlatformDev() {
setMetadata(login.metadata.OverrideLoginToken, process.env.LOGIN_TOKEN_DEV)
setMetadata(login.metadata.OverrideEndpoint, process.env.LOGIN_ENDPOINT_DEV)
console.log('Use DEV server')
addLocation(clientId, () => import(/* webpackChunkName: "client-dev" */ '@anticrm/dev-client-resources'))
addLocation(serverChunterId, () => import(/* webpackChunkName: "server-chunter" */ '@anticrm/dev-server-chunter-resources'))
addLocation(serverRecruitId, () => import(/* webpackChunkName: "server-recruit" */ '@anticrm/server-recruit-resources'))
addLocation(serverViewId, () => import(/* webpackChunkName: "server-view" */ '@anticrm/server-view-resources'))
}
export function configurePlatformDevServer() {
console.log('Use Endpoint override:', process.env.LOGIN_ENDPOINT)
setMetadata(login.metadata.OverrideEndpoint, process.env.LOGIN_ENDPOINT)
}

View File

@ -16,7 +16,6 @@
import { addLocation } from '@anticrm/platform'
import login, { loginId } from '@anticrm/login'
import { clientId } from '@anticrm/client'
import { workbenchId } from '@anticrm/workbench'
import { viewId } from '@anticrm/view'
import { taskId } from '@anticrm/task'
@ -27,10 +26,6 @@ import { activityId } from '@anticrm/activity'
import { settingId } from '@anticrm/setting'
import { telegramId } from '@anticrm/telegram'
import { serverChunterId } from '@anticrm/server-chunter'
import { serverRecruitId } from '@anticrm/server-recruit'
import { serverViewId } from '@anticrm/server-view'
import '@anticrm/login-assets'
import '@anticrm/task-assets'
import '@anticrm/view-assets'
@ -52,23 +47,6 @@ export function configurePlatform() {
setMetadata(login.metadata.TelegramUrl, process.env.TELEGRAM_URL ?? 'http://localhost:8086')
setMetadata(login.metadata.OverrideEndpoint, process.env.LOGIN_ENDPOINT)
if (process.env.CLIENT_TYPE === 'dev') {
setMetadata(login.metadata.OverrideLoginToken, process.env.LOGIN_TOKEN_DEV)
setMetadata(login.metadata.OverrideEndpoint, process.env.LOGIN_ENDPOINT_DEV)
console.log('Use DEV server')
addLocation(clientId, () => import(/* webpackChunkName: "client-dev" */ '@anticrm/dev-client-resources'))
addLocation(serverChunterId, () => import(/* webpackChunkName: "server-chunter" */ '@anticrm/dev-server-chunter-resources'))
addLocation(serverRecruitId, () => import(/* webpackChunkName: "server-recruit" */ '@anticrm/server-recruit-resources'))
addLocation(serverViewId, () => import(/* webpackChunkName: "server-view" */ '@anticrm/server-view-resources'))
} else {
if (process.env.CLIENT_TYPE === 'dev-server') {
console.log('Use Endpoint override:', process.env.LOGIN_ENDPOINT)
setMetadata(login.metadata.OverrideEndpoint, process.env.LOGIN_ENDPOINT)
}
console.log('Use server')
addLocation(clientId, () => import(/* webpackChunkName: "client" */ '@anticrm/client-resources'))
}
addLocation(loginId, () => import(/* webpackChunkName: "login" */ '@anticrm/login-resources'))
addLocation(workbenchId, () => import(/* webpackChunkName: "workbench" */ '@anticrm/workbench-resources'))
addLocation(viewId, () => import(/* webpackChunkName: "view" */ '@anticrm/view-resources'))

View File

@ -23,12 +23,13 @@ const DefinePlugin = require('webpack').DefinePlugin
const mode = process.env.NODE_ENV || 'development'
const prod = mode === 'production'
const devServer = (process.env.CLIENT_TYPE ?? '') === 'dev-server'
const dev = (process.env.CLIENT_TYPE ?? '') === 'dev' || devServer
module.exports = {
entry: {
bundle: [
'@anticrm/theme/styles/global.scss',
'./src/main.ts'
...(dev ? ['./src/main-dev.ts']: ['./src/main.ts'] )
]
},
resolve: {