mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-06 17:44:11 +00:00

* 117631: upgraded bootstrap, ng-bootstrap and installed popper.js * 117631: SASS to CSS variables * 117631: Bootstrap 4 to 5 html/css fixes * 117631: Theming fixes after bootstrap upgrade * 117631: More theming fixes: accordions, spacing, search components etc * 117631: Fixed tests * 117631: Fixed offset issues * 117631: Fixed contrast ratio issue * 117631: Fixed variables, removed unnecessary mapping, fixed tables, upgraded to Bootstrap 5.3.3 * 118113: vertical footer deviders * 118113: remove button shadow * 118113: old checkboxes * 118113: Custom icons font-family * 118113: accordion color * 118113: table striped customizable background-color * 118113: revert vertical deviders in footer bs-secondary change * 118113: modal close button * 118113: add w-100 to btn-block elements * 118113: border radius * 118113: The date selector on the submission page gets squished to the side of its label fix * 118113: adding margins to dynamic-form-control-containers * 118113: adding gaps between sections of item submission form * 118113: icon font-family removed !important * 118113: removed !important from #legend_dc_date_issued * 118113: move --bs-border-radius to $bs-border-radius * 118113: remove new SCSS variable * 118113: reduce size for Item type labels * 118113: date picker border - transparent * 118113: drag-item-container elements on same line * 118113: specific border color for ds-number-picker buttons * Simplify variables & styles * 118627: html files * Fix new SCSS compile issues, remove yarn.lock * 118627: remove footer button shadow * 118627: custom login button radius * 118627: success button - white text * 118627: table alternate colors * Fix ghostly Bootstrap version, again * Override (ng-)bootstrap versions for @ng-dynamic-forms * 118627: Feedback - fix login button radius * 118627: Feedback - fix footer button shadows * 118627: Feedback - login border radius use $bs-border-radius-lg + change to rem * 118627: Tooltip issue * 118627: Metadata white authority badge * 118627: Align Back button * 118627: Bitstreams under Item's Metadata issue fix * 118627: select on edit collection page "arrow icon" * 118627: fix alignment issues * 118627: fix admin sidebar "Managment" label * 118627: Feedback - login button * 118627: Line above table heads * 118627: Remove HMTL accordion expandable arrow * 118627: bitstream table * 118627: notification "close button" * 118627: faint border/shadow around the expand buttons on hierarchical browse pages * 118627: tooltip margin * 118627: Bootstrap 5 changed the default gutter size to 24px * 118627: custom-aligning -> custom-alignment * 118627: lint-fix * 118627: lint fix * 118627: e2e Fix with new "btn-close" * 118627: e2e Fix heading order for access-control-form-container * 118627: access-control-form-container mr-4 to me-4 * 118627: update mr to me & ml to ms & pr to ps & pl to ps * 118627: Access Control "Mode" radiobuttons under Text * 118627: Item submission Publisher select icon positioning * 118627: resolved merge conflict with main (and npm install) * 118627: cherrypicking 3553 commits * Remove unused angular-idle-preload (cherry picked from commitfef5dd72b3
) * 118627: npm install - to fix package-lock.json * 120594: hamberger menu not showing fix * 120594: big logo header issue * 120594: remove faint shadow * 120594: btn-transparent class * 120594: badge-* to bg-* * 120594: add padding-right & -left for rounded-pill * 120594: update test variables to fit the new bootstrap variables * 120594: add missing rss conditions * 120594: fix white badges * 118627: remove shadow on number-picker * 120594: revert white badge fix * 120594: re-add dropdown-button in dynamic-lookup-relation-search-tab * 120594: remove default radio button styling * 120594: full width radio buttons * 120594: edit collection page alignment * 120594: bg -> bg-primary * 120594: revert to old info color * 120594: revert media breakpoints * 120594: recover PR 3227 rss * 120594: remove login & logout from PR * 120594: ds-filter input & label gap * 120594: ds-filter aligning rows * 120594: remove navbar.module.ts * 120594: remove item-edit-bitstream.component.html * 120594: remove item-edit-bitstream-drag-handle.component.html * 120594: Fix vocabulary-treeview styling * 120594: Remove unused browse-by-metadata-page.component.html * 120594: red invalid input label * 120594: use old link color for number-picker: #1f7293 * 120594: move $theme-colors to sass override * 120594: spacing for upload icon * 120594: decrease media-breakpoint-down * 120594: PR 3227 rss * 120594: merge in main bootstrap variable mappings * 120594: restore all mapped variable that have a value * 120594: fix unset variable item-edit-bitstream-bundle.component.scss * 120594: old tooltip color * 120594: edit bitstream render text inline with the icon * Revert "120594: merge in main bootstrap variable mappings" This reverts commit4e61b5fb
* 120594: add non-default mapped variables with references * 120594: add docs in _bootstrap_variables_mapping.scss * 120594: use bootstrap variables instead of hardcoded values --------- Co-authored-by: lotte <lotte_hofstede@hotmail.com> Co-authored-by: Yura Bondarenko <yura.bondarenko@atmire.com> Co-authored-by: Yury Bondarenko <ybnd@tuta.io> Co-authored-by: Tim Donohue <tim.donohue@lyrasis.org>
118 lines
3.6 KiB
TypeScript
118 lines
3.6 KiB
TypeScript
import { globalCSSImports, projectRoot, getFileHashes, calculateFileHash } from './helpers';
|
|
import { EnvironmentPlugin } from 'webpack';
|
|
|
|
const CopyWebpackPlugin = require('copy-webpack-plugin');
|
|
const path = require('path');
|
|
const sass = require('sass');
|
|
const JSON5 = require('json5');
|
|
|
|
export const copyWebpackOptions = {
|
|
patterns: [
|
|
{
|
|
from: path.join(__dirname, '..', 'node_modules', '@fortawesome', 'fontawesome-free', 'webfonts'),
|
|
to: path.join('assets', 'fonts'),
|
|
force: undefined
|
|
},
|
|
{
|
|
from: path.join(__dirname, '..', 'src', 'assets', '**', '*.json5').replace(/\\/g, '/'),
|
|
to({ absoluteFilename }) {
|
|
// use [\/|\\] to match both POSIX and Windows separators
|
|
const matches = absoluteFilename.match(/.*[\/|\\]assets[\/|\\](.+)\.json5$/);
|
|
if (matches) {
|
|
const fileHash: string = process.env.NODE_ENV === 'production' ? `.${calculateFileHash(absoluteFilename)}` : '';
|
|
// matches[1] is the relative path from src/assets to the JSON5 file, without the extension
|
|
return path.join('assets', `${matches[1]}${fileHash}.json`);
|
|
}
|
|
},
|
|
transform(content) {
|
|
return JSON.stringify(JSON5.parse(content.toString()));
|
|
}
|
|
},
|
|
{
|
|
from: path.join(__dirname, '..', 'src', 'assets'),
|
|
to: 'assets',
|
|
},
|
|
{
|
|
// replace(/\\/g, '/') because glob patterns need forward slashes, even on windows:
|
|
// https://github.com/mrmlnc/fast-glob#how-to-write-patterns-on-windows
|
|
from: path.join(__dirname, '..', 'src', 'themes', '*', 'assets', '**', '*').replace(/\\/g, '/'),
|
|
noErrorOnMissing: true,
|
|
to({ absoluteFilename }) {
|
|
// use [\/|\\] to match both POSIX and Windows separators
|
|
const matches = absoluteFilename.match(/.*[\/|\\]themes[\/|\\]([^\/|^\\]+)[\/|\\]assets[\/|\\](.+)$/);
|
|
if (matches) {
|
|
// matches[1] is the theme name
|
|
// matches[2] is the rest of the path relative to the assets folder
|
|
// e.g. themes/custom/assets/images/logo.png will end up in assets/custom/images/logo.png
|
|
return path.join('assets', matches[1], matches[2]);
|
|
}
|
|
},
|
|
},
|
|
{
|
|
from: path.join(__dirname, '..', 'src', 'robots.txt.ejs'),
|
|
to: 'assets/robots.txt.ejs'
|
|
}
|
|
]
|
|
};
|
|
|
|
const SCSS_LOADERS = [
|
|
{
|
|
loader: 'postcss-loader',
|
|
options: {
|
|
sourceMap: true
|
|
}
|
|
},
|
|
{
|
|
loader: 'sass-loader',
|
|
options: {
|
|
sourceMap: true,
|
|
sassOptions: {
|
|
includePaths: [projectRoot('./')]
|
|
}
|
|
}
|
|
},
|
|
];
|
|
|
|
export const commonExports = {
|
|
plugins: [
|
|
new EnvironmentPlugin({
|
|
languageHashes: getFileHashes(path.join(__dirname, '..', 'src', 'assets', 'i18n'), /.*\.json5/g),
|
|
}),
|
|
new CopyWebpackPlugin(copyWebpackOptions),
|
|
],
|
|
module: {
|
|
rules: [
|
|
{
|
|
test: /\.ts$/,
|
|
loader: '@ngtools/webpack'
|
|
},
|
|
{
|
|
test: /\.scss$/,
|
|
exclude: [
|
|
/node_modules/,
|
|
/(_exposed)?_variables.scss$|[\/|\\]src[\/|\\]themes[\/|\\].+?[\/|\\]styles[\/|\\].+\.scss$/
|
|
],
|
|
use: [
|
|
...SCSS_LOADERS,
|
|
{
|
|
loader: 'sass-resources-loader',
|
|
options: {
|
|
resources: globalCSSImports()
|
|
},
|
|
}
|
|
]
|
|
},
|
|
{
|
|
test: /(_exposed)?_variables.scss$|[\/|\\]src[\/|\\]themes[\/|\\].+?[\/|\\]styles[\/|\\].+\.scss$/,
|
|
exclude: [/node_modules/],
|
|
use: [
|
|
...SCSS_LOADERS,
|
|
]
|
|
},
|
|
],
|
|
},
|
|
ignoreWarnings: [
|
|
/src\/themes\/[^/]+\/.*theme.module.ts is part of the TypeScript compilation but it's unused/,
|
|
]
|
|
};
|