diff options
Diffstat (limited to 'scripts/frontend')
-rwxr-xr-x | scripts/frontend/graphql_possible_types_extraction.js | 69 | ||||
-rw-r--r-- | scripts/frontend/startup_css/constants.js | 2 | ||||
-rw-r--r-- | scripts/frontend/stylelint/stylelint_duplicate_selectors.js (renamed from scripts/frontend/stylelint/stylelint-duplicate-selectors.js) | 2 | ||||
-rw-r--r-- | scripts/frontend/stylelint/stylelint_utility_classes.js (renamed from scripts/frontend/stylelint/stylelint-utility-classes.js) | 4 | ||||
-rw-r--r-- | scripts/frontend/stylelint/stylelint_utility_map.js (renamed from scripts/frontend/stylelint/stylelint-utility-map.js) | 6 | ||||
-rw-r--r-- | scripts/frontend/stylelint/stylelint_utils.js (renamed from scripts/frontend/stylelint/stylelint-utils.js) | 0 | ||||
-rw-r--r-- | scripts/frontend/stylelint/utility_classes_map.js (renamed from scripts/frontend/stylelint/utility-classes-map.js) | 0 |
7 files changed, 76 insertions, 7 deletions
diff --git a/scripts/frontend/graphql_possible_types_extraction.js b/scripts/frontend/graphql_possible_types_extraction.js new file mode 100755 index 00000000000..61f783086e7 --- /dev/null +++ b/scripts/frontend/graphql_possible_types_extraction.js @@ -0,0 +1,69 @@ +#!/usr/bin/env node + +const fs = require('fs/promises'); +const path = require('path'); +const assert = require('assert'); + +const ROOT_DIR = path.join(__dirname, '../../'); +const GRAPHQL_SCHEMA = path.join(ROOT_DIR, 'tmp/tests/graphql/gitlab_schema.json'); +const POSSIBLE_TYPES_REL = 'app/assets/javascripts/graphql_shared/possible_types.json'; +const POSSIBLE_TYPES = path.join(ROOT_DIR, POSSIBLE_TYPES_REL); + +function extractTypes(schema) { + return Object.fromEntries( + // eslint-disable-next-line no-underscore-dangle + schema.data.__schema.types + .filter((type) => type.possibleTypes) + .map(({ name, possibleTypes }) => [name, possibleTypes.map((subtype) => subtype.name)]), + ); +} + +async function main() { + let schema; + try { + schema = JSON.parse(await fs.readFile(GRAPHQL_SCHEMA, 'utf-8')); + } catch (e) { + console.error( + 'Could not read the GraphQL Schema, make sure to run: bundle exec rake gitlab:graphql:schema:dump', + ); + throw e; + } + + const possibleTypes = extractTypes(schema); + + if (process.argv.includes('--check')) { + const previousTypes = JSON.parse(await fs.readFile(POSSIBLE_TYPES, 'utf-8')); + + assert.deepStrictEqual( + previousTypes, + possibleTypes, + ` +${POSSIBLE_TYPES_REL} needs to be regenerated, please run: + node scripts/frontend/graphql_possible_types_extraction.js --write +and commit the changes! + `, + ); + return; + } + + if (process.argv.includes('--write')) { + const stringifiedPossibleTypes = JSON.stringify(possibleTypes, null, 2); + await fs.writeFile(POSSIBLE_TYPES, `${stringifiedPossibleTypes}\n`); + console.log(`Successfully updated ${POSSIBLE_TYPES_REL}`); + return; + } + + throw new Error(` +ERROR: Please use the script correctly: +Usage: graphql_possible_types_extraction [options] + +Options: + --check Check whether there are new Interface or Union types + --write Generate new possible types + `); +} + +main().catch((error) => { + console.warn(error.message); + process.exitCode = 1; +}); diff --git a/scripts/frontend/startup_css/constants.js b/scripts/frontend/startup_css/constants.js index 83f43143e1b..10d60657e09 100644 --- a/scripts/frontend/startup_css/constants.js +++ b/scripts/frontend/startup_css/constants.js @@ -50,7 +50,7 @@ const createMainOutput = ({ outFile, cssKeys, type }) => ({ htmlPaths: [ path.join(FIXTURES_ROOT, `startup_css/project-${type}.html`), path.join(FIXTURES_ROOT, `startup_css/project-${type}-signed-out.html`), - path.join(FIXTURES_ROOT, `startup_css/project-${type}-search-ff-on.html`), + path.join(FIXTURES_ROOT, `startup_css/project-${type}-search-ff-off.html`), ], cssKeys, purgeOptions: { diff --git a/scripts/frontend/stylelint/stylelint-duplicate-selectors.js b/scripts/frontend/stylelint/stylelint_duplicate_selectors.js index 982ddf524a3..77c1f1292b7 100644 --- a/scripts/frontend/stylelint/stylelint-duplicate-selectors.js +++ b/scripts/frontend/stylelint/stylelint_duplicate_selectors.js @@ -1,5 +1,5 @@ const stylelint = require('stylelint'); -const utils = require('./stylelint-utils'); +const utils = require('./stylelint_utils'); const ruleName = 'stylelint-gitlab/duplicate-selectors'; diff --git a/scripts/frontend/stylelint/stylelint-utility-classes.js b/scripts/frontend/stylelint/stylelint_utility_classes.js index 14827145b54..ad2b2ddbb20 100644 --- a/scripts/frontend/stylelint/stylelint-utility-classes.js +++ b/scripts/frontend/stylelint/stylelint_utility_classes.js @@ -1,6 +1,6 @@ const stylelint = require('stylelint'); -const utils = require('./stylelint-utils'); -const utilityClasses = require('./utility-classes-map'); +const utils = require('./stylelint_utils'); +const utilityClasses = require('./utility_classes_map'); const ruleName = 'stylelint-gitlab/utility-classes'; diff --git a/scripts/frontend/stylelint/stylelint-utility-map.js b/scripts/frontend/stylelint/stylelint_utility_map.js index 676f83cd067..187b2065823 100644 --- a/scripts/frontend/stylelint/stylelint-utility-map.js +++ b/scripts/frontend/stylelint/stylelint_utility_map.js @@ -4,13 +4,13 @@ const postcss = require('postcss'); const prettier = require('prettier'); const sass = require('sass'); -const utils = require('./stylelint-utils'); +const utils = require('./stylelint_utils'); const ROOT_PATH = path.resolve(__dirname, '../../..'); -const hashMapPath = path.resolve(__dirname, './utility-classes-map.js'); +const hashMapPath = path.resolve(__dirname, './utility_classes_map.js'); // -// This creates a JS based hash map (saved in utility-classes-map.js) of the different values in the utility classes +// This creates a JS based hash map (saved in utility_classes_map.js) of the different values in the utility classes // sass.render( { diff --git a/scripts/frontend/stylelint/stylelint-utils.js b/scripts/frontend/stylelint/stylelint_utils.js index c9d9c7d9aad..c9d9c7d9aad 100644 --- a/scripts/frontend/stylelint/stylelint-utils.js +++ b/scripts/frontend/stylelint/stylelint_utils.js diff --git a/scripts/frontend/stylelint/utility-classes-map.js b/scripts/frontend/stylelint/utility_classes_map.js index a174812ff93..a174812ff93 100644 --- a/scripts/frontend/stylelint/utility-classes-map.js +++ b/scripts/frontend/stylelint/utility_classes_map.js |