Skip to content

Commit c838971

Browse files
committed
feat: add scripts for building custom library version
1 parent 9946578 commit c838971

File tree

4 files changed

+40
-10
lines changed

4 files changed

+40
-10
lines changed

build/createCustomStylesLibrary.js

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
const fs = require('fs-extra')
2+
fs.copy('src', 'tmp').then(() => {
3+
fs.readdir('tmp/components', (e, directories) => {
4+
console.log('hehe')
5+
directories.forEach((directory) => {
6+
fs.readdir(`tmp/components/${directory}`, function(e, files) {
7+
if (!files) {
8+
return
9+
}
10+
let components = files.filter(file => file.includes('.vue'))
11+
components.forEach((component) => {
12+
fs.readFile(
13+
`tmp/components/${directory}/${component}`,
14+
'utf-8',
15+
(e, content) => {
16+
const newContent = content.replace(
17+
/(@import "~@coreui\/coreui\/scss\/([^>]+).scss";)/ig,
18+
''
19+
)
20+
fs.writeFile(
21+
`tmp/components/${directory}/${component}`,
22+
newContent,
23+
() => ''
24+
)
25+
})
26+
})
27+
})
28+
})
29+
})
30+
})

build/deleteTmpFolder.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
const fs = require('fs-extra')
2+
fs.removeSync('tmp');

package.json

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,16 +49,21 @@
4949
"serve": "vue-cli-service serve",
5050
"build": "npm-run-all --parallel build:custom build:default",
5151
"build:default": "vue-cli-service build --target lib --name coreui-vue ./src/index.js",
52-
"build:custom": "vue-cli-service build --target lib --name custom ./src/index.js",
52+
"build:custom": "npm-run-all createCustom buildCustom deleteCustom",
53+
"createCustom": "node build/createCustomStylesLibrary.js",
54+
"buildCustom": "vue-cli-service build --target lib --name custom ./tmp/index.js",
55+
"deleteCustom": "node build/deleteTmpFolder.js",
5356
"lint": "vue-cli-service lint",
5457
"test": "vue-cli-service test:unit",
5558
"test:coverage": "vue-cli-service test:unit --coverage --collectCoverageFrom=src/**/*.{js,vue} --collectCoverageFrom=!**/index*",
5659
"test:e2e": "vue-cli-service test:e2e",
57-
"clear_jest": "jest --clearCache"
60+
"clear_jest": "jest --clearCache",
61+
"icons": "node src/components/Icon/build/iconsScript.js"
5862
},
5963
"dependencies": {
6064
"@coreui/coreui": "next",
6165
"@coreui/icons": "0.3.0",
66+
"raw-loader": "^1.0.0",
6267
"core-js": "^2.5.7",
6368
"element-resize-detector": "^1.2.0",
6469
"popper.js": "^1.14.7",

vue.config.js

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,10 @@
1-
const inDefaultStylesScript = process.env.npm_lifecycle_script.includes('coreui-vue')
2-
31
module.exports = {
42
configureWebpack:{
53
performance: {
64
hints: false
75
}
86
},
97
css: {
10-
extract: false,
11-
loaderOptions: {
12-
sass: {
13-
data: inDefaultStylesScript ? `$defaultStyles: true;` : null
14-
}
15-
}
8+
extract: false
169
}
1710
}

0 commit comments

Comments
 (0)