740
continue;
741
}
743
>
property.source = extensionInfo;
744
>
745
>
// update default value
746
>
property.defaultDefaultValue = properties[key].default;
747
>
this.updatePropertyDefaultValue(key, property);
748
>
749
>
// update scope
750
>
if (OVERRIDE_PROPERTY_REGEX.test(key)) {
751
property.scope = undefined; // No scope for overridable properties `[${identifier}]`
753
>
property.scope = types.isUndefinedOrNull(property.scope) ? scope : property.scope;
754
>
property.restricted = types.isUndefinedOrNull(property.restricted) ? !!restrictedProperties?.includes(key) : property.restricted;
755
>
}
756
>
757
>
if (property.experiment) {
758
if (!property.tags?.some(tag => tag.toLowerCase() === 'onexp')) {
759
property.tags = property.tags ?? [];
760
property.tags.push('onExP');
761
}
763
console.error(`Invalid tag 'onExP' found for property '${key}'. Please use 'experiment' property instead.`);
764
property.experiment = { mode: 'startup' };
765
}
767
>
const excluded = properties[key].hasOwnProperty('included') && !properties[key].included;
768
const policyName = properties[key].policy?.name;
769
const policyReferenceName = properties[key].policyReference?.name;