@omnia/fx-models
Version:
Provide Omnia Fx Models Stuffs.
91 lines (90 loc) • 3 kB
TypeScript
import { SecurityProviderTypes, SecurityRoleScopes, RuleLogicalOperator } from "./index";
export interface OmniaServiceMetadata {
title?: string;
description?: string;
}
export interface OmniaServiceMetadataExtended extends OmniaServiceMetadata {
id?: string;
}
export interface SecurityProviderIdentity {
providerId: string;
}
export interface SecurityProvider extends SecurityProviderIdentity {
type: SecurityProviderTypes;
}
export interface SecurityRoleIdentity {
roleName: string;
scope: SecurityRoleScopes;
}
export interface RoleBasedSecurityProviderOptions extends SecurityProviderIdentity, SecurityRoleIdentity {
}
export interface CombinedSecurityProviderOptions extends SecurityProviderIdentity {
}
export interface RoleBasedSecurityProvider extends RoleBasedSecurityProviderOptions, SecurityProvider {
}
export interface SecurityProviderRule extends SecurityProviderIdentity {
logicalOperator: RuleLogicalOperator;
}
export interface CombinedSecurityProviders extends SecurityProvider {
securityProviderRules: Array<SecurityProviderRule>;
}
export interface BuildOptions {
/**
* enable tree shaking for dead-code elimination.
*/
enableTreeShaking?: boolean;
/**
* it will disable auto add manifest dependencies.
*/
disableAutoAddManifestDependency?: boolean;
/**
* it will disable detect modules with circular dependencies.
*/
disableDetectCircularDependency?: boolean;
/**
* Set options to bundle process.
* Usage: bundleOptions:{...}
*/
bundleOptions?: BundleOptions;
/**
* Set options to module process.
* Usage: moduleOptions:{...}
*/
moduleOptions?: ModuleOptions;
}
export interface BundleOptions {
/**
* Generate an extra chunk, which contains common modules shared between entry points.
* Usage: commonsChunk:{...}
*/
commonsChunk?: {
/**
* The chunk name of the commons chunk. If set to manifest id, will append content to that manifest.
*/
name: string;
/**
* The minimum number of chunks which need to contain a module before it's moved into the commons chunk. Default value is 2.
*/
minChunks?: number;
};
}
export interface ModuleOptions {
/**
* Generate an extra chunk, which contains common modules shared between entry points.
* Usage: commonsChunk:{...}
*/
omitPath?: {
/**
* The value that will be replaced by the new value
*/
searchValue: string;
/**
* The value to replace the search value with. Default value is empty
*/
replaceValue?: number;
};
/**
* enable to use the path in coomment into a file like //// <omnia-transform-resource path="b483ca53-efb8-4d9f-98d4-1e48b74cd324" /> instead of file path structure .
*/
enableTransformResourcePath?: boolean;
}