Merge branch 'master' into scaffold

This commit is contained in:
Fabian Chong
2020-09-10 14:46:46 +08:00
228 changed files with 2821 additions and 2557 deletions
+1
View File
@@ -25,6 +25,7 @@
"removeComments": false,
"resolveJsonModule": true,
"sourceMap": false,
"skipLibCheck": true,
"strict": true,
"strictBindCallApply": true,
"strictFunctionTypes": true,
@@ -41,6 +41,7 @@ export default async (cmd: Command) => {
...appConfigs,
{ src: paths.resolveTarget('Dockerfile'), dest: 'Dockerfile' },
],
skeleton: 'skeleton.tar',
});
console.log(`Dist workspace ready at ${tempDistWorkspace}`);
+5 -1
View File
@@ -42,7 +42,11 @@ export async function serveBundle(options: ServeOptions) {
contentBase: paths.targetPublic,
contentBasePublicPath: config.output?.publicPath,
publicPath: config.output?.publicPath,
historyApiFallback: true,
historyApiFallback: {
// Paths with dots should still use the history fallback.
// See https://github.com/facebookincubator/create-react-app/issues/387.
disableDotRule: true,
},
clientLogLevel: 'warning',
stats: 'errors-warnings',
https: url.protocol === 'https:',
+30 -2
View File
@@ -15,10 +15,14 @@
*/
import fs from 'fs-extra';
import { resolve as resolvePath, relative as relativePath } from 'path';
import {
join as joinPath,
resolve as resolvePath,
relative as relativePath,
} from 'path';
import { paths } from '../paths';
import { run } from '../run';
import tar from 'tar';
import tar, { CreateOptions } from 'tar';
import { tmpdir } from 'os';
type LernaPackage = {
@@ -53,6 +57,12 @@ type Options = {
* If set to true, the target packages are built before they are packaged into the workspace.
*/
buildDependencies?: boolean;
/**
* If set, creates a skeleton tarball that contains all package.json files
* with the same structure as the workspace dir.
*/
skeleton?: 'skeleton.tar';
};
/**
@@ -89,6 +99,24 @@ export async function createDistWorkspace(
const dest = typeof file === 'string' ? file : file.dest;
await fs.copy(paths.resolveTargetRoot(src), resolvePath(targetDir, dest));
}
if (options.skeleton) {
const skeletonFiles = targets.map(target => {
const dir = relativePath(paths.targetRoot, target.location);
return joinPath(dir, 'package.json');
});
await tar.create(
{
file: resolvePath(targetDir, options.skeleton),
cwd: targetDir,
portable: true,
noMtime: true,
} as CreateOptions & { noMtime: boolean },
skeletonFiles,
);
}
return targetDir;
}
@@ -24,7 +24,7 @@
"dependencies": {
"@backstage/core": "^{{backstageVersion}}",
"@backstage/theme": "^{{backstageVersion}}",
"@material-ui/core": "^4.9.1",
"@material-ui/core": "^4.11.0",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.45",
"react": "^16.13.1",