mirror of https://github.com/sveltejs/svelte
				
				
				
			chore: generate CSS hash using the filename (#16740)
	
		
	
				
					
				
			* chore: generate CSS hash using the filename * fix all tests but one * slightly kludgy fix * try this * fix --------- Co-authored-by: Rich Harris <rich.harris@vercel.com>pull/16744/head
							parent
							
								
									f343b00cc6
								
							
						
					
					
						commit
						68d27f1c4f
					
				@ -0,0 +1,5 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					'svelte': patch
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					chore: generate CSS hash using the filename
 | 
				
			||||||
@ -1,43 +1,43 @@
 | 
				
			|||||||
import { ok, test } from '../../test';
 | 
					import { ok, test } from '../../test';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default test({
 | 
					export default test({
 | 
				
			||||||
	html: '<div class="svelte-x1o6ra"></div>',
 | 
						html: '<div class="svelte-70s021"></div>',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	test({ assert, component, target }) {
 | 
						test({ assert, component, target }) {
 | 
				
			||||||
		const div = target.querySelector('div');
 | 
							const div = target.querySelector('div');
 | 
				
			||||||
		ok(div);
 | 
							ok(div);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		component.testName = null;
 | 
							component.testName = null;
 | 
				
			||||||
		assert.equal(div.className, 'svelte-x1o6ra');
 | 
							assert.equal(div.className, 'svelte-70s021');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		component.testName = undefined;
 | 
							component.testName = undefined;
 | 
				
			||||||
		assert.equal(div.className, 'svelte-x1o6ra');
 | 
							assert.equal(div.className, 'svelte-70s021');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		component.testName = undefined + '';
 | 
							component.testName = undefined + '';
 | 
				
			||||||
		assert.equal(div.className, 'undefined svelte-x1o6ra');
 | 
							assert.equal(div.className, 'undefined svelte-70s021');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		component.testName = null + '';
 | 
							component.testName = null + '';
 | 
				
			||||||
		assert.equal(div.className, 'null svelte-x1o6ra');
 | 
							assert.equal(div.className, 'null svelte-70s021');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		component.testName = 1;
 | 
							component.testName = 1;
 | 
				
			||||||
		assert.equal(div.className, '1 svelte-x1o6ra');
 | 
							assert.equal(div.className, '1 svelte-70s021');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		component.testName = 0;
 | 
							component.testName = 0;
 | 
				
			||||||
		assert.equal(div.className, '0 svelte-x1o6ra');
 | 
							assert.equal(div.className, '0 svelte-70s021');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		component.testName = false;
 | 
							component.testName = false;
 | 
				
			||||||
		assert.equal(div.className, 'false svelte-x1o6ra');
 | 
							assert.equal(div.className, 'false svelte-70s021');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		component.testName = true;
 | 
							component.testName = true;
 | 
				
			||||||
		assert.equal(div.className, 'true svelte-x1o6ra');
 | 
							assert.equal(div.className, 'true svelte-70s021');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		component.testName = {};
 | 
							component.testName = {};
 | 
				
			||||||
		assert.equal(div.className, 'svelte-x1o6ra');
 | 
							assert.equal(div.className, 'svelte-70s021');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		component.testName = '';
 | 
							component.testName = '';
 | 
				
			||||||
		assert.equal(div.className, 'svelte-x1o6ra');
 | 
							assert.equal(div.className, 'svelte-70s021');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		component.testName = 'testClassName';
 | 
							component.testName = 'testClassName';
 | 
				
			||||||
		assert.equal(div.className, 'testClassName svelte-x1o6ra');
 | 
							assert.equal(div.className, 'testClassName svelte-70s021');
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
				
			|||||||
@ -1,14 +1,14 @@
 | 
				
			|||||||
import { ok, test } from '../../test';
 | 
					import { ok, test } from '../../test';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default test({
 | 
					export default test({
 | 
				
			||||||
	html: `<custom-element class="red svelte-p153w3"></custom-element><custom-element class="red svelte-p153w3"></custom-element>`,
 | 
						html: `<custom-element class="red svelte-70s021"></custom-element><custom-element class="red svelte-70s021"></custom-element>`,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	async test({ assert, target }) {
 | 
						async test({ assert, target }) {
 | 
				
			||||||
		const [el, el2] = target.querySelectorAll('custom-element');
 | 
							const [el, el2] = target.querySelectorAll('custom-element');
 | 
				
			||||||
		ok(el);
 | 
							ok(el);
 | 
				
			||||||
		ok(el2);
 | 
							ok(el2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		assert.deepEqual(el.className, 'red svelte-p153w3');
 | 
							assert.deepEqual(el.className, 'red svelte-70s021');
 | 
				
			||||||
		assert.deepEqual(el2.className, 'red svelte-p153w3');
 | 
							assert.deepEqual(el2.className, 'red svelte-70s021');
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
				
			|||||||
@ -1 +1 @@
 | 
				
			|||||||
<!--[--><div class="foo svelte-gfnjhw">foo</div><!--]-->
 | 
					<!--[--><div class="foo svelte-1h3glmj">foo</div><!--]-->
 | 
				
			||||||
 | 
				
			|||||||
@ -1 +1 @@
 | 
				
			|||||||
<style id="svelte-gfnjhw">.foo.svelte-gfnjhw {color:green;}.foo.svelte-gfnjhw {color:green;} .foo.svelte-gfnjhw {color:green;}.foo.svelte-gfnjhw, .foo.svelte-gfnjhw {color:green;}</style>
 | 
					<style id="svelte-1h3glmj">.foo.svelte-1h3glmj {color:green;}.foo.svelte-1h3glmj {color:green;} .foo.svelte-1h3glmj {color:green;}.foo.svelte-1h3glmj, .foo.svelte-1h3glmj {color:green;}</style>
 | 
				
			||||||
 | 
				
			|||||||
@ -1,4 +1,4 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
.foo.svelte-sg04hs {
 | 
					.foo.svelte-1nvcr6w {
 | 
				
			||||||
	color: red;
 | 
						color: red;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -1 +1 @@
 | 
				
			|||||||
<!--[--><div class="bar svelte-ievf05">bar</div><!----> <div class="foo svelte-sg04hs">foo</div><!--]-->
 | 
					<!--[--><div class="bar svelte-1nvcr6w">bar</div><!----> <div class="foo svelte-sg04hs">foo</div><!--]-->
 | 
				
			||||||
 | 
				
			|||||||
@ -1 +1 @@
 | 
				
			|||||||
<style id="svelte-ievf05">.bar.svelte-ievf05 {color:red;}</style>
 | 
					<style id="svelte-lr8eda">.bar.svelte-lr8eda {color:red;}</style>
 | 
				
			||||||
 | 
				
			|||||||
@ -1,4 +1,4 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	.foo.svelte-sg04hs {
 | 
						.foo.svelte-okauro {
 | 
				
			||||||
		color: red;
 | 
							color: red;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
				
			|||||||
@ -1 +1 @@
 | 
				
			|||||||
<div class="foo svelte-sg04hs">foo</div>
 | 
					<div class="foo svelte-okauro">foo</div>
 | 
				
			||||||
 | 
				
			|||||||
@ -1 +1 @@
 | 
				
			|||||||
<style id="svelte-sg04hs">.foo.svelte-sg04hs {color:red;}</style>
 | 
					<style id="svelte-okauro">.foo.svelte-okauro {color:red;}</style>
 | 
				
			||||||
 | 
				
			|||||||
@ -1,4 +1,4 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	.foo.svelte-sg04hs {
 | 
						.foo.svelte-e9omc {
 | 
				
			||||||
		color: red;
 | 
							color: red;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
				
			|||||||
@ -1 +1 @@
 | 
				
			|||||||
<div class="foo svelte-sg04hs">foo</div>
 | 
					<div class="foo svelte-e9omc">foo</div>
 | 
				
			||||||
 | 
				
			|||||||
@ -1 +1 @@
 | 
				
			|||||||
<style id="svelte-sg04hs">.foo.svelte-sg04hs {color:red;}</style>
 | 
					<style id="svelte-e9omc">.foo.svelte-e9omc {color:red;}</style>
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,5 @@
 | 
				
			|||||||
import { test } from '../../test';
 | 
					import { test } from '../../test';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default test({
 | 
					export default test({
 | 
				
			||||||
	css: [{ str: '.foo', strGenerated: '.foo.svelte-sg04hs' }]
 | 
						css: [{ str: '.foo', strGenerated: '.foo.svelte-1eyw86p' }]
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
				
			|||||||
					Loading…
					
					
				
		Reference in new issue