Skip to content

Commit

Permalink
build: add css secondary entries
Browse files Browse the repository at this point in the history
  • Loading branch information
Wendell authored and Wendell committed Apr 12, 2019
1 parent 9b7fb97 commit 789d532
Show file tree
Hide file tree
Showing 59 changed files with 265 additions and 12 deletions.
2 changes: 2 additions & 0 deletions components/affix/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
2 changes: 2 additions & 0 deletions components/alert/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
4 changes: 4 additions & 0 deletions components/anchor/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@

@import './index.less';

@import '../../affix/style/index.less';
6 changes: 6 additions & 0 deletions components/auto-complete/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

@import './index.less';

// style dependencies
@import '../../select/style/index.less';
@import '../../input/style/index.less';
2 changes: 2 additions & 0 deletions components/avatar/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
2 changes: 2 additions & 0 deletions components/back-top/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
2 changes: 2 additions & 0 deletions components/badge/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
2 changes: 2 additions & 0 deletions components/breadcrumb/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
2 changes: 2 additions & 0 deletions components/button/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
6 changes: 6 additions & 0 deletions components/calendar/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

@import './index.less';

// style dependencies
@import '../../select/style/index.less';
@import '../../radio/style/index.less';
6 changes: 6 additions & 0 deletions components/card/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

@import './index.less';

// style dependencies
@import '../../tabs/style/index.less';
@import '../../grid/style/index.less';
2 changes: 2 additions & 0 deletions components/carousel/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
6 changes: 6 additions & 0 deletions components/cascader/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

@import './index.less';

// style dependencies
@import '../../empty/style/index.less';
@import '../../input/style/index.less';
2 changes: 2 additions & 0 deletions components/checkbox/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
2 changes: 2 additions & 0 deletions components/collapse/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
2 changes: 2 additions & 0 deletions components/comment/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
8 changes: 8 additions & 0 deletions components/date-picker/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@

@import './index.less';

// style dependencies
// deps-lint-skip: input
@import '../../input/style/index.less';
@import '../../time-picker/style/index.less';
@import '../../tag/style/index.less';
2 changes: 2 additions & 0 deletions components/divider/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
2 changes: 2 additions & 0 deletions components/drawer/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
5 changes: 5 additions & 0 deletions components/dropdown/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@

@import './index.less';

// style dependencies
@import '../../button/style/index.less';
2 changes: 2 additions & 0 deletions components/empty/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
5 changes: 5 additions & 0 deletions components/form/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@

@import './index.less';

// style dependencies
@import '../../grid/style/index.less';
2 changes: 2 additions & 0 deletions components/grid/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
2 changes: 2 additions & 0 deletions components/icon/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
4 changes: 4 additions & 0 deletions components/icon/style/index.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
@import '../../style/themes/default';
@import '../../style/mixins/index';

@icon-prefix-cls: ~'@{ant-prefix}-icon';
2 changes: 2 additions & 0 deletions components/input-number/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
5 changes: 5 additions & 0 deletions components/input/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@

@import './index.less';

// style dependencies
@import '../../button/style/index.less';
2 changes: 2 additions & 0 deletions components/layout/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
7 changes: 7 additions & 0 deletions components/list/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@

@import './index.less';

@import '../../empty/style/index.less';
@import '../../spin/style/index.less';
@import '../../pagination/style/index.less';
@import '../../grid/style/index.less';
2 changes: 2 additions & 0 deletions components/mention/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
6 changes: 6 additions & 0 deletions components/menu/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

@import './index.less';

// style dependencies
// deps-lint-skip: layout
@import '../../tooltip/style/index.less';
2 changes: 2 additions & 0 deletions components/message/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
5 changes: 5 additions & 0 deletions components/modal/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@

@import './index.less';

// style dependencies
@import '../../button/style/index.less';
2 changes: 2 additions & 0 deletions components/notification/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
5 changes: 5 additions & 0 deletions components/page-header/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
@import './index.less';

// style dependencies
@import '../../divider/style/index.less';
@import '../../breadcrumb/style/index.less';
5 changes: 5 additions & 0 deletions components/pagination/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@

@import './index.less';

// style dependencies
@import '../../select/style/index.less';
6 changes: 6 additions & 0 deletions components/popconfirm/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@


// style dependencies
// deps-lint-skip: tooltip, popover
@import '../../popover/style/index.less';
@import '../../button/style/index.less';
5 changes: 5 additions & 0 deletions components/popover/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@

@import './index.less';

// style dependencies
// deps-lint-skip: tooltip
2 changes: 2 additions & 0 deletions components/progress/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
2 changes: 2 additions & 0 deletions components/radio/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
5 changes: 5 additions & 0 deletions components/rate/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@

@import './index.less';

// style dependencies
@import '../../tooltip/style/index.less';
5 changes: 5 additions & 0 deletions components/select/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@

@import './index.less';

// style dependencies
@import '../../empty/style/index.less';
2 changes: 2 additions & 0 deletions components/skeleton/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
5 changes: 5 additions & 0 deletions components/slider/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@

@import './index.less';

// style dependencies
@import '../../tooltip/style/index.less';
2 changes: 2 additions & 0 deletions components/spin/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
2 changes: 2 additions & 0 deletions components/statistic/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
2 changes: 2 additions & 0 deletions components/steps/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
2 changes: 2 additions & 0 deletions components/switch/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
11 changes: 11 additions & 0 deletions components/table/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@

@import './index.less';

// style dependencies
// deps-lint-skip: menu
@import '../../empty/style/index.less';
@import '../../radio/style/index.less';
@import '../../checkbox/style/index.less';
@import '../../dropdown/style/index.less';
@import '../../spin/style/index.less';
@import '../../pagination/style/index.less';
2 changes: 2 additions & 0 deletions components/tabs/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
2 changes: 2 additions & 0 deletions components/tag/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
2 changes: 2 additions & 0 deletions components/time-picker/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
2 changes: 2 additions & 0 deletions components/timeline/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
2 changes: 2 additions & 0 deletions components/tooltip/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
8 changes: 8 additions & 0 deletions components/transfer/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@

@import './index.less';

// style dependencies
@import '../../empty/style/index.less';
@import '../../checkbox/style/index.less';
@import '../../button/style/index.less';
@import '../../input/style/index.less';
7 changes: 7 additions & 0 deletions components/tree-select/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@

@import './index.less';

// style dependencies
// deps-lint-skip: select
@import '../../select/style/index.less';
@import '../../empty/style/index.less';
2 changes: 2 additions & 0 deletions components/tree/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

@import './index.less';
6 changes: 6 additions & 0 deletions components/upload/style/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

@import './index.less';

// style dependencies
@import '../../progress/style/index.less';
@import '../../tooltip/style/index.less';
68 changes: 56 additions & 12 deletions scripts/build/generate-less.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,30 @@ const fs = require('fs-extra');
const path = require('path');
const less = require('less');
const LessPluginCleanCSS = require('less-plugin-clean-css');
const NpmImportPlugin = require('less-plugin-npm-import');

function compileLess(content, savePath, min) {
function compileLess(content, savePath, min, sub, rootPath) {
return new Promise((resolve, reject) => {
const plugins = [];
const lessOptions = { plugins: plugins, javascriptEnabled: true };

if (min) {
const cleanCSSPlugin = new LessPluginCleanCSS({advanced: true});
plugins.push(cleanCSSPlugin);
plugins.push(new LessPluginCleanCSS({ advanced: true }));
}

if (sub) {
lessOptions.paths = [path.dirname(rootPath)];
lessOptions.filename = rootPath;
plugins.push(
new NpmImportPlugin({
prefix: '~'
})
);
}
return less.render
.call(less, content, {plugins: plugins, javascriptEnabled: true})
.then(({css}) => {

return less
.render(content, lessOptions)
.then(({ css }) => {
fs.writeFileSync(savePath, css);
resolve();
})
Expand All @@ -22,20 +35,51 @@ function compileLess(content, savePath, min) {

const sourcePath = path.resolve(__dirname, '../../components');
const targetPath = path.resolve(__dirname, '../../publish');
const componentFolders = fs.readdirSync(targetPath);

const targetFolder = fs.readdirSync(targetPath);
// Export each component's style in `component.less` and copy it to the target dir.
let componentsLessContent = '';
targetFolder.forEach(dir => {
if (fs.existsSync(`${sourcePath}/${dir}/style/index.less`)) {
componentsLessContent += `@import "./${path.posix.join(dir, 'style', 'index.less')}";\n`;
fs.copySync(`${sourcePath}/${dir}/style`, `${targetPath}/${dir}/style`);

componentFolders.forEach(dir => {
if (fs.existsSync(`${sourcePath}/${dir}/style/index.less`)) {
// Copy style files for each component.
componentsLessContent += `@import "./${path.posix.join(dir, 'style', 'index.less')}";\n`;
fs.copySync(`${sourcePath}/${dir}/style`, `${targetPath}/${dir}/style`);

// Compile less files to CSS and delete the `build.less` file.
const buildFilePath = `${sourcePath}/${dir}/style/build.less`;
if (fs.existsSync(buildFilePath)) {
compileLess(
fs.readFileSync(buildFilePath, { encoding: 'utf8' }),
path.join(targetPath, dir, 'style', `index.css`),
false,
true,
buildFilePath
).catch(e => console.log(e));
compileLess(
fs.readFileSync(buildFilePath, { encoding: 'utf8' }),
path.join(targetPath, dir, 'style', `index.min.css`),
true,
true,
buildFilePath
).catch(e => console.log(e));
fs.removeSync(`${targetPath}/${dir}/style/build.less`);
}
}
);
});

// Copy concentrated less files.
fs.copySync(path.resolve(sourcePath, 'style'), path.resolve(targetPath, 'style'));
fs.writeFileSync(`${targetPath}/components.less`, componentsLessContent);
fs.writeFileSync(`${targetPath}/ng-zorro-antd.less`, fs.readFileSync(`${sourcePath}/ng-zorro-antd.less`));

// Compile concentrated less file to CSS file.
const lessContent = `@import "${path.posix.join(targetPath, 'ng-zorro-antd.less')}";`;
compileLess(lessContent, path.join(targetPath, 'ng-zorro-antd.css'), false);
compileLess(lessContent, path.join(targetPath, 'ng-zorro-antd.min.css'), true);

// Compile css file that doesn't have component-specific styles.
const cssIndexPath = path.join(sourcePath, 'style', 'index.less');
const cssIndex = fs.readFileSync(cssIndexPath, { encoding: 'utf8' });
compileLess(cssIndex, path.join(targetPath, 'style', 'index.css'), false, true, cssIndexPath);
compileLess(cssIndex, path.join(targetPath, 'style', 'index.min.css'), true, true, cssIndexPath);

0 comments on commit 789d532

Please sign in to comment.