Merge branch 'master' into async-to-promises-helpers

This commit is contained in:
Jason Miller 2020-04-30 23:08:04 -04:00 committed by GitHub
commit e6136ebfaa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 42 additions and 0 deletions

View File

@ -33,6 +33,11 @@ const toReplacementExpression = (value, name) => {
return [JSON.stringify(matches[2]), name];
}
// --define @assign=Object.assign replaces expressions with expressions:
if (name[0] === '@') {
return [value, name.substring(1)];
}
// --define A=1,B=true produces int/boolean literal:
if (/^(true|false|\d+)$/i.test(value)) {
return [value, name];

View File

@ -1469,6 +1469,30 @@ exports[`fixtures build define with microbundle 5`] = `
"
`;
exports[`fixtures build define-expression with microbundle 1`] = `
"Used script: microbundle -f esm --no-sourcemap --define @Object.freeze=Object
Directory tree:
define-expression
dist
define-expression.js
index.js
package.json
Build \\"defineExpression\\" to dist:
56 B: define-expression.js.gz
40 B: define-expression.js.br"
`;
exports[`fixtures build define-expression with microbundle 2`] = `1`;
exports[`fixtures build define-expression with microbundle 3`] = `
"console.log(Object({a:\\"b\\",c:\\"d\\"}));
"
`;
exports[`fixtures build esnext-ts with microbundle 1`] = `
"Used script: microbundle --raw

View File

@ -0,0 +1 @@
console.log(Object.freeze({ a: 'b', c: 'd' }));

View File

@ -0,0 +1,6 @@
{
"name": "define-expression",
"scripts": {
"build": "microbundle -f esm --no-sourcemap --define @Object.freeze=Object"
}
}

View File

@ -8,6 +8,8 @@ const FIXTURES_DIR = `${__dirname}/fixtures`;
const DEFAULT_SCRIPT = 'microbundle';
const TEST_TIMEOUT = 11000;
const sleep = ms => new Promise(r => setTimeout(r, ms));
const join = (arr, delimiter = '') => arr.join(delimiter);
const printTree = (nodes, indentLevel = 0) => {
@ -39,8 +41,12 @@ describe('fixtures', () => {
fixturePath = resolve(fixturePath, fixtureDir.replace('-with-cwd', ''));
}
await sleep(1);
const output = await buildDirectory(fixtureDir);
await sleep(1);
const printedDir = printTree([dirTree(fixturePath)]);
expect(