Просмотр исходного кода

Fix `@charset` CSS declaration in bundle. (#2028)

Paweł Kuna 2 месяцев назад
Родитель
Сommit
c293a66e0a
4 измененных файлов с 66 добавлено и 0 удалено
  1. 5 0
      .changeset/mighty-ligers-help.md
  2. 2 0
      gulpfile.js
  3. 1 0
      package.json
  4. 58 0
      pnpm-lock.yaml

+ 5 - 0
.changeset/mighty-ligers-help.md

@@ -0,0 +1,5 @@
+---
+"@tabler/core": patch
+---
+
+Fix `@charset` CSS declaration in bundle.

+ 2 - 0
gulpfile.js

@@ -26,6 +26,7 @@ const gulp = require('gulp'),
 	cp = require('child_process'),
 	pkg = require('./package.json'),
 	year = new Date().getFullYear(),
+	replace = require('gulp-replace'),
 	argv = yargs(process.argv).argv
 
 let BUILD = false,
@@ -439,6 +440,7 @@ gulp.task('copy-dist', () => {
 gulp.task('add-banner', () => {
 	return gulp.src(`${distDir}/{css,js}/**/*.{js,css}`)
 		.pipe(header(getBanner()))
+		.pipe(replace(/^([\s\S]+)(@charset "UTF-8";)\n?/, '$2\n$1'))
 		.pipe(gulp.dest(`${distDir}`))
 })
 

+ 1 - 0
package.json

@@ -160,6 +160,7 @@
     "gulp-postcss": "^9.0.1",
     "gulp-purgecss": "^5.0.0",
     "gulp-rename": "^2.0.0",
+    "gulp-replace": "^1.1.4",
     "gulp-rtlcss": "^2.0.0",
     "gulp-sass": "^5.1.0",
     "gulp-terser": "^2.1.0",

+ 58 - 0
pnpm-lock.yaml

@@ -108,6 +108,9 @@ importers:
       gulp-rename:
         specifier: ^2.0.0
         version: 2.0.0
+      gulp-replace:
+        specifier: ^1.1.4
+        version: 1.1.4
       gulp-rtlcss:
         specifier: ^2.0.0
         version: 2.0.0
@@ -987,6 +990,9 @@ packages:
   '@types/estree@1.0.1':
     resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==}
 
+  '@types/expect@1.20.4':
+    resolution: {integrity: sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==}
+
   '@types/http-cache-semantics@4.0.1':
     resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==}
 
@@ -1002,6 +1008,9 @@ packages:
   '@types/resolve@1.20.2':
     resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
 
+  '@types/vinyl@2.0.12':
+    resolution: {integrity: sha512-Sr2fYMBUVGYq8kj3UthXFAu5UN6ZW+rYr4NACjZQJvHvj+c8lYv0CahmZ2P/r7iUkN44gGUBwqxZkrKXYPb7cw==}
+
   '@yr/monotone-cubic-spline@1.0.3':
     resolution: {integrity: sha512-FQXkOta0XBSUPHndIKON2Y9JeQz5ZeMqLYZVVK93FliNBFm7LNMIZmY6FrMEB9XPcDbE2bekMbZD6kzDkxwYjA==}
 
@@ -1302,6 +1311,10 @@ packages:
     resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
     engines: {node: '>=8'}
 
+  binaryextensions@2.3.0:
+    resolution: {integrity: sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg==}
+    engines: {node: '>=0.8'}
+
   bindings@1.5.0:
     resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==}
 
@@ -2347,6 +2360,10 @@ packages:
     resolution: {integrity: sha512-97Vba4KBzbYmR5VBs9mWmK+HwIf5mj+/zioxfZhOKeXtx5ZjBk57KFlePf5nxq9QsTtFl0ejnHE3zTC9MHXqyQ==}
     engines: {node: '>=4'}
 
+  gulp-replace@1.1.4:
+    resolution: {integrity: sha512-SVSF7ikuWKhpAW4l4wapAqPPSToJoiNKsbDoUnRrSgwZHH7lH8pbPeQj1aOVYQrbZKhfSVBxVW+Py7vtulRktw==}
+    engines: {node: '>=10'}
+
   gulp-rtlcss@2.0.0:
     resolution: {integrity: sha512-muhh8WGEt6P3qyQ9bfCpmALuNod0W4kfwDqrMOQswx0HlyQym1sZlrCUi/pG58LwUpchVJdNS0J+b8hvuTFFbg==}
 
@@ -2864,6 +2881,10 @@ packages:
     resolution: {integrity: sha512-zKa/Dxq2lGsBIXQ7CUZWTHfvxPC2ej0KfO7fIPqLlHB9J2hJ7rGhZ5rilhuufylr4RXYPzJUeFjKxz305OsNlA==}
     engines: {node: '>=10.13'}
 
+  istextorbinary@3.3.0:
+    resolution: {integrity: sha512-Tvq1W6NAcZeJ8op+Hq7tdZ434rqnMx4CCZ7H0ff83uEloDvVbqAwaMTZcafKGJT0VHkYzuXUiCY4hlXQg6WfoQ==}
+    engines: {node: '>=8'}
+
   iterate-iterator@1.0.2:
     resolution: {integrity: sha512-t91HubM4ZDQ70M9wqp+pcNpu8OyJ9UAtXntT/Bcsvp5tZMnz9vRa+IunKXeI8AnfZMTv0jNuVEmGeLSMjVvfPw==}
 
@@ -3846,6 +3867,9 @@ packages:
     resolution: {integrity: sha512-CHPV/GAglbIB1tnQgaiysb8H2yCy8WQ7lcEwQ/eT+kLj0QHV8LnJW0zpqpE7RSkrMSRoa+EBoag86clf7WAgSg==}
     engines: {node: '>= 0.10'}
 
+  replacestream@4.0.3:
+    resolution: {integrity: sha512-AC0FiLS352pBBiZhd4VXB1Ab/lh0lEgpP+GGvZqbQh8a5cmXVoTe5EX/YeTFArnp4SRGTHh1qCHu9lGs1qG8sA==}
+
   request@2.88.2:
     resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==}
     engines: {node: '>= 6'}
@@ -4336,6 +4360,10 @@ packages:
     engines: {node: '>=10'}
     hasBin: true
 
+  textextensions@3.3.0:
+    resolution: {integrity: sha512-mk82dS8eRABNbeVJrEiN5/UMSCliINAuz8mkUwH4SwslkNP//gbEzlWNS5au0z5Dpx40SQxzqZevZkn+WYJ9Dw==}
+    engines: {node: '>=8'}
+
   through2-filter@3.0.0:
     resolution: {integrity: sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==}
 
@@ -5853,6 +5881,8 @@ snapshots:
 
   '@types/estree@1.0.1': {}
 
+  '@types/expect@1.20.4': {}
+
   '@types/http-cache-semantics@4.0.1': {}
 
   '@types/node@12.20.55': {}
@@ -5863,6 +5893,11 @@ snapshots:
 
   '@types/resolve@1.20.2': {}
 
+  '@types/vinyl@2.0.12':
+    dependencies:
+      '@types/expect': 1.20.4
+      '@types/node': 20.2.1
+
   '@yr/monotone-cubic-spline@1.0.3': {}
 
   accepts@1.3.8:
@@ -6167,6 +6202,8 @@ snapshots:
 
   binary-extensions@2.2.0: {}
 
+  binaryextensions@2.3.0: {}
+
   bindings@1.5.0:
     dependencies:
       file-uri-to-path: 1.0.0
@@ -7511,6 +7548,14 @@ snapshots:
 
   gulp-rename@2.0.0: {}
 
+  gulp-replace@1.1.4:
+    dependencies:
+      '@types/node': 20.2.1
+      '@types/vinyl': 2.0.12
+      istextorbinary: 3.3.0
+      replacestream: 4.0.3
+      yargs-parser: 21.1.1
+
   gulp-rtlcss@2.0.0:
     dependencies:
       plugin-error: 1.0.1
@@ -8000,6 +8045,11 @@ snapshots:
       lodash.isstring: 4.0.1
       lodash.uniqby: 4.7.0
 
+  istextorbinary@3.3.0:
+    dependencies:
+      binaryextensions: 2.3.0
+      textextensions: 3.3.0
+
   iterate-iterator@1.0.2: {}
 
   iterate-value@1.0.2:
@@ -9024,6 +9074,12 @@ snapshots:
       is-absolute: 1.0.0
       remove-trailing-separator: 1.1.0
 
+  replacestream@4.0.3:
+    dependencies:
+      escape-string-regexp: 1.0.5
+      object-assign: 4.1.1
+      readable-stream: 2.3.8
+
   request@2.88.2:
     dependencies:
       aws-sign2: 0.7.0
@@ -9580,6 +9636,8 @@ snapshots:
       commander: 2.20.3
       source-map-support: 0.5.21
 
+  textextensions@3.3.0: {}
+
   through2-filter@3.0.0:
     dependencies:
       through2: 2.0.5