astro-purgecss 4.4.1 → 4.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/dist/index.cjs +5 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/LICENSE
CHANGED
package/dist/index.cjs
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var promises = require('fs/promises');
|
|
4
3
|
var url = require('url');
|
|
5
4
|
var purgecss = require('purgecss');
|
|
5
|
+
var crypto = require('crypto');
|
|
6
|
+
var promises = require('fs/promises');
|
|
7
|
+
var path = require('path');
|
|
6
8
|
|
|
7
|
-
function
|
|
9
|
+
async function y(r,e,i){try{let n=await promises.readFile(r,"utf8");if(n.includes(e)){let t=new RegExp(e,"g"),s=n.replace(t,i);await promises.writeFile(r,s,"utf8");}}catch(n){console.error(`Error processing file ${r}: ${n}`);}}async function c(r,e,i){try{let n=await promises.readdir(r,{withFileTypes:!0});for(let t of n){let s=path.join(r,t.name);t.isDirectory()?await c(s,e,i):t.isFile()&&await y(s,e,i);}}catch(n){console.error(`Error processing directory ${r}: ${n}`);}}function f(r){return process.platform!=="win32"?r:(r=r.replace(/\\+$/,""),r.replace(/\\/g,"/"))}async function g({css:r,file:e,outDir:i}){if(!e)return;let n=crypto.createHash("sha256").update(r).digest("hex").substring(0,8),t=`${e.slice(0,-13)}.${n}.css`;return await promises.writeFile(t,r),await promises.unlink(e),await c(path.dirname(i),path.basename(e),path.basename(t)),t}function x(r={}){return {name:"astro-purgecss",hooks:{"astro:build:done":async({dir:e})=>{let i=f(url.fileURLToPath(e)),n=await new purgecss.PurgeCSS().purge({css:[`${i}/**/*.css`],defaultExtractor:t=>t.match(/[\w-/:]+(?<!:)/g)||[],...r,content:[`${i}/**/*.html`,`${i}/**/*.js`,...r.content||[]]});await Promise.all(n.filter(({file:t})=>t?.endsWith(".css")).map(async({css:t,file:s})=>await g({css:t,file:s,outDir:i})));}}}}var I=x;
|
|
8
10
|
|
|
9
|
-
module.exports =
|
|
11
|
+
module.exports = I;
|
|
10
12
|
//# sourceMappingURL=index.cjs.map
|
|
11
13
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":["
|
|
1
|
+
{"version":3,"sources":["../src/utils.ts","../src/index.ts"],"names":["replaceStringInFile","filePath","searchValue","replaceValue","fileContent","readFile","re","newContent","writeFile","err","replaceStringInDirectory","directory","files","readdir","file","fullPath","join","resolveOutputPath","outputPath","writeCssFile","css","outDir","hash","createHash","newFile","unlink","dirname","basename","Plugin","options","dir","fileURLToPath","purged","PurgeCSS","content","src_default"],"mappings":"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","file":"index.cjs","sourcesContent":["import { createHash } from 'node:crypto';\nimport { readdir, readFile, unlink, writeFile } from 'node:fs/promises';\nimport { basename, dirname, join } from 'node:path';\n\nasync function replaceStringInFile(\n filePath: string,\n searchValue: string,\n replaceValue: string\n) {\n try {\n const fileContent = await readFile(filePath, 'utf8');\n if (fileContent.includes(searchValue)) {\n const re = new RegExp(searchValue, 'g');\n const newContent = fileContent.replace(re, replaceValue);\n await writeFile(filePath, newContent, 'utf8');\n }\n } catch (err) {\n console.error(`Error processing file ${filePath}: ${err}`);\n }\n}\n\nasync function replaceStringInDirectory(\n directory: string,\n searchValue: string,\n replaceValue: string\n) {\n try {\n const files = await readdir(directory, { withFileTypes: true });\n for (const file of files) {\n const fullPath = join(directory, file.name);\n if (file.isDirectory()) {\n await replaceStringInDirectory(fullPath, searchValue, replaceValue);\n } else if (file.isFile()) {\n await replaceStringInFile(fullPath, searchValue, replaceValue);\n }\n }\n } catch (err) {\n console.error(`Error processing directory ${directory}: ${err}`);\n }\n}\n\nexport function resolveOutputPath(outputPath: string): string {\n if (process.platform !== 'win32') return outputPath;\n\n // Remove trailing backslash if present\n outputPath = outputPath.replace(/\\\\+$/, '');\n\n // Replace all backslashes with forward slashes\n return outputPath.replace(/\\\\/g, '/');\n}\n\nexport async function writeCssFile({\n css,\n file,\n outDir\n}: {\n css: string;\n file?: string;\n outDir: string;\n}) {\n if (!file) return;\n\n // Get content hash before writing to file\n const hash = createHash('sha256').update(css).digest('hex').substring(0, 8);\n\n // Generate new file name with hash\n // Astro orignal hash is 8 characters long\n const newFile = `${file.slice(0, -13)}.${hash}.css`;\n\n // Write purged CSS to new file\n await writeFile(newFile, css);\n\n // Remove old file\n await unlink(file);\n\n // Replace old name references with new file name\n await replaceStringInDirectory(\n dirname(outDir), // Search from parent directory\n basename(file),\n basename(newFile)\n );\n\n return newFile;\n}\n","import type { AstroIntegration } from 'astro';\nimport { fileURLToPath } from 'node:url';\nimport { PurgeCSS, type UserDefinedOptions } from 'purgecss';\n\nimport { resolveOutputPath, writeCssFile } from './utils';\n\nexport interface PurgeCSSOptions extends Partial<UserDefinedOptions> {}\n\nfunction Plugin(options: PurgeCSSOptions = {}): AstroIntegration {\n return {\n name: 'astro-purgecss',\n hooks: {\n 'astro:build:done': async ({ dir }) => {\n const outDir = resolveOutputPath(fileURLToPath(dir));\n const purged = await new PurgeCSS().purge({\n css: [`${outDir}/**/*.css`],\n defaultExtractor: (content) => content.match(/[\\w-/:]+(?<!:)/g) || [],\n ...options,\n content: [\n `${outDir}/**/*.html`,\n `${outDir}/**/*.js`,\n ...(options.content || [])\n ]\n });\n await Promise.all(\n purged\n .filter(({ file }) => file?.endsWith('.css'))\n .map(\n async ({ css, file }) => await writeCssFile({ css, file, outDir })\n )\n );\n }\n }\n };\n}\n\nexport default Plugin;\n"]}
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { writeFile } from 'node:fs/promises';
|
|
2
1
|
import { fileURLToPath } from 'node:url';
|
|
3
2
|
import { PurgeCSS } from 'purgecss';
|
|
3
|
+
import { createHash } from 'node:crypto';
|
|
4
|
+
import { writeFile, unlink, readdir, readFile } from 'node:fs/promises';
|
|
5
|
+
import { basename, dirname, join } from 'node:path';
|
|
4
6
|
|
|
5
|
-
function
|
|
7
|
+
async function y(r,e,i){try{let n=await readFile(r,"utf8");if(n.includes(e)){let t=new RegExp(e,"g"),s=n.replace(t,i);await writeFile(r,s,"utf8");}}catch(n){console.error(`Error processing file ${r}: ${n}`);}}async function c(r,e,i){try{let n=await readdir(r,{withFileTypes:!0});for(let t of n){let s=join(r,t.name);t.isDirectory()?await c(s,e,i):t.isFile()&&await y(s,e,i);}}catch(n){console.error(`Error processing directory ${r}: ${n}`);}}function f(r){return process.platform!=="win32"?r:(r=r.replace(/\\+$/,""),r.replace(/\\/g,"/"))}async function g({css:r,file:e,outDir:i}){if(!e)return;let n=createHash("sha256").update(r).digest("hex").substring(0,8),t=`${e.slice(0,-13)}.${n}.css`;return await writeFile(t,r),await unlink(e),await c(dirname(i),basename(e),basename(t)),t}function x(r={}){return {name:"astro-purgecss",hooks:{"astro:build:done":async({dir:e})=>{let i=f(fileURLToPath(e)),n=await new PurgeCSS().purge({css:[`${i}/**/*.css`],defaultExtractor:t=>t.match(/[\w-/:]+(?<!:)/g)||[],...r,content:[`${i}/**/*.html`,`${i}/**/*.js`,...r.content||[]]});await Promise.all(n.filter(({file:t})=>t?.endsWith(".css")).map(async({css:t,file:s})=>await g({css:t,file:s,outDir:i})));}}}}var I=x;
|
|
6
8
|
|
|
7
|
-
export {
|
|
9
|
+
export { I as default };
|
|
8
10
|
//# sourceMappingURL=index.js.map
|
|
9
11
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":["
|
|
1
|
+
{"version":3,"sources":["../src/utils.ts","../src/index.ts"],"names":["replaceStringInFile","filePath","searchValue","replaceValue","fileContent","readFile","re","newContent","writeFile","err","replaceStringInDirectory","directory","files","readdir","file","fullPath","join","resolveOutputPath","outputPath","writeCssFile","css","outDir","hash","createHash","newFile","unlink","dirname","basename","Plugin","options","dir","fileURLToPath","purged","PurgeCSS","content","src_default"],"mappings":"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","file":"index.js","sourcesContent":["import { createHash } from 'node:crypto';\nimport { readdir, readFile, unlink, writeFile } from 'node:fs/promises';\nimport { basename, dirname, join } from 'node:path';\n\nasync function replaceStringInFile(\n filePath: string,\n searchValue: string,\n replaceValue: string\n) {\n try {\n const fileContent = await readFile(filePath, 'utf8');\n if (fileContent.includes(searchValue)) {\n const re = new RegExp(searchValue, 'g');\n const newContent = fileContent.replace(re, replaceValue);\n await writeFile(filePath, newContent, 'utf8');\n }\n } catch (err) {\n console.error(`Error processing file ${filePath}: ${err}`);\n }\n}\n\nasync function replaceStringInDirectory(\n directory: string,\n searchValue: string,\n replaceValue: string\n) {\n try {\n const files = await readdir(directory, { withFileTypes: true });\n for (const file of files) {\n const fullPath = join(directory, file.name);\n if (file.isDirectory()) {\n await replaceStringInDirectory(fullPath, searchValue, replaceValue);\n } else if (file.isFile()) {\n await replaceStringInFile(fullPath, searchValue, replaceValue);\n }\n }\n } catch (err) {\n console.error(`Error processing directory ${directory}: ${err}`);\n }\n}\n\nexport function resolveOutputPath(outputPath: string): string {\n if (process.platform !== 'win32') return outputPath;\n\n // Remove trailing backslash if present\n outputPath = outputPath.replace(/\\\\+$/, '');\n\n // Replace all backslashes with forward slashes\n return outputPath.replace(/\\\\/g, '/');\n}\n\nexport async function writeCssFile({\n css,\n file,\n outDir\n}: {\n css: string;\n file?: string;\n outDir: string;\n}) {\n if (!file) return;\n\n // Get content hash before writing to file\n const hash = createHash('sha256').update(css).digest('hex').substring(0, 8);\n\n // Generate new file name with hash\n // Astro orignal hash is 8 characters long\n const newFile = `${file.slice(0, -13)}.${hash}.css`;\n\n // Write purged CSS to new file\n await writeFile(newFile, css);\n\n // Remove old file\n await unlink(file);\n\n // Replace old name references with new file name\n await replaceStringInDirectory(\n dirname(outDir), // Search from parent directory\n basename(file),\n basename(newFile)\n );\n\n return newFile;\n}\n","import type { AstroIntegration } from 'astro';\nimport { fileURLToPath } from 'node:url';\nimport { PurgeCSS, type UserDefinedOptions } from 'purgecss';\n\nimport { resolveOutputPath, writeCssFile } from './utils';\n\nexport interface PurgeCSSOptions extends Partial<UserDefinedOptions> {}\n\nfunction Plugin(options: PurgeCSSOptions = {}): AstroIntegration {\n return {\n name: 'astro-purgecss',\n hooks: {\n 'astro:build:done': async ({ dir }) => {\n const outDir = resolveOutputPath(fileURLToPath(dir));\n const purged = await new PurgeCSS().purge({\n css: [`${outDir}/**/*.css`],\n defaultExtractor: (content) => content.match(/[\\w-/:]+(?<!:)/g) || [],\n ...options,\n content: [\n `${outDir}/**/*.html`,\n `${outDir}/**/*.js`,\n ...(options.content || [])\n ]\n });\n await Promise.all(\n purged\n .filter(({ file }) => file?.endsWith('.css'))\n .map(\n async ({ css, file }) => await writeCssFile({ css, file, outDir })\n )\n );\n }\n }\n };\n}\n\nexport default Plugin;\n"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "astro-purgecss",
|
|
3
3
|
"description": "Remove unused CSS rules from your final Astro bundle",
|
|
4
|
-
"version": "4.
|
|
4
|
+
"version": "4.5.0",
|
|
5
5
|
"homepage": "https://github.com/codiume/orbit",
|
|
6
6
|
"bugs": "https://github.com/codiume/orbit/issues",
|
|
7
7
|
"author": "codiume",
|