parent
424ab20db1
commit
5fc5c2c8c2
@ -25,12 +25,15 @@
|
||||
"@emotion/styled": "^11.0.0",
|
||||
"@hot-loader/react-dom": "^17.0.0",
|
||||
"@tweenjs/tween.js": "^18.5.0",
|
||||
"admin-lte": "^3.2.0",
|
||||
"blessing-skin-shell": "^0.3.4",
|
||||
"bootstrap": "^4.6.1",
|
||||
"cac": "^6.6.1",
|
||||
"cli-spinners": "^2.5.0",
|
||||
"echarts": "^5.1.2",
|
||||
"events": "^3.2.0",
|
||||
"immer": "^7.0.4",
|
||||
"jquery": "^3.6.0",
|
||||
"lodash.debounce": "^4.0.8",
|
||||
"nanoid": "^3.1.9",
|
||||
"prompts": "^2.4.0",
|
||||
@ -59,7 +62,7 @@
|
||||
"@types/bootstrap": "^4.3.3",
|
||||
"@types/css-minimizer-webpack-plugin": "^1.1.0",
|
||||
"@types/jest": "^26.0.23",
|
||||
"@types/jquery": "^3.3.38",
|
||||
"@types/jquery": "^3.5.13",
|
||||
"@types/js-yaml": "^3.12.4",
|
||||
"@types/lodash.debounce": "^4.0.6",
|
||||
"@types/mini-css-extract-plugin": "^1.2.1",
|
||||
@ -72,7 +75,6 @@
|
||||
"@typescript-eslint/eslint-plugin": "^3.6.0",
|
||||
"@typescript-eslint/parser": "^3.6.0",
|
||||
"autoprefixer": "^10.2.6",
|
||||
"bootstrap": "^4.5.0",
|
||||
"css-loader": "^5.2.6",
|
||||
"css-minimizer-webpack-plugin": "^3.0.1",
|
||||
"eslint": "^7.4.0",
|
||||
@ -82,7 +84,6 @@
|
||||
"husky": "^7.0.4",
|
||||
"jest": "^27.0.4",
|
||||
"jest-extended": "^0.11.5",
|
||||
"jquery": "^3.5.1",
|
||||
"js-yaml": "^3.13.1",
|
||||
"mini-css-extract-plugin": "^1.6.0",
|
||||
"postcss": "^8.3.0",
|
||||
|
@ -1,4 +1,6 @@
|
||||
import './init' // Must be first
|
||||
import './init' // must be first
|
||||
import $ from 'jquery'
|
||||
import 'admin-lte'
|
||||
import './extra'
|
||||
import './i18n'
|
||||
import './net'
|
||||
|
@ -50,22 +50,6 @@ registerRoute(
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region jsDelivr
|
||||
registerRoute(
|
||||
/.*cdn\.jsdelivr\.net/,
|
||||
new CacheFirst({
|
||||
cacheName: 'jsdelivr-v1',
|
||||
fetchOptions: {
|
||||
credentials: 'omit',
|
||||
mode: 'cors',
|
||||
},
|
||||
plugins: [
|
||||
new ExpirationPlugin({ maxAgeSeconds: oneWeek, purgeOnQuotaError: true }),
|
||||
],
|
||||
}),
|
||||
)
|
||||
//#endregion
|
||||
|
||||
//#region JavaScript files
|
||||
registerRoute(
|
||||
/.+\/app\/\w{2,3}\.\w{7}\.js$/,
|
||||
|
@ -14,8 +14,6 @@
|
||||
}
|
||||
</style>
|
||||
{{ include('assets.home-css', ignore_missing = true) }}
|
||||
<link rel="prefetch" as="script" href="https://cdn.jsdelivr.net/npm/react@17.0.1/umd/react.production.min.js" crossorigin="anonymous">
|
||||
<link rel="prefetch" as="script" href="https://cdn.jsdelivr.net/npm/react-dom@17.0.1/umd/react-dom.production.min.js" crossorigin="anonymous">
|
||||
</head>
|
||||
|
||||
<body class="hold-transition layout-top-nav">
|
||||
|
@ -1,7 +1,3 @@
|
||||
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha256-/ijcOLwFf26xEYAjW75FizKVo5tnTYiQddPZoLUHHZ8=" crossorigin="anonymous"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" integrity="sha256-SyTu6CwrfOhaznYZPoolVw2rxoY7lKYKQvqbtqN93HI=" crossorigin="anonymous"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/admin-lte@3.2.0/dist/js/adminlte.min.js" integrity="sha256-u2yoem2HtOCQCnsp3fO9sj5kUrL+7hOAfm8es18AFjw=" crossorigin="anonymous"></script>
|
||||
<script src="{{ i18n }}" crossorigin="anonymous"></script>
|
||||
{{ include('assets.app', ignore_missing = true) }}
|
||||
{% for script in scripts %}
|
||||
|
@ -6,16 +6,13 @@
|
||||
<meta name="keywords" content="{{ seo.keywords }}">
|
||||
<meta name="description" content="{{ seo.description }}">
|
||||
{{ seo.extra|striptags('<meta>')|raw }}
|
||||
<link rel="preconnect" href="https://cdn.jsdelivr.net/" crossorigin>
|
||||
<link rel="preconnect" href="https://unpkg.com/" crossorigin>
|
||||
{% if custom_cdn_host %}
|
||||
<link rel="preconnect" href="{{ custom_cdn_host }}" id="cdn-host" crossorigin>
|
||||
{% endif %}
|
||||
<script id="blessing-globals" type="application/json">{{ blessing|json_encode|raw }}</script>
|
||||
<script src="{{ url('/meta.js') }}"></script>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/admin-lte@3.2.0/dist/css/adminlte.min.css" integrity="sha256-rhU0oslUDWrWDxTY4JxI2a2OdRtG7YSf3v5zcRbcySE=" crossorigin="anonymous">
|
||||
<link rel="preload" as="font" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.13.0/webfonts/fa-solid-900.woff2" crossorigin>
|
||||
<link rel="preload" as="font" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.13.0/webfonts/fa-regular-400.woff2" crossorigin>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.13.0/css/all.min.css" integrity="sha256-h20CPZ0QyXlBuAw7A+KluUYx/3pK+c7lYEpqLTlxjYQ=" crossorigin>
|
||||
<link rel="stylesheet" href="https://unpkg.com/@fortawesome/fontawesome-free@5.15.4/css/all.min.css" crossorigin>
|
||||
{{ include('assets.style', ignore_missing = true) }}
|
||||
{% for link in links %}
|
||||
<link{% for attribute, value in link %} {{ attribute }}="{{ value|raw }}"{% endfor %}>
|
||||
|
@ -20,7 +20,13 @@ export default function (env?: Env): webpack.Configuration[] {
|
||||
mode: isDev ? 'development' : 'production',
|
||||
entry: {
|
||||
app: ['react-hot-loader/patch', '@/index.tsx'],
|
||||
style: ['@/styles/common.css'],
|
||||
style: [
|
||||
'@/styles/common.css',
|
||||
'admin-lte/dist/css/alt/adminlte.components.min.css',
|
||||
'admin-lte/dist/css/alt/adminlte.core.min.css',
|
||||
'admin-lte/dist/css/alt/adminlte.pages.min.css',
|
||||
'admin-lte/dist/css/alt/adminlte.light.min.css',
|
||||
],
|
||||
home: '@/scripts/homePage.ts',
|
||||
'home-css': '@/styles/home.css',
|
||||
spectre: [
|
||||
@ -71,11 +77,6 @@ export default function (env?: Env): webpack.Configuration[] {
|
||||
chunkFilename: isDev ? '[id].css' : '[id].[contenthash:7].css',
|
||||
}),
|
||||
new HtmlWebpackPlugin({
|
||||
templateContent: isDev
|
||||
? ''
|
||||
: `
|
||||
<script src="https://cdn.jsdelivr.net/npm/react@17.0.1/umd/react.production.min.js" integrity="sha256-Ag0WTc8xFszCJo1qbkTKp3wBMdjpjogsZDAhnSge744=" crossorigin></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/react-dom@17.0.1/umd/react-dom.production.min.js" integrity="sha256-k8tzaSH8ucPwbsHEO4Wk5szE9zERNVz3XQynfyT66O0=" crossorigin></script>`,
|
||||
chunks: ['app'],
|
||||
scriptLoading: 'blocking',
|
||||
filename: 'app.twig',
|
||||
@ -127,15 +128,6 @@ export default function (env?: Env): webpack.Configuration[] {
|
||||
assert: false,
|
||||
},
|
||||
},
|
||||
externals: Object.assign(
|
||||
{ jquery: 'jQuery', bootstrap: 'bootstrap', 'admin-lte': 'adminlte' },
|
||||
isDev
|
||||
? {}
|
||||
: {
|
||||
react: 'React',
|
||||
'react-dom': 'ReactDOM',
|
||||
},
|
||||
) as Record<string, string>,
|
||||
optimization: {
|
||||
// @ts-ignore
|
||||
minimizer: [new CssMinimizerPlugin({}), '...'],
|
||||
|
Loading…
Reference in New Issue
Block a user