Refactor to cssHash

pull/4377/head
Christian Kaisermann 6 years ago
parent a038f72fb3
commit 66caecd573

@ -139,7 +139,7 @@ export default class Component {
filename: compile_options.filename,
component_name: name,
dev: compile_options.dev,
scope_class_getter: compile_options.scopeClass
get_css_hash: compile_options.cssHash
});
this.stylesheet.validate(this);

@ -2,7 +2,7 @@ import MagicString from 'magic-string';
import { walk } from 'estree-walker';
import Selector from './Selector';
import Element from '../nodes/Element';
import { Ast, CssScopeClassGetter } from '../../interfaces';
import { Ast, CssHashGetter } from '../../interfaces';
import Component from '../Component';
import { CssNode } from './interfaces';
import hash from '../utils/hash';
@ -275,7 +275,7 @@ class Atrule {
}
}
const getDefaultScopeClass: CssScopeClassGetter = ({ hash }) => {
const get_default_css_hash: CssHashGetter = ({ hash }) => {
return `svelte-${hash}`;
};
@ -299,14 +299,14 @@ export default class Stylesheet {
component_name,
filename,
dev,
scope_class_getter = getDefaultScopeClass,
get_css_hash = get_default_css_hash,
}: {
source: string;
ast: Ast;
filename: string | undefined;
component_name: string | undefined;
dev: boolean;
scope_class_getter: CssScopeClassGetter;
get_css_hash: CssHashGetter;
}) {
this.source = source;
this.ast = ast;
@ -314,7 +314,7 @@ export default class Stylesheet {
this.dev = dev;
if (ast.css && ast.css.children.length) {
this.id = scope_class_getter({
this.id = get_css_hash({
filename,
name: component_name,
hash: hash(ast.css.content.styles),

@ -29,7 +29,7 @@ const valid_options = [
'loopGuardTimeout',
'preserveComments',
'preserveWhitespace',
'scopeClass',
'cssHash',
];
function validate_options(options: CompileOptions, warnings: Warning[]) {

@ -104,7 +104,7 @@ export interface Warning {
export type ModuleFormat = 'esm' | 'cjs';
export type CssScopeClassGetter = (args: {
export type CssHashGetter = (args: {
name: string;
filename: string | undefined;
hash: string;
@ -131,7 +131,7 @@ export interface CompileOptions {
css?: boolean;
loopGuardTimeout?: number;
namespace?: string;
scopeClass?: CssScopeClassGetter;
cssHash?: CssHashGetter;
preserveComments?: boolean;
preserveWhitespace?: boolean;

@ -1,7 +1,7 @@
export default {
compileOptions: {
filename: 'src/components/FooSwitcher.svelte',
scopeClass({ hash, name, filename }) {
cssHash({ hash, name, filename }) {
const minFilename = filename
.split('/')
.map(i => i.charAt(0).toLowerCase())
Loading…
Cancel
Save