diff --git a/demos/demo-escss/package.json b/demos/demo-escss/package.json
index 2add4bc1..86a8f798 100644
--- a/demos/demo-escss/package.json
+++ b/demos/demo-escss/package.json
@@ -10,14 +10,16 @@
},
"dependencies": {
"@es-js/vite-plugin-escss": "workspace:^",
- "@es-js/vite-plugin-eshtml": "workspace:^"
+ "@es-js/vite-plugin-eshtml": "workspace:^",
+ "@es-js/vite-plugin-esjs": "workspace:^"
},
"devDependencies": {
- "@es-js/vite-plugin-esjs": "0.1.0-beta.1",
+ "@es-js/core": "workspace:^",
+ "@es-js/escss": "workspace:^",
"prettier": "^3.3.3",
"prettier-plugin-escss": "workspace:^",
- "prettier-plugin-eshtml": "0.0.1-alpha.0",
- "prettier-plugin-esjs": "0.1.0-beta.1",
+ "prettier-plugin-eshtml": "workspace:^",
+ "prettier-plugin-esjs": "workspace:^",
"vite": "^5.3.3"
},
"prettier": {
diff --git a/demos/demo-escss/pnpm-lock.yaml b/demos/demo-escss/pnpm-lock.yaml
index dd217031..39800575 100644
--- a/demos/demo-escss/pnpm-lock.yaml
+++ b/demos/demo-escss/pnpm-lock.yaml
@@ -5,6 +5,7 @@ settings:
excludeLinksFromLockfile: false
importers:
+
.:
dependencies:
'@es-js/vite-plugin-escss':
@@ -13,10 +14,16 @@ importers:
'@es-js/vite-plugin-eshtml':
specifier: workspace:^
version: link:../../packages/vite-plugin-eshtml
- devDependencies:
'@es-js/vite-plugin-esjs':
- specifier: 0.1.0-beta.1
- version: 0.1.0-beta.1
+ specifier: workspace:^
+ version: link:../../packages/vite-plugin-esjs
+ devDependencies:
+ '@es-js/core':
+ specifier: workspace:^
+ version: link:../../packages/core
+ '@es-js/escss':
+ specifier: workspace:^
+ version: link:../../packages/escss
prettier:
specifier: ^3.3.3
version: 3.8.0
@@ -24,762 +31,322 @@ importers:
specifier: workspace:^
version: link:../../packages/prettier-plugin-escss
prettier-plugin-eshtml:
- specifier: 0.0.1-alpha.0
- version: 0.0.1-alpha.0(prettier@3.8.0)
+ specifier: workspace:^
+ version: link:../../packages/prettier-plugin-eshtml
prettier-plugin-esjs:
- specifier: 0.1.0-beta.1
- version: 0.1.0-beta.1(prettier@3.8.0)
+ specifier: workspace:^
+ version: link:../../packages/prettier-plugin-esjs
vite:
specifier: ^5.3.3
version: 5.4.21
packages:
- '@es-js/vite-plugin-esjs@0.1.0-beta.1':
- resolution:
- {
- integrity: sha512-msV/XVIcVU58FNKWZ8Q4OzXZHRTZg4WciCPYyalZwRTl2SZyKXUmQFYNHiBIaxFwPwx32cuqyL+3r/Zf9QqJqg==,
- }
'@esbuild/aix-ppc64@0.21.5':
- resolution:
- {
- integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==,
- }
- engines: { node: '>=12' }
+ resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
+ engines: {node: '>=12'}
cpu: [ppc64]
os: [aix]
- '@esbuild/android-arm64@0.18.20':
- resolution:
- {
- integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==,
- }
- engines: { node: '>=12' }
- cpu: [arm64]
- os: [android]
-
'@esbuild/android-arm64@0.21.5':
- resolution:
- {
- integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==,
- }
- engines: { node: '>=12' }
+ resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==}
+ engines: {node: '>=12'}
cpu: [arm64]
os: [android]
- '@esbuild/android-arm@0.18.20':
- resolution:
- {
- integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==,
- }
- engines: { node: '>=12' }
- cpu: [arm]
- os: [android]
-
'@esbuild/android-arm@0.21.5':
- resolution:
- {
- integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==,
- }
- engines: { node: '>=12' }
+ resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==}
+ engines: {node: '>=12'}
cpu: [arm]
os: [android]
- '@esbuild/android-x64@0.18.20':
- resolution:
- {
- integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==,
- }
- engines: { node: '>=12' }
- cpu: [x64]
- os: [android]
-
'@esbuild/android-x64@0.21.5':
- resolution:
- {
- integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==,
- }
- engines: { node: '>=12' }
+ resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==}
+ engines: {node: '>=12'}
cpu: [x64]
os: [android]
- '@esbuild/darwin-arm64@0.18.20':
- resolution:
- {
- integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==,
- }
- engines: { node: '>=12' }
- cpu: [arm64]
- os: [darwin]
-
'@esbuild/darwin-arm64@0.21.5':
- resolution:
- {
- integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==,
- }
- engines: { node: '>=12' }
+ resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==}
+ engines: {node: '>=12'}
cpu: [arm64]
os: [darwin]
- '@esbuild/darwin-x64@0.18.20':
- resolution:
- {
- integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==,
- }
- engines: { node: '>=12' }
- cpu: [x64]
- os: [darwin]
-
'@esbuild/darwin-x64@0.21.5':
- resolution:
- {
- integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==,
- }
- engines: { node: '>=12' }
+ resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==}
+ engines: {node: '>=12'}
cpu: [x64]
os: [darwin]
- '@esbuild/freebsd-arm64@0.18.20':
- resolution:
- {
- integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==,
- }
- engines: { node: '>=12' }
- cpu: [arm64]
- os: [freebsd]
-
'@esbuild/freebsd-arm64@0.21.5':
- resolution:
- {
- integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==,
- }
- engines: { node: '>=12' }
+ resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==}
+ engines: {node: '>=12'}
cpu: [arm64]
os: [freebsd]
- '@esbuild/freebsd-x64@0.18.20':
- resolution:
- {
- integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==,
- }
- engines: { node: '>=12' }
- cpu: [x64]
- os: [freebsd]
-
'@esbuild/freebsd-x64@0.21.5':
- resolution:
- {
- integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==,
- }
- engines: { node: '>=12' }
+ resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==}
+ engines: {node: '>=12'}
cpu: [x64]
os: [freebsd]
- '@esbuild/linux-arm64@0.18.20':
- resolution:
- {
- integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==,
- }
- engines: { node: '>=12' }
- cpu: [arm64]
- os: [linux]
-
'@esbuild/linux-arm64@0.21.5':
- resolution:
- {
- integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==,
- }
- engines: { node: '>=12' }
+ resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==}
+ engines: {node: '>=12'}
cpu: [arm64]
os: [linux]
- '@esbuild/linux-arm@0.18.20':
- resolution:
- {
- integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==,
- }
- engines: { node: '>=12' }
- cpu: [arm]
- os: [linux]
-
'@esbuild/linux-arm@0.21.5':
- resolution:
- {
- integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==,
- }
- engines: { node: '>=12' }
+ resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==}
+ engines: {node: '>=12'}
cpu: [arm]
os: [linux]
- '@esbuild/linux-ia32@0.18.20':
- resolution:
- {
- integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==,
- }
- engines: { node: '>=12' }
- cpu: [ia32]
- os: [linux]
-
'@esbuild/linux-ia32@0.21.5':
- resolution:
- {
- integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==,
- }
- engines: { node: '>=12' }
+ resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==}
+ engines: {node: '>=12'}
cpu: [ia32]
os: [linux]
- '@esbuild/linux-loong64@0.18.20':
- resolution:
- {
- integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==,
- }
- engines: { node: '>=12' }
- cpu: [loong64]
- os: [linux]
-
'@esbuild/linux-loong64@0.21.5':
- resolution:
- {
- integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==,
- }
- engines: { node: '>=12' }
+ resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==}
+ engines: {node: '>=12'}
cpu: [loong64]
os: [linux]
- '@esbuild/linux-mips64el@0.18.20':
- resolution:
- {
- integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==,
- }
- engines: { node: '>=12' }
- cpu: [mips64el]
- os: [linux]
-
'@esbuild/linux-mips64el@0.21.5':
- resolution:
- {
- integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==,
- }
- engines: { node: '>=12' }
+ resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==}
+ engines: {node: '>=12'}
cpu: [mips64el]
os: [linux]
- '@esbuild/linux-ppc64@0.18.20':
- resolution:
- {
- integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==,
- }
- engines: { node: '>=12' }
- cpu: [ppc64]
- os: [linux]
-
'@esbuild/linux-ppc64@0.21.5':
- resolution:
- {
- integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==,
- }
- engines: { node: '>=12' }
+ resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==}
+ engines: {node: '>=12'}
cpu: [ppc64]
os: [linux]
- '@esbuild/linux-riscv64@0.18.20':
- resolution:
- {
- integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==,
- }
- engines: { node: '>=12' }
- cpu: [riscv64]
- os: [linux]
-
'@esbuild/linux-riscv64@0.21.5':
- resolution:
- {
- integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==,
- }
- engines: { node: '>=12' }
+ resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==}
+ engines: {node: '>=12'}
cpu: [riscv64]
os: [linux]
- '@esbuild/linux-s390x@0.18.20':
- resolution:
- {
- integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==,
- }
- engines: { node: '>=12' }
- cpu: [s390x]
- os: [linux]
-
'@esbuild/linux-s390x@0.21.5':
- resolution:
- {
- integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==,
- }
- engines: { node: '>=12' }
+ resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==}
+ engines: {node: '>=12'}
cpu: [s390x]
os: [linux]
- '@esbuild/linux-x64@0.18.20':
- resolution:
- {
- integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==,
- }
- engines: { node: '>=12' }
- cpu: [x64]
- os: [linux]
-
'@esbuild/linux-x64@0.21.5':
- resolution:
- {
- integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==,
- }
- engines: { node: '>=12' }
+ resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==}
+ engines: {node: '>=12'}
cpu: [x64]
os: [linux]
- '@esbuild/netbsd-x64@0.18.20':
- resolution:
- {
- integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==,
- }
- engines: { node: '>=12' }
- cpu: [x64]
- os: [netbsd]
-
'@esbuild/netbsd-x64@0.21.5':
- resolution:
- {
- integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==,
- }
- engines: { node: '>=12' }
+ resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==}
+ engines: {node: '>=12'}
cpu: [x64]
os: [netbsd]
- '@esbuild/openbsd-x64@0.18.20':
- resolution:
- {
- integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==,
- }
- engines: { node: '>=12' }
- cpu: [x64]
- os: [openbsd]
-
'@esbuild/openbsd-x64@0.21.5':
- resolution:
- {
- integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==,
- }
- engines: { node: '>=12' }
+ resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==}
+ engines: {node: '>=12'}
cpu: [x64]
os: [openbsd]
- '@esbuild/sunos-x64@0.18.20':
- resolution:
- {
- integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==,
- }
- engines: { node: '>=12' }
- cpu: [x64]
- os: [sunos]
-
'@esbuild/sunos-x64@0.21.5':
- resolution:
- {
- integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==,
- }
- engines: { node: '>=12' }
+ resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==}
+ engines: {node: '>=12'}
cpu: [x64]
os: [sunos]
- '@esbuild/win32-arm64@0.18.20':
- resolution:
- {
- integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==,
- }
- engines: { node: '>=12' }
- cpu: [arm64]
- os: [win32]
-
'@esbuild/win32-arm64@0.21.5':
- resolution:
- {
- integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==,
- }
- engines: { node: '>=12' }
+ resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==}
+ engines: {node: '>=12'}
cpu: [arm64]
os: [win32]
- '@esbuild/win32-ia32@0.18.20':
- resolution:
- {
- integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==,
- }
- engines: { node: '>=12' }
- cpu: [ia32]
- os: [win32]
-
'@esbuild/win32-ia32@0.21.5':
- resolution:
- {
- integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==,
- }
- engines: { node: '>=12' }
+ resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==}
+ engines: {node: '>=12'}
cpu: [ia32]
os: [win32]
- '@esbuild/win32-x64@0.18.20':
- resolution:
- {
- integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==,
- }
- engines: { node: '>=12' }
- cpu: [x64]
- os: [win32]
-
'@esbuild/win32-x64@0.21.5':
- resolution:
- {
- integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==,
- }
- engines: { node: '>=12' }
+ resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==}
+ engines: {node: '>=12'}
cpu: [x64]
os: [win32]
'@rollup/rollup-android-arm-eabi@4.55.1':
- resolution:
- {
- integrity: sha512-9R0DM/ykwfGIlNu6+2U09ga0WXeZ9MRC2Ter8jnz8415VbuIykVuc6bhdrbORFZANDmTDvq26mJrEVTl8TdnDg==,
- }
+ resolution: {integrity: sha512-9R0DM/ykwfGIlNu6+2U09ga0WXeZ9MRC2Ter8jnz8415VbuIykVuc6bhdrbORFZANDmTDvq26mJrEVTl8TdnDg==}
cpu: [arm]
os: [android]
'@rollup/rollup-android-arm64@4.55.1':
- resolution:
- {
- integrity: sha512-eFZCb1YUqhTysgW3sj/55du5cG57S7UTNtdMjCW7LwVcj3dTTcowCsC8p7uBdzKsZYa8J7IDE8lhMI+HX1vQvg==,
- }
+ resolution: {integrity: sha512-eFZCb1YUqhTysgW3sj/55du5cG57S7UTNtdMjCW7LwVcj3dTTcowCsC8p7uBdzKsZYa8J7IDE8lhMI+HX1vQvg==}
cpu: [arm64]
os: [android]
'@rollup/rollup-darwin-arm64@4.55.1':
- resolution:
- {
- integrity: sha512-p3grE2PHcQm2e8PSGZdzIhCKbMCw/xi9XvMPErPhwO17vxtvCN5FEA2mSLgmKlCjHGMQTP6phuQTYWUnKewwGg==,
- }
+ resolution: {integrity: sha512-p3grE2PHcQm2e8PSGZdzIhCKbMCw/xi9XvMPErPhwO17vxtvCN5FEA2mSLgmKlCjHGMQTP6phuQTYWUnKewwGg==}
cpu: [arm64]
os: [darwin]
'@rollup/rollup-darwin-x64@4.55.1':
- resolution:
- {
- integrity: sha512-rDUjG25C9qoTm+e02Esi+aqTKSBYwVTaoS1wxcN47/Luqef57Vgp96xNANwt5npq9GDxsH7kXxNkJVEsWEOEaQ==,
- }
+ resolution: {integrity: sha512-rDUjG25C9qoTm+e02Esi+aqTKSBYwVTaoS1wxcN47/Luqef57Vgp96xNANwt5npq9GDxsH7kXxNkJVEsWEOEaQ==}
cpu: [x64]
os: [darwin]
'@rollup/rollup-freebsd-arm64@4.55.1':
- resolution:
- {
- integrity: sha512-+JiU7Jbp5cdxekIgdte0jfcu5oqw4GCKr6i3PJTlXTCU5H5Fvtkpbs4XJHRmWNXF+hKmn4v7ogI5OQPaupJgOg==,
- }
+ resolution: {integrity: sha512-+JiU7Jbp5cdxekIgdte0jfcu5oqw4GCKr6i3PJTlXTCU5H5Fvtkpbs4XJHRmWNXF+hKmn4v7ogI5OQPaupJgOg==}
cpu: [arm64]
os: [freebsd]
'@rollup/rollup-freebsd-x64@4.55.1':
- resolution:
- {
- integrity: sha512-V5xC1tOVWtLLmr3YUk2f6EJK4qksksOYiz/TCsFHu/R+woubcLWdC9nZQmwjOAbmExBIVKsm1/wKmEy4z4u4Bw==,
- }
+ resolution: {integrity: sha512-V5xC1tOVWtLLmr3YUk2f6EJK4qksksOYiz/TCsFHu/R+woubcLWdC9nZQmwjOAbmExBIVKsm1/wKmEy4z4u4Bw==}
cpu: [x64]
os: [freebsd]
'@rollup/rollup-linux-arm-gnueabihf@4.55.1':
- resolution:
- {
- integrity: sha512-Rn3n+FUk2J5VWx+ywrG/HGPTD9jXNbicRtTM11e/uorplArnXZYsVifnPPqNNP5BsO3roI4n8332ukpY/zN7rQ==,
- }
+ resolution: {integrity: sha512-Rn3n+FUk2J5VWx+ywrG/HGPTD9jXNbicRtTM11e/uorplArnXZYsVifnPPqNNP5BsO3roI4n8332ukpY/zN7rQ==}
cpu: [arm]
os: [linux]
'@rollup/rollup-linux-arm-musleabihf@4.55.1':
- resolution:
- {
- integrity: sha512-grPNWydeKtc1aEdrJDWk4opD7nFtQbMmV7769hiAaYyUKCT1faPRm2av8CX1YJsZ4TLAZcg9gTR1KvEzoLjXkg==,
- }
+ resolution: {integrity: sha512-grPNWydeKtc1aEdrJDWk4opD7nFtQbMmV7769hiAaYyUKCT1faPRm2av8CX1YJsZ4TLAZcg9gTR1KvEzoLjXkg==}
cpu: [arm]
os: [linux]
'@rollup/rollup-linux-arm64-gnu@4.55.1':
- resolution:
- {
- integrity: sha512-a59mwd1k6x8tXKcUxSyISiquLwB5pX+fJW9TkWU46lCqD/GRDe9uDN31jrMmVP3feI3mhAdvcCClhV8V5MhJFQ==,
- }
+ resolution: {integrity: sha512-a59mwd1k6x8tXKcUxSyISiquLwB5pX+fJW9TkWU46lCqD/GRDe9uDN31jrMmVP3feI3mhAdvcCClhV8V5MhJFQ==}
cpu: [arm64]
os: [linux]
'@rollup/rollup-linux-arm64-musl@4.55.1':
- resolution:
- {
- integrity: sha512-puS1MEgWX5GsHSoiAsF0TYrpomdvkaXm0CofIMG5uVkP6IBV+ZO9xhC5YEN49nsgYo1DuuMquF9+7EDBVYu4uA==,
- }
+ resolution: {integrity: sha512-puS1MEgWX5GsHSoiAsF0TYrpomdvkaXm0CofIMG5uVkP6IBV+ZO9xhC5YEN49nsgYo1DuuMquF9+7EDBVYu4uA==}
cpu: [arm64]
os: [linux]
'@rollup/rollup-linux-loong64-gnu@4.55.1':
- resolution:
- {
- integrity: sha512-r3Wv40in+lTsULSb6nnoudVbARdOwb2u5fpeoOAZjFLznp6tDU8kd+GTHmJoqZ9lt6/Sys33KdIHUaQihFcu7g==,
- }
+ resolution: {integrity: sha512-r3Wv40in+lTsULSb6nnoudVbARdOwb2u5fpeoOAZjFLznp6tDU8kd+GTHmJoqZ9lt6/Sys33KdIHUaQihFcu7g==}
cpu: [loong64]
os: [linux]
'@rollup/rollup-linux-loong64-musl@4.55.1':
- resolution:
- {
- integrity: sha512-MR8c0+UxAlB22Fq4R+aQSPBayvYa3+9DrwG/i1TKQXFYEaoW3B5b/rkSRIypcZDdWjWnpcvxbNaAJDcSbJU3Lw==,
- }
+ resolution: {integrity: sha512-MR8c0+UxAlB22Fq4R+aQSPBayvYa3+9DrwG/i1TKQXFYEaoW3B5b/rkSRIypcZDdWjWnpcvxbNaAJDcSbJU3Lw==}
cpu: [loong64]
os: [linux]
'@rollup/rollup-linux-ppc64-gnu@4.55.1':
- resolution:
- {
- integrity: sha512-3KhoECe1BRlSYpMTeVrD4sh2Pw2xgt4jzNSZIIPLFEsnQn9gAnZagW9+VqDqAHgm1Xc77LzJOo2LdigS5qZ+gw==,
- }
+ resolution: {integrity: sha512-3KhoECe1BRlSYpMTeVrD4sh2Pw2xgt4jzNSZIIPLFEsnQn9gAnZagW9+VqDqAHgm1Xc77LzJOo2LdigS5qZ+gw==}
cpu: [ppc64]
os: [linux]
'@rollup/rollup-linux-ppc64-musl@4.55.1':
- resolution:
- {
- integrity: sha512-ziR1OuZx0vdYZZ30vueNZTg73alF59DicYrPViG0NEgDVN8/Jl87zkAPu4u6VjZST2llgEUjaiNl9JM6HH1Vdw==,
- }
+ resolution: {integrity: sha512-ziR1OuZx0vdYZZ30vueNZTg73alF59DicYrPViG0NEgDVN8/Jl87zkAPu4u6VjZST2llgEUjaiNl9JM6HH1Vdw==}
cpu: [ppc64]
os: [linux]
'@rollup/rollup-linux-riscv64-gnu@4.55.1':
- resolution:
- {
- integrity: sha512-uW0Y12ih2XJRERZ4jAfKamTyIHVMPQnTZcQjme2HMVDAHY4amf5u414OqNYC+x+LzRdRcnIG1YodLrrtA8xsxw==,
- }
+ resolution: {integrity: sha512-uW0Y12ih2XJRERZ4jAfKamTyIHVMPQnTZcQjme2HMVDAHY4amf5u414OqNYC+x+LzRdRcnIG1YodLrrtA8xsxw==}
cpu: [riscv64]
os: [linux]
'@rollup/rollup-linux-riscv64-musl@4.55.1':
- resolution:
- {
- integrity: sha512-u9yZ0jUkOED1BFrqu3BwMQoixvGHGZ+JhJNkNKY/hyoEgOwlqKb62qu+7UjbPSHYjiVy8kKJHvXKv5coH4wDeg==,
- }
+ resolution: {integrity: sha512-u9yZ0jUkOED1BFrqu3BwMQoixvGHGZ+JhJNkNKY/hyoEgOwlqKb62qu+7UjbPSHYjiVy8kKJHvXKv5coH4wDeg==}
cpu: [riscv64]
os: [linux]
'@rollup/rollup-linux-s390x-gnu@4.55.1':
- resolution:
- {
- integrity: sha512-/0PenBCmqM4ZUd0190j7J0UsQ/1nsi735iPRakO8iPciE7BQ495Y6msPzaOmvx0/pn+eJVVlZrNrSh4WSYLxNg==,
- }
+ resolution: {integrity: sha512-/0PenBCmqM4ZUd0190j7J0UsQ/1nsi735iPRakO8iPciE7BQ495Y6msPzaOmvx0/pn+eJVVlZrNrSh4WSYLxNg==}
cpu: [s390x]
os: [linux]
'@rollup/rollup-linux-x64-gnu@4.55.1':
- resolution:
- {
- integrity: sha512-a8G4wiQxQG2BAvo+gU6XrReRRqj+pLS2NGXKm8io19goR+K8lw269eTrPkSdDTALwMmJp4th2Uh0D8J9bEV1vg==,
- }
+ resolution: {integrity: sha512-a8G4wiQxQG2BAvo+gU6XrReRRqj+pLS2NGXKm8io19goR+K8lw269eTrPkSdDTALwMmJp4th2Uh0D8J9bEV1vg==}
cpu: [x64]
os: [linux]
'@rollup/rollup-linux-x64-musl@4.55.1':
- resolution:
- {
- integrity: sha512-bD+zjpFrMpP/hqkfEcnjXWHMw5BIghGisOKPj+2NaNDuVT+8Ds4mPf3XcPHuat1tz89WRL+1wbcxKY3WSbiT7w==,
- }
+ resolution: {integrity: sha512-bD+zjpFrMpP/hqkfEcnjXWHMw5BIghGisOKPj+2NaNDuVT+8Ds4mPf3XcPHuat1tz89WRL+1wbcxKY3WSbiT7w==}
cpu: [x64]
os: [linux]
'@rollup/rollup-openbsd-x64@4.55.1':
- resolution:
- {
- integrity: sha512-eLXw0dOiqE4QmvikfQ6yjgkg/xDM+MdU9YJuP4ySTibXU0oAvnEWXt7UDJmD4UkYialMfOGFPJnIHSe/kdzPxg==,
- }
+ resolution: {integrity: sha512-eLXw0dOiqE4QmvikfQ6yjgkg/xDM+MdU9YJuP4ySTibXU0oAvnEWXt7UDJmD4UkYialMfOGFPJnIHSe/kdzPxg==}
cpu: [x64]
os: [openbsd]
'@rollup/rollup-openharmony-arm64@4.55.1':
- resolution:
- {
- integrity: sha512-xzm44KgEP11te3S2HCSyYf5zIzWmx3n8HDCc7EE59+lTcswEWNpvMLfd9uJvVX8LCg9QWG67Xt75AuHn4vgsXw==,
- }
+ resolution: {integrity: sha512-xzm44KgEP11te3S2HCSyYf5zIzWmx3n8HDCc7EE59+lTcswEWNpvMLfd9uJvVX8LCg9QWG67Xt75AuHn4vgsXw==}
cpu: [arm64]
os: [openharmony]
'@rollup/rollup-win32-arm64-msvc@4.55.1':
- resolution:
- {
- integrity: sha512-yR6Bl3tMC/gBok5cz/Qi0xYnVbIxGx5Fcf/ca0eB6/6JwOY+SRUcJfI0OpeTpPls7f194as62thCt/2BjxYN8g==,
- }
+ resolution: {integrity: sha512-yR6Bl3tMC/gBok5cz/Qi0xYnVbIxGx5Fcf/ca0eB6/6JwOY+SRUcJfI0OpeTpPls7f194as62thCt/2BjxYN8g==}
cpu: [arm64]
os: [win32]
'@rollup/rollup-win32-ia32-msvc@4.55.1':
- resolution:
- {
- integrity: sha512-3fZBidchE0eY0oFZBnekYCfg+5wAB0mbpCBuofh5mZuzIU/4jIVkbESmd2dOsFNS78b53CYv3OAtwqkZZmU5nA==,
- }
+ resolution: {integrity: sha512-3fZBidchE0eY0oFZBnekYCfg+5wAB0mbpCBuofh5mZuzIU/4jIVkbESmd2dOsFNS78b53CYv3OAtwqkZZmU5nA==}
cpu: [ia32]
os: [win32]
'@rollup/rollup-win32-x64-gnu@4.55.1':
- resolution:
- {
- integrity: sha512-xGGY5pXj69IxKb4yv/POoocPy/qmEGhimy/FoTpTSVju3FYXUQQMFCaZZXJVidsmGxRioZAwpThl/4zX41gRKg==,
- }
+ resolution: {integrity: sha512-xGGY5pXj69IxKb4yv/POoocPy/qmEGhimy/FoTpTSVju3FYXUQQMFCaZZXJVidsmGxRioZAwpThl/4zX41gRKg==}
cpu: [x64]
os: [win32]
'@rollup/rollup-win32-x64-msvc@4.55.1':
- resolution:
- {
- integrity: sha512-SPEpaL6DX4rmcXtnhdrQYgzQ5W2uW3SCJch88lB2zImhJRhIIK44fkUrgIV/Q8yUNfw5oyZ5vkeQsZLhCb06lw==,
- }
+ resolution: {integrity: sha512-SPEpaL6DX4rmcXtnhdrQYgzQ5W2uW3SCJch88lB2zImhJRhIIK44fkUrgIV/Q8yUNfw5oyZ5vkeQsZLhCb06lw==}
cpu: [x64]
os: [win32]
'@types/estree@1.0.8':
- resolution:
- {
- integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==,
- }
-
- esbuild@0.18.20:
- resolution:
- {
- integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==,
- }
- engines: { node: '>=12' }
- hasBin: true
+ resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
esbuild@0.21.5:
- resolution:
- {
- integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==,
- }
- engines: { node: '>=12' }
+ resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
+ engines: {node: '>=12'}
hasBin: true
fsevents@2.3.3:
- resolution:
- {
- integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==,
- }
- engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 }
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin]
nanoid@3.3.11:
- resolution:
- {
- integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==,
- }
- engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 }
+ resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
picocolors@1.1.1:
- resolution:
- {
- integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==,
- }
+ resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
postcss@8.5.6:
- resolution:
- {
- integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==,
- }
- engines: { node: ^10 || ^12 || >=14 }
-
- prettier-plugin-eshtml@0.0.1-alpha.0:
- resolution:
- {
- integrity: sha512-bFZef1wqyswDyg8oaDZHhK9dCUjSiLB6RPvE5DxtI0nAIhszweOLOLmF1woUNWv5QO1qfvJDWOSu7tw0491K1g==,
- }
- peerDependencies:
- prettier: ^3.0.0
-
- prettier-plugin-esjs@0.1.0-beta.1:
- resolution:
- {
- integrity: sha512-PpSDJykLanw/uMJNoNByYqJaWe3aEpgfOBdYxX/k3rt3dKZZeLnT02RM/rWSvnxPazADdJ7Rj2U8HiqYPOq3EA==,
- }
- peerDependencies:
- prettier: ^3.0.0
+ resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
+ engines: {node: ^10 || ^12 || >=14}
prettier@3.8.0:
- resolution:
- {
- integrity: sha512-yEPsovQfpxYfgWNhCfECjG5AQaO+K3dp6XERmOepyPDVqcJm+bjyCVO3pmU+nAPe0N5dDvekfGezt/EIiRe1TA==,
- }
- engines: { node: '>=14' }
- hasBin: true
-
- rollup@3.29.5:
- resolution:
- {
- integrity: sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==,
- }
- engines: { node: '>=14.18.0', npm: '>=8.0.0' }
+ resolution: {integrity: sha512-yEPsovQfpxYfgWNhCfECjG5AQaO+K3dp6XERmOepyPDVqcJm+bjyCVO3pmU+nAPe0N5dDvekfGezt/EIiRe1TA==}
+ engines: {node: '>=14'}
hasBin: true
rollup@4.55.1:
- resolution:
- {
- integrity: sha512-wDv/Ht1BNHB4upNbK74s9usvl7hObDnvVzknxqY/E/O3X6rW1U1rV1aENEfJ54eFZDTNo7zv1f5N4edCluH7+A==,
- }
- engines: { node: '>=18.0.0', npm: '>=8.0.0' }
+ resolution: {integrity: sha512-wDv/Ht1BNHB4upNbK74s9usvl7hObDnvVzknxqY/E/O3X6rW1U1rV1aENEfJ54eFZDTNo7zv1f5N4edCluH7+A==}
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
source-map-js@1.2.1:
- resolution:
- {
- integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==,
- }
- engines: { node: '>=0.10.0' }
-
- vite@4.5.14:
- resolution:
- {
- integrity: sha512-+v57oAaoYNnO3hIu5Z/tJRZjq5aHM2zDve9YZ8HngVHbhk66RStobhb1sqPMIPEleV6cNKYK4eGrAbE9Ulbl2g==,
- }
- engines: { node: ^14.18.0 || >=16.0.0 }
- hasBin: true
- peerDependencies:
- '@types/node': '>= 14'
- less: '*'
- lightningcss: ^1.21.0
- sass: '*'
- stylus: '*'
- sugarss: '*'
- terser: ^5.4.0
- peerDependenciesMeta:
- '@types/node':
- optional: true
- less:
- optional: true
- lightningcss:
- optional: true
- sass:
- optional: true
- stylus:
- optional: true
- sugarss:
- optional: true
- terser:
- optional: true
+ resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
+ engines: {node: '>=0.10.0'}
vite@5.4.21:
- resolution:
- {
- integrity: sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==,
- }
- engines: { node: ^18.0.0 || >=20.0.0 }
+ resolution: {integrity: sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==}
+ engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
'@types/node': ^18.0.0 || >=20.0.0
@@ -809,150 +376,73 @@ packages:
optional: true
snapshots:
- '@es-js/vite-plugin-esjs@0.1.0-beta.1':
- dependencies:
- vite: 4.5.14
- transitivePeerDependencies:
- - '@types/node'
- - less
- - lightningcss
- - sass
- - stylus
- - sugarss
- - terser
'@esbuild/aix-ppc64@0.21.5':
optional: true
- '@esbuild/android-arm64@0.18.20':
- optional: true
-
'@esbuild/android-arm64@0.21.5':
optional: true
- '@esbuild/android-arm@0.18.20':
- optional: true
-
'@esbuild/android-arm@0.21.5':
optional: true
- '@esbuild/android-x64@0.18.20':
- optional: true
-
'@esbuild/android-x64@0.21.5':
optional: true
- '@esbuild/darwin-arm64@0.18.20':
- optional: true
-
'@esbuild/darwin-arm64@0.21.5':
optional: true
- '@esbuild/darwin-x64@0.18.20':
- optional: true
-
'@esbuild/darwin-x64@0.21.5':
optional: true
- '@esbuild/freebsd-arm64@0.18.20':
- optional: true
-
'@esbuild/freebsd-arm64@0.21.5':
optional: true
- '@esbuild/freebsd-x64@0.18.20':
- optional: true
-
'@esbuild/freebsd-x64@0.21.5':
optional: true
- '@esbuild/linux-arm64@0.18.20':
- optional: true
-
'@esbuild/linux-arm64@0.21.5':
optional: true
- '@esbuild/linux-arm@0.18.20':
- optional: true
-
'@esbuild/linux-arm@0.21.5':
optional: true
- '@esbuild/linux-ia32@0.18.20':
- optional: true
-
'@esbuild/linux-ia32@0.21.5':
optional: true
- '@esbuild/linux-loong64@0.18.20':
- optional: true
-
'@esbuild/linux-loong64@0.21.5':
optional: true
- '@esbuild/linux-mips64el@0.18.20':
- optional: true
-
'@esbuild/linux-mips64el@0.21.5':
optional: true
- '@esbuild/linux-ppc64@0.18.20':
- optional: true
-
'@esbuild/linux-ppc64@0.21.5':
optional: true
- '@esbuild/linux-riscv64@0.18.20':
- optional: true
-
'@esbuild/linux-riscv64@0.21.5':
optional: true
- '@esbuild/linux-s390x@0.18.20':
- optional: true
-
'@esbuild/linux-s390x@0.21.5':
optional: true
- '@esbuild/linux-x64@0.18.20':
- optional: true
-
'@esbuild/linux-x64@0.21.5':
optional: true
- '@esbuild/netbsd-x64@0.18.20':
- optional: true
-
'@esbuild/netbsd-x64@0.21.5':
optional: true
- '@esbuild/openbsd-x64@0.18.20':
- optional: true
-
'@esbuild/openbsd-x64@0.21.5':
optional: true
- '@esbuild/sunos-x64@0.18.20':
- optional: true
-
'@esbuild/sunos-x64@0.21.5':
optional: true
- '@esbuild/win32-arm64@0.18.20':
- optional: true
-
'@esbuild/win32-arm64@0.21.5':
optional: true
- '@esbuild/win32-ia32@0.18.20':
- optional: true
-
'@esbuild/win32-ia32@0.21.5':
optional: true
- '@esbuild/win32-x64@0.18.20':
- optional: true
-
'@esbuild/win32-x64@0.21.5':
optional: true
@@ -1033,31 +523,6 @@ snapshots:
'@types/estree@1.0.8': {}
- esbuild@0.18.20:
- optionalDependencies:
- '@esbuild/android-arm': 0.18.20
- '@esbuild/android-arm64': 0.18.20
- '@esbuild/android-x64': 0.18.20
- '@esbuild/darwin-arm64': 0.18.20
- '@esbuild/darwin-x64': 0.18.20
- '@esbuild/freebsd-arm64': 0.18.20
- '@esbuild/freebsd-x64': 0.18.20
- '@esbuild/linux-arm': 0.18.20
- '@esbuild/linux-arm64': 0.18.20
- '@esbuild/linux-ia32': 0.18.20
- '@esbuild/linux-loong64': 0.18.20
- '@esbuild/linux-mips64el': 0.18.20
- '@esbuild/linux-ppc64': 0.18.20
- '@esbuild/linux-riscv64': 0.18.20
- '@esbuild/linux-s390x': 0.18.20
- '@esbuild/linux-x64': 0.18.20
- '@esbuild/netbsd-x64': 0.18.20
- '@esbuild/openbsd-x64': 0.18.20
- '@esbuild/sunos-x64': 0.18.20
- '@esbuild/win32-arm64': 0.18.20
- '@esbuild/win32-ia32': 0.18.20
- '@esbuild/win32-x64': 0.18.20
-
esbuild@0.21.5:
optionalDependencies:
'@esbuild/aix-ppc64': 0.21.5
@@ -1097,20 +562,8 @@ snapshots:
picocolors: 1.1.1
source-map-js: 1.2.1
- prettier-plugin-eshtml@0.0.1-alpha.0(prettier@3.8.0):
- dependencies:
- prettier: 3.8.0
-
- prettier-plugin-esjs@0.1.0-beta.1(prettier@3.8.0):
- dependencies:
- prettier: 3.8.0
-
prettier@3.8.0: {}
- rollup@3.29.5:
- optionalDependencies:
- fsevents: 2.3.3
-
rollup@4.55.1:
dependencies:
'@types/estree': 1.0.8
@@ -1144,14 +597,6 @@ snapshots:
source-map-js@1.2.1: {}
- vite@4.5.14:
- dependencies:
- esbuild: 0.18.20
- postcss: 8.5.6
- rollup: 3.29.5
- optionalDependencies:
- fsevents: 2.3.3
-
vite@5.4.21:
dependencies:
esbuild: 0.21.5
diff --git a/demos/demo-escss/vite.config.js b/demos/demo-escss/vite.config.js
index f2c2dc6c..aba98e1d 100644
--- a/demos/demo-escss/vite.config.js
+++ b/demos/demo-escss/vite.config.js
@@ -1,3 +1,4 @@
+import { URL, fileURLToPath } from 'node:url'
import { defineConfig } from 'vite'
import EsCSS from '@es-js/vite-plugin-escss'
import EsHTML from '@es-js/vite-plugin-eshtml'
@@ -17,4 +18,19 @@ export default defineConfig({
},
}),
],
+ resolve: {
+ alias: {
+ '@': fileURLToPath(new URL('./fuente', import.meta.url)),
+ },
+ extensions: [
+ '.js',
+ '.json',
+ '.jsx',
+ '.mjs',
+ '.ts',
+ '.tsx',
+ '.esjs',
+ '.eshtml',
+ ],
+ },
})
diff --git a/packages/escss/build.config.ts b/packages/escss/build.config.ts
index 1246a780..61d0cb9f 100644
--- a/packages/escss/build.config.ts
+++ b/packages/escss/build.config.ts
@@ -8,5 +8,5 @@ export default defineBuildConfig({
emitCJS: true,
inlineDependencies: true,
},
- externals: ['@es-js/core'],
+ externals: ['@es-js/core', 'postcss'],
})
diff --git a/packages/escss/package.json b/packages/escss/package.json
index 5d460fc6..17ff4966 100644
--- a/packages/escss/package.json
+++ b/packages/escss/package.json
@@ -1,6 +1,6 @@
{
"name": "@es-js/escss",
- "version": "0.0.1",
+ "version": "0.0.2",
"description": "EsCSS: CSS en Español",
"scripts": {
"build": "unbuild",
@@ -21,10 +21,12 @@
"css",
"spanish"
],
+ "dependencies": {
+ "postcss": "^8.4.38"
+ },
"devDependencies": {
"@es-js/core": "workspace:*",
"@types/node": "^20.14.9",
- "postcss": "^8.4.38",
"typescript": "^5.5.2",
"unbuild": "^2.0.0",
"vite": "^5.3.2",
diff --git a/packages/vite-plugin-escss/package.json b/packages/vite-plugin-escss/package.json
index f6b07402..2debf3da 100644
--- a/packages/vite-plugin-escss/package.json
+++ b/packages/vite-plugin-escss/package.json
@@ -1,10 +1,12 @@
{
"name": "@es-js/vite-plugin-escss",
- "version": "0.0.1",
+ "version": "0.0.2",
"description": "Vite Plugin para EsCSS",
"scripts": {
"build": "unbuild",
- "prepublishOnly": "pnpm run build"
+ "prepublishOnly": "pnpm run build",
+ "test": "vitest",
+ "test:run": "vitest run"
},
"repository": {
"type": "git",
@@ -26,7 +28,8 @@
"@es-js/escss": "workspace:*",
"@types/node": "^20.14.9",
"typescript": "^5.5.2",
- "unbuild": "^2.0.0"
+ "unbuild": "^2.0.0",
+ "vitest": "^2.1.9"
},
"type": "module",
"exports": {
diff --git a/packages/vite-plugin-escss/pnpm-lock.yaml b/packages/vite-plugin-escss/pnpm-lock.yaml
index 1c82caa7..eee9750d 100644
--- a/packages/vite-plugin-escss/pnpm-lock.yaml
+++ b/packages/vite-plugin-escss/pnpm-lock.yaml
@@ -24,6 +24,9 @@ importers:
unbuild:
specifier: ^2.0.0
version: 2.0.0(typescript@5.9.3)
+ vitest:
+ specifier: ^2.1.9
+ version: 2.1.9(@types/node@20.19.30)
packages:
@@ -740,11 +743,44 @@ packages:
'@types/resolve@1.20.2':
resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
+ '@vitest/expect@2.1.9':
+ resolution: {integrity: sha512-UJCIkTBenHeKT1TTlKMJWy1laZewsRIzYighyYiJKZreqtdxSos/S1t+ktRMQWu2CKqaarrkeszJx1cgC5tGZw==}
+
+ '@vitest/mocker@2.1.9':
+ resolution: {integrity: sha512-tVL6uJgoUdi6icpxmdrn5YNo3g3Dxv+IHJBr0GXHaEdTcw3F+cPKnsXFhli6nO+f/6SDKPHEK1UN+k+TQv0Ehg==}
+ peerDependencies:
+ msw: ^2.4.9
+ vite: ^5.0.0
+ peerDependenciesMeta:
+ msw:
+ optional: true
+ vite:
+ optional: true
+
+ '@vitest/pretty-format@2.1.9':
+ resolution: {integrity: sha512-KhRIdGV2U9HOUzxfiHmY8IFHTdqtOhIzCpd8WRdJiE7D/HUcZVD0EgQCVjm+Q9gkUXWgBvMmTtZgIG48wq7sOQ==}
+
+ '@vitest/runner@2.1.9':
+ resolution: {integrity: sha512-ZXSSqTFIrzduD63btIfEyOmNcBmQvgOVsPNPe0jYtESiXkhd8u2erDLnMxmGrDCwHCCHE7hxwRDCT3pt0esT4g==}
+
+ '@vitest/snapshot@2.1.9':
+ resolution: {integrity: sha512-oBO82rEjsxLNJincVhLhaxxZdEtV0EFHMK5Kmx5sJ6H9L183dHECjiefOAdnqpIgT5eZwT04PoggUnW88vOBNQ==}
+
+ '@vitest/spy@2.1.9':
+ resolution: {integrity: sha512-E1B35FwzXXTs9FHNK6bDszs7mtydNi5MIfUWpceJ8Xbfb1gBMscAnwLbEu+B44ed6W3XjL9/ehLPHR1fkf1KLQ==}
+
+ '@vitest/utils@2.1.9':
+ resolution: {integrity: sha512-v0psaMSkNJ3A2NMrUEHFRzJtDPFn+/VWZ5WxImB21T9fjucJRmS7xCS3ppEnARb9y11OAzaD+P2Ps+b+BGX5iQ==}
+
acorn@8.15.0:
resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==}
engines: {node: '>=0.4.0'}
hasBin: true
+ assertion-error@2.0.1:
+ resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==}
+ engines: {node: '>=12'}
+
autoprefixer@10.4.23:
resolution: {integrity: sha512-YYTXSFulfwytnjAPlw8QHncHJmlvFKtczb8InXaAx9Q0LbfDnfEYDE55omerIJKihhmU61Ft+cAOSzQVaBUmeA==}
engines: {node: ^10 || ^12 || >=14}
@@ -774,16 +810,28 @@ packages:
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
+ cac@6.7.14:
+ resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
+ engines: {node: '>=8'}
+
caniuse-api@3.0.0:
resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
caniuse-lite@1.0.30001764:
resolution: {integrity: sha512-9JGuzl2M+vPL+pz70gtMF9sHdMFbY9FJaQBi186cHKH3pSzDvzoUJUPV6fqiKIMyXbud9ZLg4F3Yza1vJ1+93g==}
+ chai@5.3.3:
+ resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==}
+ engines: {node: '>=18'}
+
chalk@5.6.2:
resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==}
engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
+ check-error@2.1.3:
+ resolution: {integrity: sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==}
+ engines: {node: '>= 16'}
+
citty@0.1.6:
resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==}
@@ -864,6 +912,10 @@ packages:
supports-color:
optional: true
+ deep-eql@5.0.2:
+ resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==}
+ engines: {node: '>=6'}
+
deepmerge@4.3.1:
resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
engines: {node: '>=0.10.0'}
@@ -895,6 +947,9 @@ packages:
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
engines: {node: '>=0.12'}
+ es-module-lexer@1.7.0:
+ resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==}
+
esbuild@0.19.12:
resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==}
engines: {node: '>=12'}
@@ -917,6 +972,13 @@ packages:
estree-walker@2.0.2:
resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+ estree-walker@3.0.3:
+ resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
+
+ expect-type@1.3.0:
+ resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==}
+ engines: {node: '>=12.0.0'}
+
fast-glob@3.3.3:
resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
engines: {node: '>=8.6.0'}
@@ -1042,6 +1104,9 @@ packages:
lodash.uniq@4.5.0:
resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==}
+ loupe@3.2.1:
+ resolution: {integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==}
+
lru-cache@5.1.1:
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
@@ -1114,6 +1179,10 @@ packages:
pathe@2.0.3:
resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
+ pathval@2.0.1:
+ resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==}
+ engines: {node: '>= 14.16'}
+
picocolors@1.1.1:
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
@@ -1363,6 +1432,9 @@ packages:
engines: {node: '>=10'}
hasBin: true
+ siginfo@2.0.0:
+ resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
+
slash@4.0.0:
resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==}
engines: {node: '>=12'}
@@ -1371,6 +1443,12 @@ packages:
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
engines: {node: '>=0.10.0'}
+ stackback@0.0.2:
+ resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
+
+ std-env@3.10.0:
+ resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==}
+
stylehacks@7.0.7:
resolution: {integrity: sha512-bJkD0JkEtbRrMFtwgpJyBbFIwfDDONQ1Ov3sDLZQP8HuJ73kBOyx66H4bOcAbVWmnfLdvQ0AJwXxOMkpujcO6g==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
@@ -1386,10 +1464,28 @@ packages:
engines: {node: '>=16'}
hasBin: true
+ tinybench@2.9.0:
+ resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
+
+ tinyexec@0.3.2:
+ resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==}
+
tinyglobby@0.2.15:
resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
engines: {node: '>=12.0.0'}
+ tinypool@1.1.1:
+ resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+
+ tinyrainbow@1.2.0:
+ resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==}
+ engines: {node: '>=14.0.0'}
+
+ tinyspy@3.0.2:
+ resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==}
+ engines: {node: '>=14.0.0'}
+
to-regex-range@5.0.1:
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
engines: {node: '>=8.0'}
@@ -1427,6 +1523,11 @@ packages:
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+ vite-node@2.1.9:
+ resolution: {integrity: sha512-AM9aQ/IPrW/6ENLQg3AGY4K1N2TGZdR5e4gu/MmmR2xR3Ll1+dib+nook92g4TV3PXVyeyxdWwtaCAiUL0hMxA==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ hasBin: true
+
vite@5.4.21:
resolution: {integrity: sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==}
engines: {node: ^18.0.0 || >=20.0.0}
@@ -1458,6 +1559,36 @@ packages:
terser:
optional: true
+ vitest@2.1.9:
+ resolution: {integrity: sha512-MSmPM9REYqDGBI8439mA4mWhV5sKmDlBKWIYbA3lRb2PTHACE0mgKwA8yQ2xq9vxDTuk4iPrECBAEW2aoFXY0Q==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ hasBin: true
+ peerDependencies:
+ '@edge-runtime/vm': '*'
+ '@types/node': ^18.0.0 || >=20.0.0
+ '@vitest/browser': 2.1.9
+ '@vitest/ui': 2.1.9
+ happy-dom: '*'
+ jsdom: '*'
+ peerDependenciesMeta:
+ '@edge-runtime/vm':
+ optional: true
+ '@types/node':
+ optional: true
+ '@vitest/browser':
+ optional: true
+ '@vitest/ui':
+ optional: true
+ happy-dom:
+ optional: true
+ jsdom:
+ optional: true
+
+ why-is-node-running@2.3.0:
+ resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==}
+ engines: {node: '>=8'}
+ hasBin: true
+
wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
@@ -1941,8 +2072,50 @@ snapshots:
'@types/resolve@1.20.2': {}
+ '@vitest/expect@2.1.9':
+ dependencies:
+ '@vitest/spy': 2.1.9
+ '@vitest/utils': 2.1.9
+ chai: 5.3.3
+ tinyrainbow: 1.2.0
+
+ '@vitest/mocker@2.1.9(vite@5.4.21(@types/node@20.19.30))':
+ dependencies:
+ '@vitest/spy': 2.1.9
+ estree-walker: 3.0.3
+ magic-string: 0.30.21
+ optionalDependencies:
+ vite: 5.4.21(@types/node@20.19.30)
+
+ '@vitest/pretty-format@2.1.9':
+ dependencies:
+ tinyrainbow: 1.2.0
+
+ '@vitest/runner@2.1.9':
+ dependencies:
+ '@vitest/utils': 2.1.9
+ pathe: 1.1.2
+
+ '@vitest/snapshot@2.1.9':
+ dependencies:
+ '@vitest/pretty-format': 2.1.9
+ magic-string: 0.30.21
+ pathe: 1.1.2
+
+ '@vitest/spy@2.1.9':
+ dependencies:
+ tinyspy: 3.0.2
+
+ '@vitest/utils@2.1.9':
+ dependencies:
+ '@vitest/pretty-format': 2.1.9
+ loupe: 3.2.1
+ tinyrainbow: 1.2.0
+
acorn@8.15.0: {}
+ assertion-error@2.0.1: {}
+
autoprefixer@10.4.23(postcss@8.5.6):
dependencies:
browserslist: 4.28.1
@@ -1974,6 +2147,8 @@ snapshots:
node-releases: 2.0.27
update-browserslist-db: 1.2.3(browserslist@4.28.1)
+ cac@6.7.14: {}
+
caniuse-api@3.0.0:
dependencies:
browserslist: 4.28.1
@@ -1983,8 +2158,18 @@ snapshots:
caniuse-lite@1.0.30001764: {}
+ chai@5.3.3:
+ dependencies:
+ assertion-error: 2.0.1
+ check-error: 2.1.3
+ deep-eql: 5.0.2
+ loupe: 3.2.1
+ pathval: 2.0.1
+
chalk@5.6.2: {}
+ check-error@2.1.3: {}
+
citty@0.1.6:
dependencies:
consola: 3.4.2
@@ -2079,6 +2264,8 @@ snapshots:
dependencies:
ms: 2.1.3
+ deep-eql@5.0.2: {}
+
deepmerge@4.3.1: {}
defu@6.1.4: {}
@@ -2109,6 +2296,8 @@ snapshots:
entities@4.5.0: {}
+ es-module-lexer@1.7.0: {}
+
esbuild@0.19.12:
optionalDependencies:
'@esbuild/aix-ppc64': 0.19.12
@@ -2193,6 +2382,12 @@ snapshots:
estree-walker@2.0.2: {}
+ estree-walker@3.0.3:
+ dependencies:
+ '@types/estree': 1.0.8
+
+ expect-type@1.3.0: {}
+
fast-glob@3.3.3:
dependencies:
'@nodelib/fs.stat': 2.0.5
@@ -2295,6 +2490,8 @@ snapshots:
lodash.uniq@4.5.0: {}
+ loupe@3.2.1: {}
+
lru-cache@5.1.1:
dependencies:
yallist: 3.1.1
@@ -2365,6 +2562,8 @@ snapshots:
pathe@2.0.3: {}
+ pathval@2.0.1: {}
+
picocolors@1.1.1: {}
picomatch@2.3.1: {}
@@ -2616,10 +2815,16 @@ snapshots:
semver@7.7.3: {}
+ siginfo@2.0.0: {}
+
slash@4.0.0: {}
source-map-js@1.2.1: {}
+ stackback@0.0.2: {}
+
+ std-env@3.10.0: {}
+
stylehacks@7.0.7(postcss@8.5.6):
dependencies:
browserslist: 4.28.1
@@ -2638,11 +2843,21 @@ snapshots:
picocolors: 1.1.1
sax: 1.4.4
+ tinybench@2.9.0: {}
+
+ tinyexec@0.3.2: {}
+
tinyglobby@0.2.15:
dependencies:
fdir: 6.5.0(picomatch@4.0.3)
picomatch: 4.0.3
+ tinypool@1.1.1: {}
+
+ tinyrainbow@1.2.0: {}
+
+ tinyspy@3.0.2: {}
+
to-regex-range@5.0.1:
dependencies:
is-number: 7.0.0
@@ -2707,6 +2922,24 @@ snapshots:
util-deprecate@1.0.2: {}
+ vite-node@2.1.9(@types/node@20.19.30):
+ dependencies:
+ cac: 6.7.14
+ debug: 4.4.3
+ es-module-lexer: 1.7.0
+ pathe: 1.1.2
+ vite: 5.4.21(@types/node@20.19.30)
+ transitivePeerDependencies:
+ - '@types/node'
+ - less
+ - lightningcss
+ - sass
+ - sass-embedded
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+
vite@5.4.21(@types/node@20.19.30):
dependencies:
esbuild: 0.21.5
@@ -2716,6 +2949,46 @@ snapshots:
'@types/node': 20.19.30
fsevents: 2.3.3
+ vitest@2.1.9(@types/node@20.19.30):
+ dependencies:
+ '@vitest/expect': 2.1.9
+ '@vitest/mocker': 2.1.9(vite@5.4.21(@types/node@20.19.30))
+ '@vitest/pretty-format': 2.1.9
+ '@vitest/runner': 2.1.9
+ '@vitest/snapshot': 2.1.9
+ '@vitest/spy': 2.1.9
+ '@vitest/utils': 2.1.9
+ chai: 5.3.3
+ debug: 4.4.3
+ expect-type: 1.3.0
+ magic-string: 0.30.21
+ pathe: 1.1.2
+ std-env: 3.10.0
+ tinybench: 2.9.0
+ tinyexec: 0.3.2
+ tinypool: 1.1.1
+ tinyrainbow: 1.2.0
+ vite: 5.4.21(@types/node@20.19.30)
+ vite-node: 2.1.9(@types/node@20.19.30)
+ why-is-node-running: 2.3.0
+ optionalDependencies:
+ '@types/node': 20.19.30
+ transitivePeerDependencies:
+ - less
+ - lightningcss
+ - msw
+ - sass
+ - sass-embedded
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+
+ why-is-node-running@2.3.0:
+ dependencies:
+ siginfo: 2.0.0
+ stackback: 0.0.2
+
wrappy@1.0.2: {}
yallist@3.1.1: {}
diff --git a/packages/vite-plugin-escss/src/index.ts b/packages/vite-plugin-escss/src/index.ts
index 89c6f7b8..19c82902 100644
--- a/packages/vite-plugin-escss/src/index.ts
+++ b/packages/vite-plugin-escss/src/index.ts
@@ -1,7 +1,7 @@
import { compile } from '@es-js/escss'
import type { Plugin, ViteDevServer } from 'vite'
-import { readFileSync, existsSync } from 'fs'
-import { resolve } from 'path'
+import { readFileSync, existsSync, writeFileSync, mkdirSync } from 'fs'
+import path from 'path'
export interface EsCSSOptions {
/**
@@ -40,6 +40,9 @@ export default function EsCSS(options: EsCSSOptions = {}): Plugin {
const { enabled = true } = options
let root = process.cwd()
+ const ESCSS_QUERY = '?from=escss'
+ const escssAssetsToEmit: Array<{ fileName: string; source: string }> = []
+
return {
name: 'vite-plugin-escss',
enforce: 'pre',
@@ -48,7 +51,35 @@ export default function EsCSS(options: EsCSSOptions = {}): Plugin {
root = config.root
},
- // Handle direct .escss file requests (e.g., tags)
+ buildStart() {
+ escssAssetsToEmit.length = 0
+ },
+
+ // Resolver: .escss → módulo .css para que el build lo trate como CSS y no como asset
+ resolveId(sourceId: string, importer?: string) {
+ if (!enabled || !sourceId.endsWith('.escss')) return null
+ const base = importer ? path.dirname(importer) : root
+ const fullPath = path.resolve(base, sourceId)
+ if (!existsSync(fullPath)) return null
+ return fullPath.replace(/\.escss$/, '.css') + ESCSS_QUERY
+ },
+
+ // Cargar: leer .escss, compilar a CSS y devolver como contenido del módulo
+ load(id: string) {
+ if (!enabled || !id.includes(ESCSS_QUERY)) return null
+ const escssPath = id.replace(ESCSS_QUERY, '').replace(/\.css$/, '.escss')
+ if (!existsSync(escssPath)) return null
+ try {
+ const raw = readFileSync(escssPath, 'utf-8')
+ const compiled = compile(raw, { from: 'escss', to: 'css' })
+ return { code: compiled, map: null }
+ } catch (e) {
+ console.error(`Failed to compile EsCSS: ${escssPath}`, e)
+ return null
+ }
+ },
+
+ // Handle direct .escss file requests (e.g., tags) en dev
configureServer(server: ViteDevServer) {
if (!enabled) return
@@ -57,7 +88,7 @@ export default function EsCSS(options: EsCSSOptions = {}): Plugin {
if (!url.endsWith('.escss')) return next()
const cleanUrl = url.split('?')[0]
- const filePath = resolve(root, cleanUrl.slice(1))
+ const filePath = path.resolve(root, cleanUrl.slice(1))
if (!existsSync(filePath)) return next()
@@ -73,13 +104,53 @@ export default function EsCSS(options: EsCSSOptions = {}): Plugin {
})
},
- // Handle .escss imports in JS/TS
+ // Handle .escss imports en JS/TS (por si se importa directamente)
transform(raw: string, id: string) {
if (!enabled || !/\.escss$/.test(id)) return
-
+ // No transformar si ya viene de nuestro load (id con ?from=escss)
+ if (id.includes(ESCSS_QUERY)) return
const compiled = compile(raw, { from: 'escss', to: 'css' })
return { code: compiled, map: null }
},
+
+ // Build: compilar .escss a CSS; guardar para emitir en writeBundle y actualizar
+ transformIndexHtml: {
+ order: 'pre',
+ handler(html: string) {
+ if (!enabled) return html
+ return html.replace(
+ /]*rel=["']stylesheet["'])[^>]*href=["']([^"']+\.escss)["'][^>]*\/?>/gi,
+ (match, href: string) => {
+ const cleanHref = href.replace(/^\//, '').split('?')[0]
+ const filePath = path.resolve(root, cleanHref)
+ if (!existsSync(filePath)) return match
+ try {
+ const raw = readFileSync(filePath, 'utf-8')
+ const compiled = compile(raw, { from: 'escss', to: 'css' })
+ const baseName = path.basename(cleanHref, '.escss') + '.css'
+ const fileName = `assets/${baseName}`
+ escssAssetsToEmit.push({ fileName, source: compiled })
+ return ``
+ } catch (e) {
+ console.error(`Failed to compile EsCSS: ${filePath}`, e)
+ return match
+ }
+ },
+ )
+ },
+ },
+
+ // Build: escribir los .css compilados a disco (a nivel archivo)
+ writeBundle(outputOptions: { dir?: string }) {
+ if (!enabled || escssAssetsToEmit.length === 0) return
+ const outDir = outputOptions.dir
+ if (!outDir) return
+ for (const { fileName, source } of escssAssetsToEmit) {
+ const fullPath = path.join(outDir, fileName)
+ mkdirSync(path.dirname(fullPath), { recursive: true })
+ writeFileSync(fullPath, source, 'utf-8')
+ }
+ },
}
}
diff --git a/packages/vite-plugin-escss/test/fixtures/estilos.escss b/packages/vite-plugin-escss/test/fixtures/estilos.escss
new file mode 100644
index 00000000..d8a452dc
--- /dev/null
+++ b/packages/vite-plugin-escss/test/fixtures/estilos.escss
@@ -0,0 +1,4 @@
+.clase {
+ mostrar: flex;
+ fondo-color: blanco;
+}
diff --git a/packages/vite-plugin-escss/test/vite-plugin-escss.test.ts b/packages/vite-plugin-escss/test/vite-plugin-escss.test.ts
new file mode 100644
index 00000000..6a4f1232
--- /dev/null
+++ b/packages/vite-plugin-escss/test/vite-plugin-escss.test.ts
@@ -0,0 +1,109 @@
+import path from 'path'
+import { fileURLToPath } from 'url'
+import { describe, it, expect, beforeAll } from 'vitest'
+import EsCSS from '../src/index'
+
+const __dirname = path.dirname(fileURLToPath(import.meta.url))
+const fixturesDir = path.join(__dirname, 'fixtures')
+
+describe('vite-plugin-escss', () => {
+ let plugin: ReturnType
+
+ beforeAll(() => {
+ plugin = EsCSS()
+ if (Array.isArray(plugin)) {
+ throw new Error('Plugin returned array, expected single plugin')
+ }
+ plugin.configResolved?.({ root: fixturesDir } as any)
+ })
+
+ it('transform: compila .escss a CSS', () => {
+ const result = plugin.transform!(
+ `.tarjeta { mostrar: flex; fondo-color: azul; }`,
+ '/ruta/archivo.escss',
+ )
+ expect(result).toBeDefined()
+ expect(result?.code).toContain('display: flex')
+ expect(result?.code).toContain('background-color')
+ expect(result?.code).not.toContain('mostrar')
+ expect(result?.code).not.toContain('fondo-color')
+ })
+
+ it('transform: no transforma si id tiene ?from=escss', () => {
+ const result = plugin.transform!(
+ `.x { display: flex; }`,
+ '/ruta/estilos.css?from=escss',
+ )
+ expect(result).toBeUndefined()
+ })
+
+ it('resolveId: resuelve .escss a .css?from=escss cuando el archivo existe', () => {
+ const importer = path.join(fixturesDir, 'index.html')
+ const resolved = plugin.resolveId!('./estilos.escss', importer)
+ expect(resolved).toBeTruthy()
+ expect(resolved).toContain('.css')
+ expect(resolved).toContain('?from=escss')
+ expect(resolved).not.toContain('.escss')
+ })
+
+ it('resolveId: devuelve null si el archivo .escss no existe', () => {
+ const importer = path.join(fixturesDir, 'index.html')
+ const resolved = plugin.resolveId!('./no-existe.escss', importer)
+ expect(resolved).toBeNull()
+ })
+
+ it('load: devuelve CSS compilado para id con ?from=escss', () => {
+ const resolvedId = path.join(fixturesDir, 'estilos.css') + '?from=escss'
+ const result = plugin.load!(resolvedId)
+ expect(result).toBeDefined()
+ expect(result).toHaveProperty('code')
+ expect((result as { code: string }).code).toContain('display: flex')
+ expect((result as { code: string }).code).toContain('background-color')
+ expect((result as { code: string }).code).not.toContain('mostrar')
+ })
+
+ it('transformIndexHtml: sustituye link .escss por link al .css (archivo emitido en writeBundle)', () => {
+ const handler =
+ typeof plugin.transformIndexHtml === 'object' &&
+ 'handler' in plugin.transformIndexHtml
+ ? plugin.transformIndexHtml.handler
+ : plugin.transformIndexHtml
+ expect(handler).toBeTypeOf('function')
+
+ const html = `
+
+
+
+
+
+
+`
+ const result = (handler as (html: string) => string)(html)
+ expect(result).not.toContain('href="./estilos.escss"')
+ expect(result).toContain('rel="stylesheet"')
+ expect(result).toContain('href="/assets/estilos.css"')
+ expect(result).not.toContain('