6410bc8a75
* feat: nocobase build * chore: update build scripts * chore: update build scripts * chore(versions): 😊 publish v0.7.0-alpha.33 * chore: independent version * chore: nocobase build * chore(versions): 😊 publish v0.7.0-alpha.34 * feat: nocobase-cli * feat: nocobase-cli * chore: update dependencies * feat: improve code * refactor: create-nocobase-app * chore(versions): 😊 publish v0.7.0-alpha.35 * feat: @nocobase/devtools * chore(versions): 😊 publish v0.7.0-alpha.36 * chore: update dependencies * chore(versions): 😊 publish v0.7.0-alpha.37 * feat: improve code * chore(versions): 😊 publish v0.7.0-alpha.38 * feat: improve code * chore(versions): 😊 publish v0.7.0-alpha.39 * feat: update deps * chore(versions): 😊 publish v0.7.0-alpha.40 * chore: update devDependencies * chore(versions): 😊 publish v0.7.0-alpha.41 * fix: postinstall * chore(versions): 😊 publish v0.7.0-alpha.42 * chore: improve code * chore(versions): 😊 publish v0.7.0-alpha.43 * chore: execa * chore(versions): 😊 publish v0.7.0-alpha.44 * chore(cli): allow unknown option * chore(versions): 😊 publish v0.7.0-alpha.45 * fix: default envs * chore(versions): 😊 publish v0.7.0-alpha.45 * fix: package argument for build command * chore(versions): 😊 publish v0.7.0-alpha.46 * fix: improve code * chore(versions): 😊 publish v0.7.0-alpha.48 * feat: clean & doc * chore(versions): 😊 publish v0.7.0-alpha.49 * feat: compilation tips * feat: upgrade command * chore(versions): 😊 publish v0.7.0-alpha.50 * fix: unexpected token ] in JSON * chore(versions): 😊 publish v0.7.0-alpha.51 * fix: upgrade command * chore(versions): 😊 publish v0.7.0-alpha.52 * fix: remove export action from available action * fix: db sync after upgrade * chore(versions): 😊 publish v0.7.0-alpha.53 * feat: upgrade log * chore(versions): 😊 publish v0.7.0-alpha.54 * docs: updates * feat: updates * docs(cli): update usage description * feat: updates * docs: updates * docs: updates * docs: toc * feat: sdk * docs: updates * docs: updates * docs: updates * Update index.md * docs: updates * Update release-notes.md * Update roadmap.md * Update index.md * Update contributing.md * Update contributing.md * Update index.md * Update index.md * Update nocobase-cli.md * Update nocobase-cli.md * fix: user plugin initialization data * Update env.md * Update env.md * Update directory-structure.md * Update index.md * Update action-api.md * Update filter-operators.md * docs: update thanks.md * Update index.md * Update javascript-sdk.md * Update rest-api.md * Update installation.md * Update installation.md * Update upgrading.md * Update upgrading.md * Update upgrading.md * Update installation.md * Update installation.md * Create release-notes.md * Update release-notes.md * feat: updates * feat: update docs * feat: update release-notes.md * feat: switch language * feat: updates * Add files via upload * Add files via upload * Update important-features.md * Update thanks.md * feat: nocobase postinstall * Update index.md * Create why-different.md * Update why-different.md * Create who-is-for.md * Rename who-is-for.md to who.md * feat: update docs * Rename why-different.md to why.md * Update why.md * Update menus.ts * Update why-nocobase.md * Create who.md * Create why.md * feat: updates * chore(versions): 😊 publish v0.7.0-alpha.55 * feat: tips * Update who.md * Update who.md * feat: update docs * feat: update doc menus * fix: plugin client dist * docs: update contributing.md * docs: update readme.md * docs: update readme.md * docs: update readme.md * Update functional-zoning.md * fix: br Co-authored-by: Zhou <zhou.working@gmail.com>
53 lines
1.5 KiB
TypeScript
Executable File
53 lines
1.5 KiB
TypeScript
Executable File
import { join, basename, sep } from 'path';
|
|
import { getPackagesSync } from '@lerna/project';
|
|
import { existsSync, readdirSync, renameSync, statSync } from 'fs';
|
|
import mkdirp from 'mkdirp';
|
|
import rimraf from 'rimraf';
|
|
import build from './build';
|
|
|
|
function moveEsLibToDist(cwd) {
|
|
['es', 'lib'].forEach(dir => {
|
|
const absDirPath = join(cwd, dir);
|
|
const absDistPath = join(cwd, 'dist');
|
|
if (existsSync(absDirPath)) {
|
|
mkdirp.sync(absDistPath);
|
|
renameSync(absDirPath, join(absDistPath, dir));
|
|
}
|
|
});
|
|
}
|
|
|
|
describe('father build', () => {
|
|
const rootConfigMapping = {
|
|
'lerna-root-config-override': { cjs: 'rollup', esm: false },
|
|
};
|
|
|
|
require('test-build-result')({
|
|
root: join(__dirname, './fixtures/build'),
|
|
build({ cwd }) {
|
|
process.chdir(cwd);
|
|
rimraf.sync(join(cwd, 'dist'));
|
|
return build({ cwd, rootConfig: rootConfigMapping[basename(cwd)] }).then(() => {
|
|
// babel
|
|
moveEsLibToDist(cwd);
|
|
|
|
// lerna
|
|
if (existsSync(join(cwd, 'lerna.json'))) {
|
|
mkdirp.sync(join(cwd, 'dist'));
|
|
const pkgs = getPackagesSync(cwd)
|
|
for (let pkg of pkgs) {
|
|
|
|
const pkgPath = pkg.contents;
|
|
|
|
if (!statSync(pkgPath).isDirectory()) continue;
|
|
moveEsLibToDist(pkgPath);
|
|
renameSync(
|
|
join(pkgPath, 'dist'),
|
|
join(cwd, 'dist', pkgPath.split(sep).pop())
|
|
);
|
|
}
|
|
}
|
|
});
|
|
},
|
|
});
|
|
});
|