Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add delete and restore functionality for tokens #233

Open
wants to merge 1 commit into
base: next
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,257 changes: 817 additions & 440 deletions package-lock.json

Large diffs are not rendered by default.

25 changes: 15 additions & 10 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@
"build:grid": "node grid.mjs",
"site-tokens": "node ./site-tokens.mjs",
"validate": "node ./validate.mjs",
"format": "eslint --fix \"{style-dictionary,tokens-studio}/**/*.mjs\"",
"lint": "eslint \"style-dictionary/**/*.mjs\"",
"format": "standard --fix \"{style-dictionary,tokens-studio}/**/*.mjs\"",
"lint": "standard \"style-dictionary/**/*.mjs\"",
"tokens:update": "node ./tokens-studio/token-updater.mjs"
},
"devDependencies": {
Expand All @@ -52,7 +52,6 @@
"concat": "^1.0.3",
"cross-env": "^7.0.3",
"dir-to-json": "^1.0.0",
"eslint": "^8.57.0",
"fs-extra": "^11.2.0",
"glob": "^7.1.6",
"json5": "^2.2.3",
Expand All @@ -61,19 +60,25 @@
"query-string": "^9.1.0",
"require-json5": "^1.3.0",
"rimraf": "^6.0.1",
"standard": "^17.1.0",
"standard": "^17.1.2",
"style-dictionary": "^4.0.1",
"tinycolor2": "^1.6.0"
},
"engines": {
"node": ">= 20.0.0",
"npm": ">= 10.0.0"
},
"eslintConfig": {
"extends": "standard",
"extends": "./node_modules/standard/eslintrc.json",
"ignorePatterns": [
"dist/",
"node_modules/"
]
},
"engines": {
"node": ">= 20.0.0",
"npm": ">= 10.0.0"
],
"env": {
"node": true
},
"rules": {
"no-console": "off"
}
}
}
58 changes: 29 additions & 29 deletions style-dictionary/actions/concat-files.mjs
Original file line number Diff line number Diff line change
@@ -1,60 +1,60 @@
import fs from 'fs-extra';
import concat from 'concat';
import path from 'path';
import { getDirname } from '../utils.mjs';
import fs from 'fs-extra'
import concat from 'concat'
import path from 'path'
import { getDirname } from '../utils.mjs'

const __dirname = getDirname(import.meta.url);
const __dirname = getDirname(import.meta.url)

export const concatFiles = (StyleDictionary) => {
StyleDictionary.registerAction({
name: 'concat-files',
do: (dictionary, config) => {
try {
// Read files from the specified build path
const buildPath = path.join(__dirname, '../../', config.buildPath);
const files = fs.readdirSync(buildPath);
const buildPath = path.join(__dirname, '../../', config.buildPath)
const files = fs.readdirSync(buildPath)

if (files.length === 0) {
console.warn('No files found in the build path.');
return;
console.warn('No files found in the build path.')
return
}

// Determine the file extension from the first file
const extension = path.extname(files[0]);
const allPaths = files.map(f => path.join(buildPath, f));
const concatPaths = allPaths.filter(p => !path.basename(p).includes('no_concat'));
const noConcatPaths = allPaths.filter(p => path.basename(p).includes('no_concat'));
const extension = path.extname(files[0])
const allPaths = files.map(f => path.join(buildPath, f))
const concatPaths = allPaths.filter(p => !path.basename(p).includes('no_concat'))
const noConcatPaths = allPaths.filter(p => path.basename(p).includes('no_concat'))

// Rename files with 'no_concat' in their name
noConcatPaths.forEach(p => {
const newPath = p.replace('.no_concat', '');
fs.renameSync(p, newPath);
});
const newPath = p.replace('.no_concat', '')
fs.renameSync(p, newPath)
})

// Concatenate files
concat(concatPaths).then((r) => {
const outFile = path.join(__dirname, '../../', config.buildPath, `cdr-tokens${extension}`);
fs.outputFileSync(outFile, r);
});
const outFile = path.join(__dirname, '../../', config.buildPath, `cdr-tokens${extension}`)
fs.outputFileSync(outFile, r)
})

// Remove concatenated files
concatPaths.forEach(p => {
fs.removeSync(p);
});
fs.removeSync(p)
})

console.log('Successfully removed concatenated files');
console.log('Successfully removed concatenated files')
} catch (error) {
console.error('Error during file concatenation process:', error);
console.error('Error during file concatenation process:', error)
}
},
undo: (dictionary, config) => {
try {
const buildPath = path.join(__dirname, '../../', config.buildPath);
fs.removeSync(buildPath);
console.log(`Successfully removed ${buildPath}`);
const buildPath = path.join(__dirname, '../../', config.buildPath)
fs.removeSync(buildPath)
console.log(`Successfully removed ${buildPath}`)
} catch (error) {
console.error('Error removing build path:', error);
console.error('Error removing build path:', error)
}
}
});
};
})
}
32 changes: 16 additions & 16 deletions style-dictionary/actions/include-deprecate-scss.mjs
Original file line number Diff line number Diff line change
@@ -1,39 +1,39 @@
import fs from 'fs-extra';
import path from 'path';
import { getDirname } from '../utils.mjs';
import fs from 'fs-extra'
import path from 'path'
import { getDirname } from '../utils.mjs'

const __dirname = getDirname(import.meta.url);
const __dirname = getDirname(import.meta.url)

export const includeDeprecateScss = (StyleDictionary) => {
// Register custom action for Style Dictionary
StyleDictionary.registerAction({
name: 'include-deprecate-scss',
do: (dictionary, config) => {
try {
const deprecateScss = path.join(__dirname, '../utilities/deprecate.scss');
const outputDir = path.join(__dirname, '../../', config.buildPath);
const outputFile = path.join(outputDir, 'deprecate.scss');
const deprecateScss = path.join(__dirname, '../utilities/deprecate.scss')
const outputDir = path.join(__dirname, '../../', config.buildPath)
const outputFile = path.join(outputDir, 'deprecate.scss')

// Ensure the output directory exists
fs.ensureDirSync(outputDir);
fs.ensureDirSync(outputDir)

// Copy the SCSS file
fs.copyFileSync(deprecateScss, outputFile);
console.log(`Successfully copied to ${outputFile}`);
fs.copyFileSync(deprecateScss, outputFile)
console.log(`Successfully copied to ${outputFile}`)
} catch (error) {
console.error('Error including deprecate SCSS:', error);
console.error('Error including deprecate SCSS:', error)
}
},
undo: (dictionary, config) => {
try {
const outputDir = path.join(__dirname, '../../', config.buildPath);
const outputDir = path.join(__dirname, '../../', config.buildPath)

// Remove the output directory and its contents
fs.removeSync(outputDir);
console.log(`Successfully removed ${outputDir}`);
fs.removeSync(outputDir)
console.log(`Successfully removed ${outputDir}`)
} catch (error) {
console.error('Error removing deprecate SCSS directory:', error);
console.error('Error removing deprecate SCSS directory:', error)
}
}
});
})
}
34 changes: 17 additions & 17 deletions style-dictionary/actions/include-display-less.mjs
Original file line number Diff line number Diff line change
@@ -1,38 +1,38 @@
import fs from 'fs-extra';
import path from 'path';
import { getDirname } from '../utils.mjs';
import fs from 'fs-extra'
import path from 'path'
import { getDirname } from '../utils.mjs'

const __dirname = getDirname(import.meta.url);
const __dirname = getDirname(import.meta.url)

export const includeDisplayLess = (StyleDictionary) => {
StyleDictionary.registerAction({
name: 'include-display-less',
do: (dictionary, config) => {
try {
const lessFile = path.join(__dirname, '../utilities/display.less');
const outputDir = path.join(__dirname, '../../', config.buildPath);
const outputFile = path.join(outputDir, 'display.less');
const lessFile = path.join(__dirname, '../utilities/display.less')
const outputDir = path.join(__dirname, '../../', config.buildPath)
const outputFile = path.join(outputDir, 'display.less')

// Ensure the output directory exists
fs.ensureDirSync(outputDir);
fs.ensureDirSync(outputDir)

// Copy the LESS file to the output directory
fs.copyFileSync(lessFile, outputFile);
console.log(`Successfully copied ${lessFile} to ${outputFile}`);
fs.copyFileSync(lessFile, outputFile)
console.log(`Successfully copied ${lessFile} to ${outputFile}`)
} catch (error) {
console.error('Error including display LESS file:', error);
console.error('Error including display LESS file:', error)
}
},
undo: (dictionary, config) => {
try {
const outputDir = path.join(__dirname, '../../', config.buildPath);
const outputDir = path.join(__dirname, '../../', config.buildPath)

// Remove the output directory and its contents
fs.removeSync(outputDir);
console.log(`Successfully removed ${outputDir}`);
fs.removeSync(outputDir)
console.log(`Successfully removed ${outputDir}`)
} catch (error) {
console.error('Error removing display LESS file directory:', error);
console.error('Error removing display LESS file directory:', error)
}
}
});
};
})
}
34 changes: 17 additions & 17 deletions style-dictionary/actions/include-display-scss.mjs
Original file line number Diff line number Diff line change
@@ -1,38 +1,38 @@
import fs from 'fs-extra';
import path from 'path';
import { getDirname } from '../utils.mjs';
import fs from 'fs-extra'
import path from 'path'
import { getDirname } from '../utils.mjs'

const __dirname = getDirname(import.meta.url);
const __dirname = getDirname(import.meta.url)

export const includeDisplayScss = (StyleDictionary) => {
StyleDictionary.registerAction({
name: 'include-display-scss',
do: (dictionary, config) => {
try {
const scssFile = path.join(__dirname, '../utilities/display.scss');
const outputDir = path.join(__dirname, '../../', config.buildPath);
const outputFile = path.join(outputDir, 'display.scss');
const scssFile = path.join(__dirname, '../utilities/display.scss')
const outputDir = path.join(__dirname, '../../', config.buildPath)
const outputFile = path.join(outputDir, 'display.scss')

// Ensure the output directory exists
fs.ensureDirSync(outputDir);
fs.ensureDirSync(outputDir)

// Copy the SCSS file to the output directory
fs.copyFileSync(scssFile, outputFile);
console.log(`Successfully copied ${scssFile} to ${outputFile}`);
fs.copyFileSync(scssFile, outputFile)
console.log(`Successfully copied ${scssFile} to ${outputFile}`)
} catch (error) {
console.error('Error including display SCSS file:', error);
console.error('Error including display SCSS file:', error)
}
},
undo: (dictionary, config) => {
try {
const outputDir = path.join(__dirname, '../../', config.buildPath);
const outputDir = path.join(__dirname, '../../', config.buildPath)

// Remove the output directory and its contents
fs.removeSync(outputDir);
console.log(`Successfully removed ${outputDir}`);
fs.removeSync(outputDir)
console.log(`Successfully removed ${outputDir}`)
} catch (error) {
console.error('Error removing display SCSS file directory:', error);
console.error('Error removing display SCSS file directory:', error)
}
}
});
};
})
}
34 changes: 17 additions & 17 deletions style-dictionary/actions/include-media-queries-less.mjs
Original file line number Diff line number Diff line change
@@ -1,38 +1,38 @@
import fs from 'fs-extra';
import path from 'path';
import { getDirname } from '../utils.mjs';
import fs from 'fs-extra'
import path from 'path'
import { getDirname } from '../utils.mjs'

const __dirname = getDirname(import.meta.url);
const __dirname = getDirname(import.meta.url)

export const includeMediaQueriesLess = (StyleDictionary) => {
StyleDictionary.registerAction({
name: 'include-media-queries-less',
do: (dictionary, config) => {
try {
const lessFile = path.join(__dirname, '../utilities/media-queries.less');
const outputDir = path.join(__dirname, '../../', config.buildPath);
const outputFile = path.join(outputDir, 'media-queries.less');
const lessFile = path.join(__dirname, '../utilities/media-queries.less')
const outputDir = path.join(__dirname, '../../', config.buildPath)
const outputFile = path.join(outputDir, 'media-queries.less')

// Ensure the output directory exists
fs.ensureDirSync(outputDir);
fs.ensureDirSync(outputDir)

// Copy the LESS file to the output directory
fs.copyFileSync(lessFile, outputFile);
console.log(`Successfully copied ${lessFile} to ${outputFile}`);
fs.copyFileSync(lessFile, outputFile)
console.log(`Successfully copied ${lessFile} to ${outputFile}`)
} catch (error) {
console.error('Error including media queries LESS file:', error);
console.error('Error including media queries LESS file:', error)
}
},
undo: (dictionary, config) => {
try {
const outputDir = path.join(__dirname, '../../', config.buildPath);
const outputDir = path.join(__dirname, '../../', config.buildPath)

// Remove the output directory and its contents
fs.removeSync(outputDir);
console.log(`Successfully removed ${outputDir}`);
fs.removeSync(outputDir)
console.log(`Successfully removed ${outputDir}`)
} catch (error) {
console.error('Error removing media queries LESS file directory:', error);
console.error('Error removing media queries LESS file directory:', error)
}
}
});
};
})
}
Loading
Loading