build: fix miss antd.less file

This commit is contained in:
tjz 2018-05-26 10:15:20 +08:00
parent 4cdb4d8dc7
commit e9d084576b
2 changed files with 44 additions and 0 deletions

View File

@ -29,6 +29,7 @@
"compile": "node antd-tools/cli/run.js compile",
"pub": "node antd-tools/cli/run.js pub",
"prepublish": "node antd-tools/cli/run.js guard",
"pre-publish": "npm run test && node ./scripts/prepub",
"dist": "node antd-tools/cli/run.js dist",
"lint": "eslint -c ./.eslintrc --fix --ext .jsx,.js,.vue ./components",
"lint:style": "stylelint \"./examples/**/*.less\" --fix --syntax less",

43
scripts/prepub.js Normal file
View File

@ -0,0 +1,43 @@
#!/usr/bin/env node
/* eslint-disable */
'use strict';
const fs = require('fs');
const path = require('path');
const packageInfo = require('../package.json');
if (fs.existsSync(path.join(__dirname, '../lib'))) {
// Build package.json version to lib/version/index.js
// prevent json-loader needing in user-side
const versionFilePath = path.join(process.cwd(), 'lib', 'version', 'index.js');
const versionFileContent = fs.readFileSync(versionFilePath).toString();
fs.writeFileSync(
versionFilePath,
versionFileContent.replace(`require('../../package.json')`, `{ version: '${packageInfo.version}' }`)
);
console.log('Wrote version into lib/version/index.js');
}
if (fs.existsSync(path.join(__dirname, '../dist'))) {
// Build a entry less file to dist/antd.less
const componentsPath = path.join(process.cwd(), 'components');
let componentsLessContent = '';
// Build components in one file: lib/style/components.less
fs.readdir(componentsPath, function (err, files) {
files.forEach(function (file) {
if (fs.existsSync(path.join(componentsPath, file, 'style', 'index.less'))) {
componentsLessContent += `@import "../${path.join(file, 'style', 'index.less')}";\n`
}
});
fs.writeFileSync(path.join(process.cwd(), 'lib', 'style', 'components.less'), componentsLessContent);
// Build less entry file: dist/antd.less
fs.writeFileSync(
path.join(process.cwd(), 'dist', 'antd.less'),
'@import "../lib/style/index.less";\n@import "../lib/style/components.less";'
);
});
console.log('Built a entry less file to dist/antd.less');
}