Skip to content

Commit

Permalink
Add delete and restore functionality for tokens
Browse files Browse the repository at this point in the history
  • Loading branch information
Carlos Viteri committed Dec 23, 2024
1 parent ce3cd24 commit 5094ae6
Show file tree
Hide file tree
Showing 10 changed files with 1,085 additions and 661 deletions.
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

0 comments on commit 5094ae6

Please sign in to comment.