@openeuropa/bcl-theme-joinup 1.13.0 → 1.13.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/bcl-builder.config.js +27 -6
  2. package/bin/copy-fonts.js +73 -0
  3. package/package.json +7 -8
  4. /package/templates/{bcl-twig-templates/templates/bcl-accordion → bcl-accordion}/accordion.html.twig +0 -0
  5. /package/templates/{bcl-twig-templates/templates/bcl-alert → bcl-alert}/alert.html.twig +0 -0
  6. /package/templates/{bcl-twig-templates/templates/bcl-badge → bcl-badge}/badge.html.twig +0 -0
  7. /package/templates/{bcl-twig-templates/templates/bcl-banner → bcl-banner}/banner.html.twig +0 -0
  8. /package/templates/{bcl-twig-templates/templates/bcl-base-templates → bcl-base-templates}/content-type.html.twig +0 -0
  9. /package/templates/{bcl-twig-templates/templates/bcl-base-templates → bcl-base-templates}/listing-page.html.twig +0 -0
  10. /package/templates/{bcl-twig-templates/templates/bcl-base-templates → bcl-base-templates}/sidebar-search.html.twig +0 -0
  11. /package/templates/{bcl-twig-templates/templates/bcl-blockquote → bcl-blockquote}/blockquote.html.twig +0 -0
  12. /package/templates/{bcl-twig-templates/templates/bcl-breadcrumb → bcl-breadcrumb}/breadcrumb.html.twig +0 -0
  13. /package/templates/{bcl-twig-templates/templates/bcl-button → bcl-button}/button.html.twig +0 -0
  14. /package/templates/{bcl-twig-templates/templates/bcl-button-group → bcl-button-group}/button-group.html.twig +0 -0
  15. /package/templates/{bcl-twig-templates/templates/bcl-card → bcl-card}/card.html.twig +0 -0
  16. /package/templates/{bcl-twig-templates/templates/bcl-card-layout → bcl-card-layout}/card-layout.html.twig +0 -0
  17. /package/templates/{bcl-twig-templates/templates/bcl-carousel → bcl-carousel}/carousel.html.twig +0 -0
  18. /package/templates/{bcl-twig-templates/templates/bcl-contact-form → bcl-contact-form}/contact-form.html.twig +0 -0
  19. /package/templates/{bcl-twig-templates/templates/bcl-content-banner → bcl-content-banner}/content-banner.html.twig +0 -0
  20. /package/templates/{bcl-twig-templates/templates/bcl-date-block → bcl-date-block}/date-block.html.twig +0 -0
  21. /package/templates/{bcl-twig-templates/templates/bcl-description-list → bcl-description-list}/description-list-details.html.twig +0 -0
  22. /package/templates/{bcl-twig-templates/templates/bcl-description-list → bcl-description-list}/description-list-title.html.twig +0 -0
  23. /package/templates/{bcl-twig-templates/templates/bcl-description-list → bcl-description-list}/description-list.html.twig +0 -0
  24. /package/templates/{bcl-twig-templates/templates/bcl-dropdown → bcl-dropdown}/dropdown.html.twig +0 -0
  25. /package/templates/{bcl-twig-templates/templates/bcl-event → bcl-event}/event.html.twig +0 -0
  26. /package/templates/{bcl-twig-templates/templates/bcl-fact-figures → bcl-fact-figures}/fact-figures.html.twig +0 -0
  27. /package/templates/{bcl-twig-templates/templates/bcl-featured-media → bcl-featured-media}/featured-media.html.twig +0 -0
  28. /package/templates/{bcl-twig-templates/templates/bcl-file → bcl-file}/file-translations.html.twig +0 -0
  29. /package/templates/{bcl-twig-templates/templates/bcl-file → bcl-file}/file.html.twig +0 -0
  30. /package/templates/{bcl-twig-templates/templates/bcl-footer → bcl-footer}/footer.html.twig +0 -0
  31. /package/templates/{bcl-twig-templates/templates/bcl-form → bcl-form}/form.html.twig +0 -0
  32. /package/templates/{bcl-twig-templates/templates/bcl-form-input → bcl-form-input}/form-input.html.twig +0 -0
  33. /package/templates/{bcl-twig-templates/templates/bcl-gallery → bcl-gallery}/gallery-item.html.twig +0 -0
  34. /package/templates/{bcl-twig-templates/templates/bcl-gallery → bcl-gallery}/gallery.html.twig +0 -0
  35. /package/templates/{bcl-twig-templates/templates/bcl-glossary → bcl-glossary}/glossary-detail.html.twig +0 -0
  36. /package/templates/{bcl-twig-templates/templates/bcl-glossary → bcl-glossary}/glossary-listing.html.twig +0 -0
  37. /package/templates/{bcl-twig-templates/templates/bcl-group → bcl-group}/group-landing.html.twig +0 -0
  38. /package/templates/{bcl-twig-templates/templates/bcl-group → bcl-group}/group.html.twig +0 -0
  39. /package/templates/{bcl-twig-templates/templates/bcl-header → bcl-header}/header.html.twig +0 -0
  40. /package/templates/{bcl-twig-templates/templates/bcl-heading → bcl-heading}/heading.html.twig +0 -0
  41. /package/templates/{bcl-twig-templates/templates/bcl-icon → bcl-icon}/icon.html.twig +0 -0
  42. /package/templates/{bcl-twig-templates/templates/bcl-inpage-navigation → bcl-inpage-navigation}/inpage-navigation.html.twig +0 -0
  43. /package/templates/{bcl-twig-templates/templates/bcl-landing-page → bcl-landing-page}/landing-page.html.twig +0 -0
  44. /package/templates/{bcl-twig-templates/templates/bcl-language-list → bcl-language-list}/language-list-grid.html.twig +0 -0
  45. /package/templates/{bcl-twig-templates/templates/bcl-language-list → bcl-language-list}/language-list-modal.html.twig +0 -0
  46. /package/templates/{bcl-twig-templates/templates/bcl-language-list → bcl-language-list}/language-list.html.twig +0 -0
  47. /package/templates/{bcl-twig-templates/templates/bcl-language-switcher → bcl-language-switcher}/language-switcher.html.twig +0 -0
  48. /package/templates/{bcl-twig-templates/templates/bcl-link → bcl-link}/link.html.twig +0 -0
  49. /package/templates/{bcl-twig-templates/templates/bcl-links-block → bcl-links-block}/links-block.html.twig +0 -0
  50. /package/templates/{bcl-twig-templates/templates/bcl-list-group → bcl-list-group}/list-group.html.twig +0 -0
  51. /package/templates/{bcl-twig-templates/templates/bcl-listing → bcl-listing}/listing.html.twig +0 -0
  52. /package/templates/{bcl-twig-templates/templates/bcl-mega-menu → bcl-mega-menu}/mega-menu-items.html.twig +0 -0
  53. /package/templates/{bcl-twig-templates/templates/bcl-mega-menu → bcl-mega-menu}/mega-menu-submenu.html.twig +0 -0
  54. /package/templates/{bcl-twig-templates/templates/bcl-mega-menu → bcl-mega-menu}/mega-menu.html.twig +0 -0
  55. /package/templates/{bcl-twig-templates/templates/bcl-modal → bcl-modal}/modal.html.twig +0 -0
  56. /package/templates/{bcl-twig-templates/templates/bcl-navbar → bcl-navbar}/navbar.html.twig +0 -0
  57. /package/templates/{bcl-twig-templates/templates/bcl-navigation → bcl-navigation}/navigation.html.twig +0 -0
  58. /package/templates/{bcl-twig-templates/templates/bcl-offcanvas → bcl-offcanvas}/offcanvas.html.twig +0 -0
  59. /package/templates/{bcl-twig-templates/templates/bcl-page → bcl-page}/page.html.twig +0 -0
  60. /package/templates/{bcl-twig-templates/templates/bcl-pagination → bcl-pagination}/pagination-item.html.twig +0 -0
  61. /package/templates/{bcl-twig-templates/templates/bcl-pagination → bcl-pagination}/pagination.html.twig +0 -0
  62. /package/templates/{bcl-twig-templates/templates/bcl-pagination-v2 → bcl-pagination-v2}/pagination-item.html.twig +0 -0
  63. /package/templates/{bcl-twig-templates/templates/bcl-pagination-v2 → bcl-pagination-v2}/pagination.html.twig +0 -0
  64. /package/templates/{bcl-twig-templates/templates/bcl-person → bcl-person}/person.html.twig +0 -0
  65. /package/templates/{bcl-twig-templates/templates/bcl-placeholder → bcl-placeholder}/placeholder.html.twig +0 -0
  66. /package/templates/{bcl-twig-templates/templates/bcl-progress → bcl-progress}/progress.html.twig +0 -0
  67. /package/templates/{bcl-twig-templates/templates/bcl-project → bcl-project}/project-lists.html.twig +0 -0
  68. /package/templates/{bcl-twig-templates/templates/bcl-project → bcl-project}/project.html.twig +0 -0
  69. /package/templates/{bcl-twig-templates/templates/bcl-project-status → bcl-project-status}/project-contributions.html.twig +0 -0
  70. /package/templates/{bcl-twig-templates/templates/bcl-project-status → bcl-project-status}/project-status.html.twig +0 -0
  71. /package/templates/{bcl-twig-templates/templates/bcl-recent-activities → bcl-recent-activities}/recent-activities.html.twig +0 -0
  72. /package/templates/{bcl-twig-templates/templates/bcl-search → bcl-search}/search.html.twig +0 -0
  73. /package/templates/{bcl-twig-templates/templates/bcl-search-form → bcl-search-form}/search-form.html.twig +0 -0
  74. /package/templates/{bcl-twig-templates/templates/bcl-select → bcl-select}/select.html.twig +0 -0
  75. /package/templates/{bcl-twig-templates/templates/bcl-spinner → bcl-spinner}/spinner.html.twig +0 -0
  76. /package/templates/{bcl-twig-templates/templates/bcl-subscription → bcl-subscription}/subscription-modal.html.twig +0 -0
  77. /package/templates/{bcl-twig-templates/templates/bcl-subscription → bcl-subscription}/subscription.html.twig +0 -0
  78. /package/templates/{bcl-twig-templates/templates/bcl-subscription-block → bcl-subscription-block}/subscription-block.html.twig +0 -0
  79. /package/templates/{bcl-twig-templates/templates/bcl-table → bcl-table}/table.html.twig +0 -0
  80. /package/templates/{bcl-twig-templates/templates/bcl-textarea → bcl-textarea}/textarea.html.twig +0 -0
  81. /package/templates/{bcl-twig-templates/templates/bcl-timeline → bcl-timeline}/timeline-item.html.twig +0 -0
  82. /package/templates/{bcl-twig-templates/templates/bcl-timeline → bcl-timeline}/timeline.html.twig +0 -0
  83. /package/templates/{bcl-twig-templates/templates/bcl-toasts → bcl-toasts}/toasts.html.twig +0 -0
  84. /package/templates/{bcl-twig-templates/templates/bcl-user → bcl-user}/user-compact.html.twig +0 -0
  85. /package/templates/{bcl-twig-templates/templates/bcl-user → bcl-user}/user-terms.html.twig +0 -0
  86. /package/templates/{bcl-twig-templates/templates/bcl-user → bcl-user}/user.html.twig +0 -0
@@ -34,13 +34,28 @@ const resolvePackagePath = (packageName, ...segments) => {
34
34
 
35
35
  const outputFolder = path.resolve(__dirname);
36
36
  const repoRoot = path.resolve(__dirname, "../../../");
37
- const nodeModules = path.resolve(__dirname, "../../../node_modules");
38
37
  const toOutputRelativePath = (targetPath) =>
39
38
  path.relative(outputFolder, targetPath);
40
39
  const toOutputRelativePackagePath = (packagePath, ...segments) =>
41
40
  toOutputRelativePath(path.resolve(packagePath, ...segments));
41
+ const toPackageImportPath = (packageName) => {
42
+ const packagePath = resolvePackagePath(packageName);
43
+
44
+ return packageName.startsWith("@")
45
+ ? path.dirname(path.dirname(packagePath))
46
+ : path.dirname(packagePath);
47
+ };
48
+ const getCopyUpToGlobBase = (sourceGlob) =>
49
+ path
50
+ .normalize(sourceGlob.split("**")[0])
51
+ .replace(/[\\/]+$/, "")
52
+ .split(/[\\/]+/).length;
42
53
  const bootstrapIconsPath = resolvePackagePath("bootstrap-icons");
43
54
  const twigTemplatesPath = resolvePackagePath("@openeuropa/bcl-twig-templates");
55
+ const twigTemplatesGlob = toOutputRelativePackagePath(
56
+ twigTemplatesPath,
57
+ "templates/**/*.twig",
58
+ );
44
59
  const resourcesFlagIconsPath = resolvePackagePath("@ecl/resources-flag-icons");
45
60
  const resourcesEcLogoPath = resolvePackagePath("@ecl/resources-ec-logo");
46
61
  const resourcesEuLogoPath = resolvePackagePath("@ecl/resources-eu-logo");
@@ -52,7 +67,12 @@ const bootstrapReplaceIconsPath = path.resolve(
52
67
  );
53
68
 
54
69
  // SCSS includePaths
55
- const includePaths = [nodeModules];
70
+ const includePaths = [
71
+ ...new Set([
72
+ toPackageImportPath("@openeuropa/bcl-bootstrap"),
73
+ toPackageImportPath("@openeuropa/bcl-theme-default"),
74
+ ]),
75
+ ];
56
76
  const silenceDeprecations = [
57
77
  "legacy-js-api",
58
78
  "import",
@@ -204,11 +224,12 @@ module.exports = {
204
224
  options: { up: 7 },
205
225
  },
206
226
  {
207
- from: [
208
- toOutputRelativePackagePath(twigTemplatesPath, "templates/**/*.twig"),
209
- ],
227
+ from: [twigTemplatesGlob],
210
228
  to: path.resolve(outputFolder, "templates"),
211
- options: { up: 5, exclude: excludePaths },
229
+ options: {
230
+ up: getCopyUpToGlobBase(twigTemplatesGlob),
231
+ exclude: excludePaths,
232
+ },
212
233
  },
213
234
  {
214
235
  from: ["src/templates/**/*.twig"],
@@ -0,0 +1,73 @@
1
+ #!/usr/bin/env node
2
+
3
+ const fs = require("fs");
4
+ const path = require("path");
5
+
6
+ const outputDir = path.resolve(__dirname, "..", "fonts");
7
+
8
+ const resolvePackagePath = (packageName) => {
9
+ let packageRoot;
10
+
11
+ try {
12
+ packageRoot = path.dirname(
13
+ require.resolve(`${packageName}/package.json`, { paths: [__dirname] }),
14
+ );
15
+ } catch (error) {
16
+ if (error.code !== "ERR_PACKAGE_PATH_NOT_EXPORTED") {
17
+ throw error;
18
+ }
19
+
20
+ let currentPath = fs.realpathSync(
21
+ require.resolve(packageName, { paths: [__dirname] }),
22
+ );
23
+
24
+ while (!packageRoot) {
25
+ currentPath = path.dirname(currentPath);
26
+
27
+ if (fs.existsSync(path.resolve(currentPath, "package.json"))) {
28
+ packageRoot = currentPath;
29
+ }
30
+ }
31
+ }
32
+
33
+ return fs.realpathSync(packageRoot);
34
+ };
35
+
36
+ const robotoPath = resolvePackagePath("@fontsource/roboto");
37
+ const cssPattern = /^(?:lat|cyr|gree).+-(?:400|500|700).*\.css$/;
38
+ const fontPattern =
39
+ /^roboto-(?:latin.*|cyrillic|greek)-(?:400|500|700)-.+\.woff2?$/;
40
+
41
+ fs.mkdirSync(path.join(outputDir, "files"), { recursive: true });
42
+
43
+ let copiedFiles = 0;
44
+
45
+ for (const fileName of fs.readdirSync(robotoPath)) {
46
+ if (!cssPattern.test(fileName)) {
47
+ continue;
48
+ }
49
+
50
+ fs.copyFileSync(
51
+ path.join(robotoPath, fileName),
52
+ path.join(outputDir, fileName),
53
+ );
54
+ copiedFiles += 1;
55
+ }
56
+
57
+ for (const fileName of fs.readdirSync(path.join(robotoPath, "files"))) {
58
+ if (!fontPattern.test(fileName)) {
59
+ continue;
60
+ }
61
+
62
+ fs.copyFileSync(
63
+ path.join(robotoPath, "files", fileName),
64
+ path.join(outputDir, "files", fileName),
65
+ );
66
+ copiedFiles += 1;
67
+ }
68
+
69
+ if (copiedFiles === 0) {
70
+ throw new Error("No Roboto font files were copied.");
71
+ }
72
+
73
+ console.log(`Copied ${copiedFiles} Roboto font files.`);
package/package.json CHANGED
@@ -2,13 +2,12 @@
2
2
  "name": "@openeuropa/bcl-theme-joinup",
3
3
  "author": "European Commission",
4
4
  "license": "EUPL-1.2",
5
- "version": "1.13.0",
5
+ "version": "1.13.2",
6
6
  "description": "OE - BCL theme joinup",
7
7
  "scripts": {
8
8
  "align-templates": "lerna --scope \"@openeuropa/bcl-twig-templates\" run prepublish",
9
9
  "build": "npm-run-all 'build:*'",
10
- "build:fonts-css": "copyfiles -f ../../../node_modules/@fontsource/roboto/{lat*,cyr*,gree*}-{400,500,700}*.css fonts",
11
- "build:font-files": "copyfiles -u 6 ../../../node_modules/@fontsource/roboto/files/roboto-{latin*,cyrillic,greek}-{400,500,700}* fonts",
10
+ "build:fonts": "node bin/copy-fonts.js",
12
11
  "build:styles": "cross-env bcl-builder styles",
13
12
  "build:scripts": "cross-env bcl-builder scripts",
14
13
  "prebuild:copy": "rimraf templates",
@@ -29,10 +28,10 @@
29
28
  "@ecl/resources-eu-logo": "3.13.0",
30
29
  "@ecl/resources-flag-icons": "3.13.0",
31
30
  "@fontsource/roboto": "5.2.9",
32
- "@openeuropa/bcl-bootstrap": "^1.13.0",
33
- "@openeuropa/bcl-builder": "^1.13.0",
34
- "@openeuropa/bcl-theme-default": "^1.13.0",
35
- "@openeuropa/bcl-twig-templates": "^1.13.0",
31
+ "@openeuropa/bcl-bootstrap": "^1.13.2",
32
+ "@openeuropa/bcl-builder": "^1.13.2",
33
+ "@openeuropa/bcl-theme-default": "^1.13.2",
34
+ "@openeuropa/bcl-twig-templates": "^1.13.2",
36
35
  "@rollup/plugin-replace": "6.0.3",
37
36
  "copyfiles": "2.4.1",
38
37
  "cross-env": "10.1.0",
@@ -58,5 +57,5 @@
58
57
  "design-system",
59
58
  "twig"
60
59
  ],
61
- "gitHead": "34e56d7f9c42b8a331a6fdd483958fa17ecaf8ca"
60
+ "gitHead": "13e3e4489e4ab19744c8231f0f84bd9e5dfd92f4"
62
61
  }