Babel plugin that compiles ES2015 computed properties to ES5-compatible code
88
Build a utility that manages Babel plugin configurations with support for different transformation assumptions.
Create a configuration manager that constructs valid Babel configurations and determines transformation modes based on assumption settings. The focus is on managing the setComputedProperties assumption which controls how computed object properties are transformed.
Your implementation should:
buildBabelConfig(options) that accepts an options object and returns a Babel configurationassumptions property with a setComputedProperties fieldisRelaxedMode(config) that checks if the setComputedProperties assumption is enabled in a given configassumptions.setComputedProperties is true, isRelaxedMode returns true @testassumptions.setComputedProperties is false, isRelaxedMode returns false @testisRelaxedMode returns false (strict mode default) @testbuildBabelConfig includes the computed properties plugin @test@generates
/**
* Builds a Babel configuration with plugin and assumption settings
* @param {Object} options - Configuration options
* @param {Object} [options.assumptions] - Babel assumptions object
* @param {boolean} [options.assumptions.setComputedProperties] - Enable relaxed computed properties mode
* @returns {Object} Babel configuration object with plugins and assumptions
*/
function buildBabelConfig(options) {
// Implementation
}
/**
* Checks if relaxed mode is enabled via setComputedProperties assumption
* @param {Object} config - Babel configuration object
* @returns {boolean} True if setComputedProperties assumption is enabled
*/
function isRelaxedMode(config) {
// Implementation
}
module.exports = {
buildBabelConfig,
isRelaxedMode
};Babel plugin for transforming computed object properties with configurable transformation modes.
Install with Tessl CLI
npx tessl i tessl/npm-babel-plugin-transform-es2015-computed-propertiesdocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10