Skip to content

Commit

Permalink
fix(build): remove unneccesary async await in build.
Browse files Browse the repository at this point in the history
  • Loading branch information
SamTolmay committed May 25, 2022
1 parent 1035864 commit 6b974e6
Show file tree
Hide file tree
Showing 11 changed files with 33 additions and 45 deletions.
Expand Up @@ -17,7 +17,7 @@
import { type } from '@lowdefy/helpers';
import page404 from './404.js';

async function addDefaultPages({ components }) {
function addDefaultPages({ components }) {
// If not copied, the same object is mutated by build every time
// build runs for dev server. See #647
const defaultPages = [JSON.parse(JSON.stringify(page404))];
Expand Down
2 changes: 1 addition & 1 deletion packages/build/src/build/buildConnections.js
Expand Up @@ -20,7 +20,7 @@ import { type } from '@lowdefy/helpers';
import countOperators from '../utils/countOperators.js';
import createCheckDuplicateId from '../utils/createCheckDuplicateId.js';

async function buildConnections({ components, context }) {
function buildConnections({ components, context }) {
const checkDuplicateConnectionId = createCheckDuplicateId({
message: 'Duplicate connectionId "{{ id }}".',
});
Expand Down
18 changes: 8 additions & 10 deletions packages/build/src/build/buildMenu.js
Expand Up @@ -19,7 +19,7 @@
import { type } from '@lowdefy/helpers';
import createCheckDuplicateId from '../utils/createCheckDuplicateId.js';

async function buildDefaultMenu({ components, context }) {
function buildDefaultMenu({ components, context }) {
context.logger.warn('No menus found. Building default menu.');
const pages = type.isArray(components.pages) ? components.pages : [];
const menus = [
Expand Down Expand Up @@ -72,10 +72,10 @@ function loopItems({ parent, menuId, pages, missingPageWarnings, checkDuplicateM
}
}

async function buildMenu({ components, context }) {
function buildMenu({ components, context }) {
const pages = type.isArray(components.pages) ? components.pages : [];
if (type.isUndefined(components.menus) || components.menus.length === 0) {
components.menus = await buildDefaultMenu({ components, context });
components.menus = buildDefaultMenu({ components, context });
}
const missingPageWarnings = [];
const checkDuplicateMenuId = createCheckDuplicateId({ message: 'Duplicate menuId "{{ id }}".' });
Expand All @@ -100,13 +100,11 @@ async function buildMenu({ components, context }) {
checkDuplicateMenuItemId,
});
});
await Promise.all(
missingPageWarnings.map(async (warning) => {
await context.logger.warn(
`Page "${warning.pageId}" referenced in menu link "${warning.menuItemId}" not found.`
);
})
);
missingPageWarnings.map(async (warning) => {
context.logger.warn(
`Page "${warning.pageId}" referenced in menu link "${warning.menuItemId}" not found.`
);
});
return components;
}

Expand Down
4 changes: 2 additions & 2 deletions packages/build/src/build/buildPages/buildBlock/buildBlock.js
Expand Up @@ -24,7 +24,7 @@ import moveSkeletonBlocksToArea from './moveSkeletonBlocksToArea.js';
import setBlockId from './setBlockId.js';
import validateBlock from './validateBlock.js';

async function buildBlock(block, pageContext) {
function buildBlock(block, pageContext) {
validateBlock(block, pageContext);
setBlockId(block, pageContext);
countBlockOperators(block, pageContext);
Expand All @@ -33,7 +33,7 @@ async function buildBlock(block, pageContext) {
moveSubBlocksToArea(block, pageContext);
moveSkeletonBlocksToArea(block, pageContext);
countBlockTypes(block, pageContext);
await buildSubBlocks(block, pageContext);
buildSubBlocks(block, pageContext);
}

export default buildBlock;
Expand Up @@ -18,9 +18,8 @@ import { type } from '@lowdefy/helpers';

import buildBlock from './buildBlock.js';

async function buildSubBlocks(block, pageContext) {
function buildSubBlocks(block, pageContext) {
if (type.isObject(block.areas)) {
let promises = [];
Object.keys(block.areas).forEach((key) => {
if (type.isNone(block.areas[key].blocks)) {
block.areas[key].blocks = [];
Expand All @@ -32,12 +31,8 @@ async function buildSubBlocks(block, pageContext) {
}. Received ${JSON.stringify(block.areas[key].blocks)}`
);
}
const blockPromises = block.areas[key].blocks.map(async (blk) => {
await buildBlock(blk, pageContext);
});
promises = promises.concat(blockPromises);
block.areas[key].blocks.map(async (blk) => buildBlock(blk, pageContext));
});
await Promise.all(promises);
}
}

Expand Down
4 changes: 2 additions & 2 deletions packages/build/src/build/buildPages/buildPage.js
Expand Up @@ -21,7 +21,7 @@ import buildBlock from './buildBlock/buildBlock.js';
import createCheckDuplicateId from '../../utils/createCheckDuplicateId.js';
import createCounter from '../../utils/createCounter.js';

async function buildPage({ page, index, context, checkDuplicatePageId }) {
function buildPage({ page, index, context, checkDuplicatePageId }) {
if (type.isUndefined(page.id)) {
throw new Error(`Page id missing at page ${index}.`);
}
Expand All @@ -34,7 +34,7 @@ async function buildPage({ page, index, context, checkDuplicatePageId }) {
page.pageId = page.id;
const requests = [];
const operators = new Set();
await buildBlock(page, {
buildBlock(page, {
auth: page.auth,
blockIdCounter: createCounter(),
checkDuplicateRequestId: createCheckDuplicateId({
Expand Down
7 changes: 2 additions & 5 deletions packages/build/src/build/buildPages/buildPages.js
Expand Up @@ -20,15 +20,12 @@ import { type } from '@lowdefy/helpers';
import buildPage from './buildPage.js';
import createCheckDuplicateId from '../../utils/createCheckDuplicateId.js';

async function buildPages({ components, context }) {
function buildPages({ components, context }) {
const pages = type.isArray(components.pages) ? components.pages : [];
const checkDuplicatePageId = createCheckDuplicateId({
message: 'Duplicate pageId "{{ id }}".',
});
const pageBuildPromises = pages.map((page, index) =>
buildPage({ page, index, context, checkDuplicatePageId })
);
await Promise.all(pageBuildPromises);
pages.map((page, index) => buildPage({ page, index, context, checkDuplicatePageId }));
return components;
}

Expand Down
8 changes: 3 additions & 5 deletions packages/build/src/build/testSchema.js
Expand Up @@ -18,18 +18,16 @@ import { validate } from '@lowdefy/ajv';
import lowdefySchema from '../lowdefySchema.js';
import formatErrorMessage from '../utils/formatErrorMessage.js';

async function testSchema({ components, context }) {
function testSchema({ components, context }) {
const { valid, errors } = validate({
schema: lowdefySchema,
data: components,
returnErrors: true,
});

if (!valid) {
await context.logger.warn('Schema not valid.');
await Promise.all(
errors.map((error) => context.logger.warn(formatErrorMessage({ error, components })))
);
context.logger.warn('Schema not valid.');
errors.map((error) => context.logger.warn(formatErrorMessage({ error, components })));
}
}

Expand Down
2 changes: 1 addition & 1 deletion packages/build/src/build/validateApp.js
Expand Up @@ -18,7 +18,7 @@

import { type } from '@lowdefy/helpers';

async function validateApp({ components }) {
function validateApp({ components }) {
if (type.isNone(components.app)) {
components.app = {};
}
Expand Down
2 changes: 1 addition & 1 deletion packages/build/src/build/validateConfig.js
Expand Up @@ -18,7 +18,7 @@

import { type } from '@lowdefy/helpers';

async function validateConfig({ components }) {
function validateConfig({ components }) {
if (type.isNone(components.config)) {
components.config = {};
}
Expand Down
20 changes: 10 additions & 10 deletions packages/build/src/index.js
Expand Up @@ -85,16 +85,16 @@ async function createContext({ customTypesMap, directories, logger, refResolver,
async function build(options) {
const context = await createContext(options);
const components = await buildRefs({ context });
await testSchema({ components, context });
await validateApp({ components, context });
await validateConfig({ components, context });
await addDefaultPages({ components, context });
await buildAuth({ components, context });
await buildConnections({ components, context });
await buildPages({ components, context });
await buildMenu({ components, context });
await buildTypes({ components, context });
await buildImports({ components, context });
testSchema({ components, context });
validateApp({ components, context });
validateConfig({ components, context });
addDefaultPages({ components, context });
buildAuth({ components, context });
buildConnections({ components, context });
buildPages({ components, context });
buildMenu({ components, context });
buildTypes({ components, context });
buildImports({ components, context });
await cleanBuildDirectory({ context });
await writeApp({ components, context });
await writeAuth({ components, context });
Expand Down

0 comments on commit 6b974e6

Please sign in to comment.