-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathinclude-display-less.mjs
38 lines (33 loc) · 1.25 KB
/
include-display-less.mjs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import fs from 'fs-extra'
import path from 'path'
import { getDirname } from '../utils.mjs'
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')
// Ensure the output directory exists
fs.ensureDirSync(outputDir)
// Copy the LESS file to the output directory
fs.copyFileSync(lessFile, outputFile)
console.log(`Successfully copied ${lessFile} to ${outputFile}`)
} catch (error) {
console.error('Error including display LESS file:', error)
}
},
undo: (dictionary, config) => {
try {
const outputDir = path.join(__dirname, '../../', config.buildPath)
// Remove the output directory and its contents
fs.removeSync(outputDir)
console.log(`Successfully removed ${outputDir}`)
} catch (error) {
console.error('Error removing display LESS file directory:', error)
}
}
})
}