Compare commits

...

10 Commits

Author SHA1 Message Date
93a1052bf5 2.0.8 2023-06-03 17:33:32 +02:00
6e6452df61 fix(core): update 2023-06-03 17:33:32 +02:00
3de5a91885 2.0.7 2022-08-03 19:43:18 +02:00
f7ca1b2135 fix(core): update 2022-08-03 19:43:18 +02:00
3076e13179 2.0.6 2022-07-24 15:51:55 +02:00
f3b50d384a fix(core): update 2022-07-24 15:51:55 +02:00
6dcb3f7c2a 2.0.5 2022-06-02 01:00:49 +02:00
daba025307 fix(core): update 2022-06-02 01:00:49 +02:00
00383171ff 2.0.4 2022-05-25 11:56:11 +02:00
2ce9b08911 fix(core): update 2022-05-25 11:56:10 +02:00
6 changed files with 4619 additions and 18831 deletions

18784
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
{
"name": "@gitzone/tsbundle",
"version": "2.0.3",
"version": "2.0.8",
"private": false,
"description": "a bundler using rollup for painless bundling of web projects",
"main": "dist_ts/index.js",
@ -16,25 +16,25 @@
"tsbundle": "cli.js"
},
"devDependencies": {
"@gitzone/tsbuild": "^2.1.59",
"@gitzone/tsrun": "^1.2.31",
"@gitzone/tstest": "^1.0.69",
"@pushrocks/tapbundle": "^5.0.2"
"@gitzone/tsbuild": "^2.1.66",
"@gitzone/tsrun": "^1.2.42",
"@gitzone/tstest": "^1.0.74",
"@pushrocks/tapbundle": "^5.0.4",
"@types/node": "^20.2.5"
},
"dependencies": {
"@pushrocks/early": "^3.0.6",
"@pushrocks/smartcli": "^3.0.14",
"@pushrocks/smartfile": "^9.0.6",
"@pushrocks/smartlog": "^2.0.44",
"@pushrocks/smartlog-destination-local": "^8.0.8",
"@pushrocks/early": "^4.0.3",
"@pushrocks/smartcli": "^4.0.6",
"@pushrocks/smartfile": "^10.0.7",
"@pushrocks/smartlog": "^3.0.2",
"@pushrocks/smartlog-destination-local": "^9.0.0",
"@pushrocks/smartpath": "^5.0.5",
"@pushrocks/smartpromise": "^3.1.7",
"@pushrocks/smartspawn": "^2.0.9",
"@pushrocks/smartpromise": "^4.0.2",
"@pushrocks/smartspawn": "^3.0.2",
"@types/html-minifier": "^4.0.2",
"@types/node": "^17.0.21",
"esbuild": "0.14.27",
"esbuild": "^0.17.19",
"html-minifier": "^4.0.0",
"typescript": "4.7.0"
"typescript": "^5.1.3"
},
"files": [
"ts/**/*",

4564
pnpm-lock.yaml generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -3,6 +3,6 @@
*/
export const commitinfo = {
name: '@gitzone/tsbundle',
version: '2.0.3',
version: '2.0.8',
description: 'a bundler using rollup for painless bundling of web projects'
}

View File

@ -10,35 +10,38 @@ export class HtmlHandler {
}
// copies the html
public async copyHtml(fromArg: string = this.defaultFromPath, toArg: string = this.defaultToPath) {
if (await this.checkIfExists()) {
console.log(`${fromArg} replaces file at ${toArg}`);
public async processHtml(optionsArg: {
from?: string;
to?: string;
minify?: boolean;
}) {
optionsArg = {
... {
from: this.defaultFromPath,
to: this.defaultToPath,
minify: false,
},
...optionsArg
}
fromArg = plugins.smartpath.transform.toAbsolute(fromArg, paths.cwd) as string;
toArg = plugins.smartpath.transform.toAbsolute(toArg, paths.cwd) as string;
await plugins.smartfile.fs.copy(fromArg, toArg);
console.log(`html copy succeeded!`);
}
// copies and minifies the html
public async minifyHtml(fromArg: string = this.defaultFromPath, toArg: string = this.defaultToPath) {
if (await this.checkIfExists()) {
console.log(`${fromArg} replaces file at ${toArg}`);
console.log(`${optionsArg.from} replaces file at ${optionsArg.to}`);
}
fromArg = plugins.smartpath.transform.toAbsolute(fromArg, paths.cwd) as string;
toArg = plugins.smartpath.transform.toAbsolute(toArg, paths.cwd) as string;
const fileString = plugins.smartfile.fs.toStringSync(fromArg);
const minifiedHtml = plugins.htmlMinifier.minify(fileString, {
minifyCSS: true,
minifyJS: true,
sortAttributes: true,
sortClassName: true,
removeAttributeQuotes: true,
collapseWhitespace: true,
collapseInlineTagWhitespace: true,
removeComments: true,
});
await plugins.smartfile.memory.toFs(minifiedHtml, toArg);
console.log(`html minification succeeded!`);
optionsArg.from = plugins.smartpath.transform.toAbsolute(optionsArg.from, paths.cwd) as string;
optionsArg.to = plugins.smartpath.transform.toAbsolute(optionsArg.to, paths.cwd) as string;
let fileString = plugins.smartfile.fs.toStringSync(optionsArg.from);
if (optionsArg.minify) {
fileString = plugins.htmlMinifier.minify(fileString, {
minifyCSS: true,
minifyJS: true,
sortAttributes: true,
sortClassName: true,
removeAttributeQuotes: true,
collapseWhitespace: true,
collapseInlineTagWhitespace: true,
removeComments: true,
});
}
await plugins.smartfile.memory.toFs(fileString, optionsArg.to);
console.log(`html processing succeeded!`);
}
}

View File

@ -5,7 +5,7 @@ import { logger } from './tsbundle.logging.js';
export const runCli = async () => {
const tsBundleCli = new plugins.smartcli.Smartcli();
tsBundleCli.standardTask().subscribe(async (argvArg) => {
tsBundleCli.standardCommand().subscribe(async (argvArg) => {
const tsbundle = new TsBundle();
await tsbundle.build(process.cwd(), argvArg.from, argvArg.to, argvArg);
return;
@ -13,8 +13,6 @@ export const runCli = async () => {
tsBundleCli.addCommand('element').subscribe(async (argvArg) => {
const tsbundle = new TsBundle();
const htmlHandler = new HtmlHandler();
// const htmlHandler = new HtmlHandler();
await tsbundle.build(
process.cwd(),
'./ts_web/index.ts',
@ -43,7 +41,14 @@ export const runCli = async () => {
'./dist_serve/bundle.js',
argvArg
);
await htmlHandler.minifyHtml('./html/index.html', './dist_serve/index.html')
const htmlFiles = await plugins.smartfile.fs.listFiles('./html', /\.html/);
for (const htmlFile of htmlFiles) {
await htmlHandler.processHtml({
from: `./html/${htmlFile}`,
to: `./dist_serve/${htmlFile}`,
minify: true,
});
}
});
tsBundleCli.startParse();