mirror of
https://github.com/ant-design/ant-design.git
synced 2025-01-18 14:13:37 +08:00
build: Update build process for publish (#15807)
* use .antd-tools.config.js * update style * add minssing files * move compile content to compile script
This commit is contained in:
parent
6b2d72e2c1
commit
778c2b1dff
70
.antd-tools.config.js
Normal file
70
.antd-tools.config.js
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
const fs = require('fs');
|
||||||
|
const path = require('path');
|
||||||
|
const packageInfo = require('./package.json');
|
||||||
|
|
||||||
|
// We need compile additional content for antd user
|
||||||
|
function finalizeCompile() {
|
||||||
|
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}' }`,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
// eslint-disable-next-line
|
||||||
|
console.log('Wrote version into lib/version/index.js');
|
||||||
|
|
||||||
|
// Build package.json version to lib/version/index.d.ts
|
||||||
|
// prevent https://github.com/ant-design/ant-design/issues/4935
|
||||||
|
const versionDefPath = path.join(process.cwd(), 'lib', 'version', 'index.d.ts');
|
||||||
|
fs.writeFileSync(
|
||||||
|
versionDefPath,
|
||||||
|
`declare var _default: "${packageInfo.version}";\nexport default _default;\n`,
|
||||||
|
);
|
||||||
|
// eslint-disable-next-line
|
||||||
|
console.log('Wrote version into lib/version/index.d.ts');
|
||||||
|
|
||||||
|
// 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, (err, files) => {
|
||||||
|
files.forEach((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,
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function finalizeDist() {
|
||||||
|
if (fs.existsSync(path.join(__dirname, './dist'))) {
|
||||||
|
// 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";',
|
||||||
|
);
|
||||||
|
|
||||||
|
// eslint-disable-next-line
|
||||||
|
console.log('Built a entry less file to dist/antd.less');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
compile: {
|
||||||
|
finalize: finalizeCompile,
|
||||||
|
},
|
||||||
|
dist: {
|
||||||
|
finalize: finalizeDist,
|
||||||
|
},
|
||||||
|
};
|
@ -104,7 +104,7 @@
|
|||||||
"@yesmeck/offline-plugin": "^5.0.5",
|
"@yesmeck/offline-plugin": "^5.0.5",
|
||||||
"ansi-styles": "^3.2.1",
|
"ansi-styles": "^3.2.1",
|
||||||
"antd-theme-generator": "^1.1.4",
|
"antd-theme-generator": "^1.1.4",
|
||||||
"antd-tools": "^7.1.2",
|
"antd-tools": "^7.3.0",
|
||||||
"babel-eslint": "^10.0.1",
|
"babel-eslint": "^10.0.1",
|
||||||
"babel-plugin-add-react-displayname": "^0.0.5",
|
"babel-plugin-add-react-displayname": "^0.0.5",
|
||||||
"bisheng": "^1.1.0",
|
"bisheng": "^1.1.0",
|
||||||
@ -217,7 +217,7 @@
|
|||||||
"deploy:china-mirror": "git checkout gh-pages && git pull origin gh-pages && git push git@gitee.com:ant-design/ant-design.git gh-pages",
|
"deploy:china-mirror": "git checkout gh-pages && git pull origin gh-pages && git push git@gitee.com:ant-design/ant-design.git gh-pages",
|
||||||
"pub": "antd-tools run pub",
|
"pub": "antd-tools run pub",
|
||||||
"prepublish": "antd-tools run guard",
|
"prepublish": "antd-tools run guard",
|
||||||
"pre-publish": "npm run test-all && node ./scripts/prepub",
|
"pre-publish": "npm run test-all",
|
||||||
"authors": "git log --format='%aN <%aE>' | sort -u | grep -v 'users.noreply.github.com' | grep -v 'gitter.im' | grep -v '.local>' | grep -v 'alibaba-inc.com' | grep -v 'alipay.com' | grep -v 'taobao.com' > AUTHORS.txt",
|
"authors": "git log --format='%aN <%aE>' | sort -u | grep -v 'users.noreply.github.com' | grep -v 'gitter.im' | grep -v '.local>' | grep -v 'alibaba-inc.com' | grep -v 'alipay.com' | grep -v 'taobao.com' > AUTHORS.txt",
|
||||||
"lint-staged": "lint-staged",
|
"lint-staged": "lint-staged",
|
||||||
"lint-staged:ts": "tsc && node node_modules/tslint/bin/tslint",
|
"lint-staged:ts": "tsc && node node_modules/tslint/bin/tslint",
|
||||||
|
@ -1,58 +0,0 @@
|
|||||||
#!/usr/bin/env node
|
|
||||||
|
|
||||||
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}' }`,
|
|
||||||
),
|
|
||||||
);
|
|
||||||
// eslint-disable-next-line
|
|
||||||
console.log('Wrote version into lib/version/index.js');
|
|
||||||
|
|
||||||
// Build package.json version to lib/version/index.d.ts
|
|
||||||
// prevent https://github.com/ant-design/ant-design/issues/4935
|
|
||||||
const versionDefPath = path.join(process.cwd(), 'lib', 'version', 'index.d.ts');
|
|
||||||
fs.writeFileSync(
|
|
||||||
versionDefPath,
|
|
||||||
`declare var _default: "${packageInfo.version}";\nexport default _default;\n`,
|
|
||||||
);
|
|
||||||
// eslint-disable-next-line
|
|
||||||
console.log('Wrote version into lib/version/index.d.ts');
|
|
||||||
}
|
|
||||||
|
|
||||||
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, (err, files) => {
|
|
||||||
files.forEach(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";',
|
|
||||||
);
|
|
||||||
});
|
|
||||||
// eslint-disable-next-line
|
|
||||||
console.log('Built a entry less file to dist/antd.less');
|
|
||||||
}
|
|
@ -3,10 +3,13 @@ const chalk = require('chalk');
|
|||||||
|
|
||||||
$('dist')
|
$('dist')
|
||||||
.isDirectory()
|
.isDirectory()
|
||||||
|
.hasFile('antd-with-locales.js')
|
||||||
|
.hasFile('antd-with-locales.min.js')
|
||||||
.hasFile('antd.css')
|
.hasFile('antd.css')
|
||||||
.hasFile('antd.min.css')
|
.hasFile('antd.min.css')
|
||||||
.hasFile('antd.js')
|
.hasFile('antd.js')
|
||||||
.hasFile('antd.min.js');
|
.hasFile('antd.min.js')
|
||||||
|
.hasFile('antd.less');
|
||||||
|
|
||||||
// eslint-disable-next-line
|
// eslint-disable-next-line
|
||||||
console.log(chalk.green('✨ `dist` directory is valid.'));
|
console.log(chalk.green('✨ `dist` directory is valid.'));
|
||||||
|
Loading…
Reference in New Issue
Block a user