@madgex/fert 5.0.3 → 5.0.5

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 (127) hide show
  1. package/README.md +21 -12
  2. package/bin/cli.js +9 -27
  3. package/bin/commands/_service-command-bootstrap.js +12 -52
  4. package/bin/commands/build-tasks/build-tokens.js +8 -22
  5. package/bin/commands/build-tasks/bundle-entry.js +1 -4
  6. package/bin/commands/build.js +1 -0
  7. package/bin/commands/configs.js +17 -53
  8. package/bin/commands/dev-server.js +5 -14
  9. package/bin/commands/init.js +27 -117
  10. package/bin/commands/publish-tasks/asset-store-uploader.js +2 -5
  11. package/bin/commands/publish.js +10 -30
  12. package/bin/utils/configs.js +55 -95
  13. package/bin/utils/cpid-lookup.js +2 -2
  14. package/bin/utils/cpid-matches-git-remote.js +5 -10
  15. package/bin/utils/getSchemaMeta.js +1 -1
  16. package/bin/utils/index.js +14 -25
  17. package/bin/utils/lookup-cf-distribution-ids.js +2 -7
  18. package/bin/utils/resolve-external-assets.js +6 -15
  19. package/constants.js +3 -17
  20. package/package.json +17 -26
  21. package/repo-template/fert.config.js +3 -0
  22. package/repo-template/package.json +22 -0
  23. package/{repo-templates/template-basic → repo-template/services/jobseekers-frontend}/brand.json +6 -3
  24. package/repo-template/services/jobseekers-frontend/fert.service.config.js +7 -0
  25. package/repo-template/services/jobseekers-frontend/public/icons/user.svg +4 -0
  26. package/repo-template/services/jobseekers-frontend/public/images/favicon.ico +0 -0
  27. package/repo-template/services/jobseekers-frontend/public/images/fred.jpeg +0 -0
  28. package/repo-template/services/jobseekers-frontend/src/css/styles.scss +1152 -0
  29. package/repo-template/services/jobseekers-frontend/src/index.js +9 -0
  30. package/repo-template/services/jobseekers-frontend/src/js/recruiter-link.js +25 -0
  31. package/{repo-templates/template-bigworkbag → repo-template/services/jobseekers-frontend}/templates/context/footer-nav.njk +26 -26
  32. package/{repo-templates/template-bigworkbag → repo-template/services/jobseekers-frontend}/templates/context/main-nav.njk +40 -31
  33. package/{repo-templates/template-bigworkbag → repo-template/services/jobseekers-frontend}/templates/context/user-nav.njk +16 -16
  34. package/repo-template/services/jobseekers-frontend/templates/footer.njk +20 -0
  35. package/repo-template/services/jobseekers-frontend/templates/header.njk +74 -0
  36. package/repo-template/services/jobseekers-frontend/templates/includes/footer-nav.njk +15 -0
  37. package/repo-template/services/jobseekers-frontend/templates/includes/main-nav.njk +19 -0
  38. package/repo-template/services/jobseekers-frontend/templates/includes/user-nav/authenticated.njk +34 -0
  39. package/repo-template/services/jobseekers-frontend/templates/includes/user-nav/unauthenticated.njk +9 -0
  40. package/{repo-templates/template-bigworkbag → repo-template/services/jobseekers-frontend}/templates/translations/en.njk +1 -0
  41. package/server/index.js +2 -3
  42. package/server/plugins/hapi-vite.js +4 -2
  43. package/server/routes/views.js +1 -0
  44. package/server/view-manager.js +2 -5
  45. package/.prettierrc.js +0 -8
  46. package/bin/commands/configs.test.js +0 -182
  47. package/bin/utils/configs.test.js +0 -53
  48. package/bin/utils/persistent-cache-with-ttl.test.js +0 -42
  49. package/bin/utils/resolve-external-assets.test.js +0 -98
  50. package/delivery/jenkinsfile +0 -93
  51. package/eslint.config.mjs +0 -53
  52. package/repo-templates/globals/fert.config.js +0 -9
  53. package/repo-templates/template-basic/_gitignore +0 -6
  54. package/repo-templates/template-basic/package.json +0 -13
  55. package/repo-templates/template-basic/public/favicon.ico +0 -0
  56. package/repo-templates/template-basic/src/css/styles.scss +0 -11
  57. package/repo-templates/template-basic/src/index.js +0 -3
  58. package/repo-templates/template-basic/templates/footer.njk +0 -14
  59. package/repo-templates/template-basic/templates/header.njk +0 -14
  60. package/repo-templates/template-bigworkbag/_gitignore +0 -6
  61. package/repo-templates/template-bigworkbag/brand.json +0 -21
  62. package/repo-templates/template-bigworkbag/package.json +0 -13
  63. package/repo-templates/template-bigworkbag/public/favicon.ico +0 -0
  64. package/repo-templates/template-bigworkbag/public/fonts/mdgx-icons.eot +0 -0
  65. package/repo-templates/template-bigworkbag/public/fonts/mdgx-icons.svg +0 -71
  66. package/repo-templates/template-bigworkbag/public/fonts/mdgx-icons.ttf +0 -0
  67. package/repo-templates/template-bigworkbag/public/fonts/mdgx-icons.woff +0 -0
  68. package/repo-templates/template-bigworkbag/public/fonts/my-font.woff +0 -1
  69. package/repo-templates/template-bigworkbag/public/images/logo.png +0 -0
  70. package/repo-templates/template-bigworkbag/public/images/user-menu-pointer.svg +0 -4
  71. package/repo-templates/template-bigworkbag/src/css/breakpoints.scss +0 -17
  72. package/repo-templates/template-bigworkbag/src/css/clicky-menu.scss +0 -52
  73. package/repo-templates/template-bigworkbag/src/css/desktop-main-nav.scss +0 -25
  74. package/repo-templates/template-bigworkbag/src/css/desktop-user-nav.scss +0 -127
  75. package/repo-templates/template-bigworkbag/src/css/footer.scss +0 -77
  76. package/repo-templates/template-bigworkbag/src/css/header-top.scss +0 -29
  77. package/repo-templates/template-bigworkbag/src/css/leaderboard-ad.scss +0 -22
  78. package/repo-templates/template-bigworkbag/src/css/mobile-main-nav.scss +0 -68
  79. package/repo-templates/template-bigworkbag/src/css/mobile-user-nav.scss +0 -49
  80. package/repo-templates/template-bigworkbag/src/css/reset.scss +0 -91
  81. package/repo-templates/template-bigworkbag/src/css/styles.scss +0 -18
  82. package/repo-templates/template-bigworkbag/src/css/top-bar.scss +0 -13
  83. package/repo-templates/template-bigworkbag/src/css/typography.scss +0 -20
  84. package/repo-templates/template-bigworkbag/src/css/util.scss +0 -28
  85. package/repo-templates/template-bigworkbag/src/css/variables.scss +0 -9
  86. package/repo-templates/template-bigworkbag/src/index.js +0 -3
  87. package/repo-templates/template-bigworkbag/src/js/clicky-menus.js +0 -178
  88. package/repo-templates/template-bigworkbag/src/js/no-js.js +0 -10
  89. package/repo-templates/template-bigworkbag/templates/footer.njk +0 -68
  90. package/repo-templates/template-bigworkbag/templates/header.njk +0 -54
  91. package/repo-templates/template-bigworkbag/templates/includes/desktop-main-nav-items.njk +0 -18
  92. package/repo-templates/template-bigworkbag/templates/includes/desktop-user-nav/loggedin-items.njk +0 -28
  93. package/repo-templates/template-bigworkbag/templates/includes/desktop-user-nav/loggedout-items.njk +0 -9
  94. package/repo-templates/template-bigworkbag/templates/includes/desktop-user-nav/submenu-items.njk +0 -18
  95. package/repo-templates/template-bigworkbag/templates/includes/desktop-user-nav/user-nav.njk +0 -24
  96. package/repo-templates/template-bigworkbag/templates/includes/dev-console-context.njk +0 -7
  97. package/repo-templates/template-bigworkbag/templates/includes/mobile-main-nav-items.njk +0 -25
  98. package/repo-templates/template-bigworkbag/templates/includes/mobile-user-nav/loggedin-items.njk +0 -33
  99. package/repo-templates/template-bigworkbag/templates/includes/mobile-user-nav/loggedout-items.njk +0 -16
  100. package/repo-templates/template-bigworkbag/templates/includes/mobile-user-nav/user-nav.njk +0 -24
  101. package/repo-templates/template-bigworkbag/templates/svgs/arrow-down.svg +0 -3
  102. package/repo-templates/template-bigworkbag/templates/svgs/arrow-left.svg +0 -3
  103. package/repo-templates/template-bigworkbag/templates/svgs/arrow-right.svg +0 -3
  104. package/repo-templates/template-bigworkbag/templates/svgs/arrow-up.svg +0 -3
  105. package/repo-templates/template-bigworkbag/templates/svgs/cart.svg +0 -3
  106. package/repo-templates/template-bigworkbag/templates/svgs/facebook.svg +0 -3
  107. package/repo-templates/template-bigworkbag/templates/svgs/linkedin.svg +0 -3
  108. package/repo-templates/template-bigworkbag/templates/svgs/profile.svg +0 -5
  109. package/repo-templates/template-bigworkbag/templates/svgs/star-filled.svg +0 -3
  110. package/repo-templates/template-bigworkbag/templates/svgs/star-outline.svg +0 -3
  111. package/repo-templates/template-bigworkbag/templates/svgs/twitter.svg +0 -3
  112. package/repo-templates/template-bigworkbag/templates/svgs/youtube.svg +0 -3
  113. /package/{repo-templates/globals → repo-template}/jenkinsfile +0 -0
  114. /package/{repo-templates/template-basic → repo-template/services/jobseekers-frontend}/public/fonts/mdgx-icons.eot +0 -0
  115. /package/{repo-templates/template-basic → repo-template/services/jobseekers-frontend}/public/fonts/mdgx-icons.svg +0 -0
  116. /package/{repo-templates/template-basic → repo-template/services/jobseekers-frontend}/public/fonts/mdgx-icons.ttf +0 -0
  117. /package/{repo-templates/template-basic → repo-template/services/jobseekers-frontend}/public/fonts/mdgx-icons.woff +0 -0
  118. /package/{repo-templates/template-basic → repo-template/services/jobseekers-frontend}/public/fonts/my-font.woff +0 -0
  119. /package/{repo-templates/template-basic → repo-template/services/jobseekers-frontend}/public/images/logo.png +0 -0
  120. /package/{repo-templates/template-bigworkbag → repo-template/services/jobseekers-frontend}/templates/translations/da.njk +0 -0
  121. /package/{repo-templates/template-bigworkbag → repo-template/services/jobseekers-frontend}/templates/translations/de.njk +0 -0
  122. /package/{repo-templates/template-bigworkbag → repo-template/services/jobseekers-frontend}/templates/translations/es.njk +0 -0
  123. /package/{repo-templates/template-bigworkbag → repo-template/services/jobseekers-frontend}/templates/translations/fr.njk +0 -0
  124. /package/{repo-templates/template-bigworkbag → repo-template/services/jobseekers-frontend}/templates/translations/nb.njk +0 -0
  125. /package/{repo-templates/template-bigworkbag → repo-template/services/jobseekers-frontend}/templates/translations/nl.njk +0 -0
  126. /package/{repo-templates/template-bigworkbag → repo-template/services/jobseekers-frontend}/templates/translations/sv.njk +0 -0
  127. /package/{repo-templates/template-bigworkbag → repo-template/services/jobseekers-frontend}/templates/translations/zh-cn.njk +0 -0
@@ -1,11 +1,8 @@
1
1
  const path = require('node:path');
2
2
  const fs = require('node:fs');
3
+ // eslint-disable-next-line n/no-unsupported-features/node-builtins
3
4
  const { glob } = require('node:fs/promises');
4
- const {
5
- VERSION,
6
- FERT_CONFIG_FILENAME,
7
- FERT_SERVICE_CONFIG_FILENAME,
8
- } = require('../../constants');
5
+ const { VERSION, FERT_CONFIG_FILENAME, FERT_SERVICE_CONFIG_FILENAME } = require('../../constants');
9
6
  const chalk = require('chalk');
10
7
  const uuidValidator = require('uuid-validate');
11
8
  const Hoek = require('@hapi/hoek');
@@ -56,7 +53,7 @@ exports.resolveConfig = async (options = {}) => {
56
53
 
57
54
  // workingDir based on service folder
58
55
  const { dir: workingDir, serviceConfig } = serviceConfigs.find(
59
- (item) => item.serviceConfig.serviceName === options.serviceName
56
+ (item) => item.serviceConfig.serviceName === options.serviceName,
60
57
  );
61
58
  const fertConfig = Hoek.applyToDefaults(
62
59
  defaults,
@@ -64,20 +61,17 @@ exports.resolveConfig = async (options = {}) => {
64
61
  {
65
62
  ...this.loadConfigFromFile({ dir: rootDir }),
66
63
  ...serviceConfig,
67
- }
64
+ },
68
65
  );
69
66
 
70
67
  // Check Fert cpid is valid
71
68
  Hoek.assert(
72
69
  uuidValidator(fertConfig.clientPropertyId),
73
- `Invalid clientPropertyId specified in fert.config.js: ${fertConfig.clientPropertyId}`
70
+ `Invalid clientPropertyId specified in fert.config.js: ${fertConfig.clientPropertyId}`,
74
71
  );
75
72
 
76
73
  // Check Fert serviceName is valid
77
- Hoek.assert(
78
- typeof fertConfig.serviceName === 'string',
79
- `serviceName required: ${fertConfig.serviceName}`
80
- );
74
+ Hoek.assert(typeof fertConfig.serviceName === 'string', `serviceName required: ${fertConfig.serviceName}`);
81
75
  // get & store the current git branch
82
76
  fertConfig.currBranch = (await git.branch()).current;
83
77
 
@@ -86,7 +80,7 @@ exports.resolveConfig = async (options = {}) => {
86
80
 
87
81
  Hoek.assert(
88
82
  fertCpidMatchesGitRemote,
89
- `CPID mismatch, please correct before retrying: ${fertConfig.clientPropertyId}`
83
+ `CPID mismatch, please correct before retrying: ${fertConfig.clientPropertyId}`,
90
84
  );
91
85
 
92
86
  const client = await cpidLookup(fertConfig.clientPropertyId);
@@ -145,11 +139,7 @@ exports.loadServiceConfigFiles = async () => {
145
139
  return serviceConfigs;
146
140
  };
147
141
 
148
- exports.loadConfigFromFile = ({
149
- dir = process.cwd(),
150
- filename = FERT_CONFIG_FILENAME,
151
- silent = false,
152
- }) => {
142
+ exports.loadConfigFromFile = ({ dir = process.cwd(), filename = FERT_CONFIG_FILENAME, silent = false }) => {
153
143
  const configPath = path.resolve(dir, filename);
154
144
  try {
155
145
  // always return fresh config
@@ -162,14 +152,13 @@ exports.loadConfigFromFile = ({
162
152
  return fertConfig;
163
153
  } catch (err) {
164
154
  if (!silent) {
165
- log.error(
166
- `Failed to load ${filename} - ensure you're running fert on a branding repo & config exists.\n`
167
- );
155
+ log.error(`Failed to load ${filename} - ensure you're running fert on a branding repo & config exists.\n`);
168
156
 
169
157
  console.error(err);
170
158
  throw err;
171
159
  }
172
160
  }
161
+ return null;
173
162
  };
174
163
 
175
164
  exports.ensureTrailingSlash = (str) => {
@@ -178,17 +167,17 @@ exports.ensureTrailingSlash = (str) => {
178
167
  return lastChar === '/' ? str : `${str}/`;
179
168
  };
180
169
 
181
- exports.exists = async (path) => {
170
+ exports.exists = async (_path) => {
182
171
  try {
183
- fs.access(path);
172
+ fs.access(_path);
184
173
  return true;
185
174
  } catch {
186
175
  return false;
187
176
  }
188
177
  };
189
178
 
190
- exports.isEmptyDir = function isEmptyDir(path) {
191
- const files = fs.readdirSync(path);
179
+ exports.isEmptyDir = function isEmptyDir(_path) {
180
+ const files = fs.readdirSync(_path);
192
181
  return files.length === 0 || (files.length === 1 && files[0] === '.git');
193
182
  };
194
183
 
@@ -1,7 +1,4 @@
1
- const {
2
- CloudFrontClient,
3
- ListDistributionsCommand,
4
- } = require('@aws-sdk/client-cloudfront');
1
+ const { CloudFrontClient, ListDistributionsCommand } = require('@aws-sdk/client-cloudfront');
5
2
  const { persistentCacheWithTtl } = require('./persistent-cache-with-ttl');
6
3
  const assert = require('node:assert');
7
4
  const { ONE_WEEK, AWS_REGION } = require('../../constants');
@@ -19,9 +16,7 @@ exports.doGetAllCloudFrontDistributions = async () => {
19
16
  let isTruncated = false;
20
17
 
21
18
  do {
22
- const list = await cloudfront.send(
23
- new ListDistributionsCommand({ Marker })
24
- );
19
+ const list = await cloudfront.send(new ListDistributionsCommand({ Marker }));
25
20
 
26
21
  Marker = list.DistributionList.NextMarker;
27
22
  isTruncated = list.DistributionList.IsTruncated;
@@ -6,18 +6,14 @@ class LinkAsset {
6
6
  this.href = arg;
7
7
  } else if (typeof arg === 'object') {
8
8
  if (!arg.href) {
9
- throw new Error(
10
- 'External assets - the link is missing the href property'
11
- );
9
+ throw new Error('External assets - the link is missing the href property');
12
10
  }
13
11
 
14
12
  for (const [key, value] of Object.entries(arg)) {
15
13
  this[key] = value;
16
14
  }
17
15
  } else {
18
- throw new Error(
19
- 'External assets - the value should be a string or an object'
20
- );
16
+ throw new Error('External assets - the value should be a string or an object');
21
17
  }
22
18
  }
23
19
  }
@@ -29,13 +25,12 @@ class ScriptAsset {
29
25
  this.src = arg;
30
26
  } else if (typeof arg === 'object') {
31
27
  if (!arg.src) {
32
- throw new Error(
33
- 'External assets - the script is missing the src property'
34
- );
28
+ throw new Error('External assets - the script is missing the src property');
35
29
  }
36
30
 
37
31
  // in case defer has been set to false in the config, we remove it so it's not added to the object
38
32
  if (arg.defer === false) {
33
+ // eslint-disable-next-line no-param-reassign
39
34
  delete arg.defer;
40
35
  }
41
36
 
@@ -48,9 +43,7 @@ class ScriptAsset {
48
43
  delete this.async;
49
44
  }
50
45
  } else {
51
- throw new Error(
52
- 'External assets - the value should be a string or an object'
53
- );
46
+ throw new Error('External assets - the value should be a string or an object');
54
47
  }
55
48
  }
56
49
  }
@@ -70,9 +63,7 @@ function resolveExternalAssets(assets = {}) {
70
63
  }
71
64
 
72
65
  if (assets.scripts) {
73
- const scriptArr = Array.isArray(assets.scripts)
74
- ? assets.scripts
75
- : [assets.scripts];
66
+ const scriptArr = Array.isArray(assets.scripts) ? assets.scripts : [assets.scripts];
76
67
 
77
68
  scriptArr.forEach((item) => {
78
69
  result.scripts.push(new ScriptAsset(item));
package/constants.js CHANGED
@@ -2,9 +2,7 @@ const fs = require('node:fs');
2
2
  const path = require('node:path');
3
3
  const os = require('node:os');
4
4
 
5
- const { version: VERSION } = JSON.parse(
6
- fs.readFileSync(path.resolve(__dirname, './package.json')).toString()
7
- );
5
+ const { version: VERSION } = JSON.parse(fs.readFileSync(path.resolve(__dirname, './package.json')).toString());
8
6
 
9
7
  const ONE_MINUTE = 60000;
10
8
  const ONE_HOUR = ONE_MINUTE * 60;
@@ -16,8 +14,7 @@ module.exports = {
16
14
  TMP_DIR: fs.realpathSync(os.tmpdir()),
17
15
  FERT_PACKAGE_DIR: path.resolve('./'),
18
16
  AWS_REGION: 'eu-west-1',
19
- PROPERTY_ID_API:
20
- 'https://property-identification-api.cs.madgexhosting.net/properties/',
17
+ PROPERTY_ID_API: 'https://property-identification-api.cs.madgexhosting.net/properties/',
21
18
  ASSETS_API_URL: 'https://asset-store.job.madgexhosting.net',
22
19
  BRAND_JSON_FILENAME: 'brand.json',
23
20
  FERT_CONFIG_FILENAME: 'fert.config.js',
@@ -34,8 +31,7 @@ module.exports = {
34
31
  /**
35
32
  * important to have the correct service name and cpid so assets are uploaded to the correct unique place per-service.
36
33
  */
37
- REMOTE_UPLOAD_BASE:
38
- '/api/assets/{fertConfig.serviceName}/{fertConfig.clientPropertyId}',
34
+ REMOTE_UPLOAD_BASE: '/api/assets/{fertConfig.serviceName}/{fertConfig.clientPropertyId}',
39
35
  /**
40
36
  * invalidates the real asset store key path, which is related to `REMOTE_UPLOAD_BASE`
41
37
  * asset-store puts things in `rootClientPropertyId` based on the AWS_PARAM_NAME used, and the rest of the path relates to `REMOTE_UPLOAD_BASE`
@@ -50,16 +46,6 @@ module.exports = {
50
46
  */
51
47
  BRANDED_SITE_INVALIDATION_PATH: `/_/{fertConfig.serviceName}/assets/*`,
52
48
  ASSET_STORE_USER_GUID: 'a386d4b6-f2df-4b80-ad1f-0349e23f530b',
53
- TEMPLATES: [
54
- {
55
- name: 'basic',
56
- display: 'Basic - blank canvas',
57
- },
58
- {
59
- name: 'bigworkbag',
60
- display: 'BigWorkBag - populated, example project',
61
- },
62
- ],
63
49
  ONE_MINUTE,
64
50
  ONE_HOUR,
65
51
  ONE_DAY,
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "@madgex/fert",
3
- "version": "5.0.3",
3
+ "version": "5.0.5",
4
4
  "description": "Tool to help build the V6 branding",
5
5
  "bin": {
6
6
  "fert": "./bin/cli.js"
7
7
  },
8
+ "type": "commonjs",
8
9
  "scripts": {
9
10
  "lint": "eslint .",
10
11
  "format": "prettier --write .",
@@ -18,21 +19,21 @@
18
19
  "url": "https://github.com/wiley/madgex-frontend-rollout-tool.git"
19
20
  },
20
21
  "engines": {
21
- "node": ">=22"
22
+ "node": ">=22.3"
22
23
  },
23
24
  "author": "Madgex",
24
25
  "license": "UNLICENSED",
25
26
  "dependencies": {
26
- "@aws-sdk/client-cloudfront": "^3.716.0",
27
- "@aws-sdk/client-ssm": "^3.716.0",
28
- "@aws-sdk/credential-providers": "^3.716.0",
27
+ "@aws-sdk/client-cloudfront": "^3.745.0",
28
+ "@aws-sdk/client-ssm": "^3.744.0",
29
+ "@aws-sdk/credential-providers": "^3.744.0",
29
30
  "@hapi/hapi": "^21.3.12",
30
31
  "@hapi/hoek": "^11.0.7",
31
32
  "@hapi/inert": "^7.1.0",
32
33
  "@hapi/vision": "^7.0.3",
33
34
  "@hapipal/toys": "^4.0.0",
34
- "@madgex/config-api-sdk": "^1.6.2",
35
- "@madgex/design-system": "^9.1.9",
35
+ "@madgex/config-api-sdk": "^1.7.0",
36
+ "@madgex/design-system": "^9.2.0",
36
37
  "@private/header-footer-podlet-server": "github:wiley/madgex-header-footer-podlet",
37
38
  "axios": "^1.7.9",
38
39
  "cac": "^6.7.14",
@@ -49,7 +50,7 @@
49
50
  "ora": "5.4.1",
50
51
  "prompts": "^2.4.2",
51
52
  "rimraf": "^5.0.5",
52
- "sass": "^1.83.4",
53
+ "sass": "^1.84.0",
53
54
  "simple-git": "^3.27.0",
54
55
  "simple-update-notifier": "^2.0.0",
55
56
  "style-dictionary": "3.9.0",
@@ -58,30 +59,20 @@
58
59
  "vite-plugin-static-copy": "^0.17.1"
59
60
  },
60
61
  "devDependencies": {
61
- "@commitlint/cli": "^19.6.1",
62
- "@commitlint/config-conventional": "^19.6.0",
63
- "@eslint/eslintrc": "^3.2.0",
64
- "@eslint/js": "^9.17.0",
65
- "commitizen": "^4.3.1",
66
- "cz-conventional-changelog": "^3.3.0",
67
- "eslint": "^9.17.0",
68
- "eslint-config-prettier": "^9.1.0",
69
- "eslint-plugin-prettier": "^5.2.1",
70
- "globals": "^15.14.0",
62
+ "@commitlint/cli": "^19.7.1",
63
+ "@commitlint/config-conventional": "^19.7.1",
64
+ "@madgex/eslint-config-madgex": "^2.3.0",
65
+ "@madgex/prettier-config-madgex": "^2.0.0",
66
+ "eslint": "^9.19.0",
71
67
  "husky": "^9.1.7",
72
68
  "joi": "^17.13.3",
73
- "lint-staged": "^15.3.0",
74
- "prettier": "^3.4.2",
75
- "semantic-release": "^24.2.0"
69
+ "lint-staged": "^15.4.3",
70
+ "prettier": "^3.5.0",
71
+ "semantic-release": "^24.2.2"
76
72
  },
77
73
  "peerDependencies": {
78
74
  "@ctrl/tinycolor": "^3.6.0"
79
75
  },
80
- "config": {
81
- "commitizen": {
82
- "path": "node_modules/cz-conventional-changelog"
83
- }
84
- },
85
76
  "lint-staged": {
86
77
  "*.{js,json}": [
87
78
  "prettier --write",
@@ -0,0 +1,3 @@
1
+ module.exports = {
2
+ clientPropertyId: '{CPID}',
3
+ };
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "madgex-cpid",
3
+ "version": "1.0.0",
4
+ "description": "Branding Repo",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/wiley/madgex-cpid.git"
8
+ },
9
+ "author": "Madgex",
10
+ "license": "UNLICENSED",
11
+ "homepage": "https://github.com/wiley/madgex-cpid#readme",
12
+ "scripts": {
13
+ "dev": "fert",
14
+ "build": "fert build"
15
+ },
16
+ "dependencies": {
17
+ "@madgex/branding-shared": "^1.0.1"
18
+ },
19
+ "devDependencies": {
20
+ "@madgex/fert": "*"
21
+ }
22
+ }
@@ -7,14 +7,17 @@
7
7
  "2": {
8
8
  "base": { "value": "#343434" }
9
9
  }
10
+ },
11
+ "button": {
12
+ "bg": {
13
+ "base": { "value": "#005689" }
14
+ }
10
15
  }
11
16
  },
12
17
  "font": {
13
18
  "family": {
14
19
  "button": {
15
- "base": {
16
- "value": "comic sans"
17
- }
20
+ "base": { "value": "Arial" }
18
21
  }
19
22
  }
20
23
  }
@@ -0,0 +1,7 @@
1
+ module.exports = {
2
+ serviceName: 'jobseekers-frontend',
3
+ entry: './src/index.js',
4
+ externalAssets: {
5
+ links: 'https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,700;1,400&display=swap',
6
+ },
7
+ };
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="100pt" height="100pt" version="1.1" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
3
+ <path d="m60.418 66.668c-3.125-1.668-1.457-4.793 0-6.25 1.875-1.875 4.168-8.332 4.168-8.332 3.75-1.668 4.168-4.375 4.582-6.25 1.668-5.418-2.5-6.25-2.5-6.25s3.332-8.957 0.625-15.832c-3.543-8.957-17.918-12.293-20.418-3.957-17.082-3.7539-13.543 19.785-13.543 19.785s-4.168 0.83203-2.5 6.25c0.41797 1.875 0.83203 4.582 4.582 6.25 0 0 2.293 6.457 4.168 8.332 1.457 1.457 3.125 4.582 0 6.25-6.25 3.332-25 4.168-25 18.75h70.832c0.003907-14.582-18.746-15.414-24.996-18.746z"/>
4
+ </svg>