Compare commits

...

8 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
6 changed files with 4619 additions and 9688 deletions

9641
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
{ {
"name": "@gitzone/tsbundle", "name": "@gitzone/tsbundle",
"version": "2.0.4", "version": "2.0.8",
"private": false, "private": false,
"description": "a bundler using rollup for painless bundling of web projects", "description": "a bundler using rollup for painless bundling of web projects",
"main": "dist_ts/index.js", "main": "dist_ts/index.js",
@ -16,25 +16,25 @@
"tsbundle": "cli.js" "tsbundle": "cli.js"
}, },
"devDependencies": { "devDependencies": {
"@gitzone/tsbuild": "^2.1.61", "@gitzone/tsbuild": "^2.1.66",
"@gitzone/tsrun": "^1.2.34", "@gitzone/tsrun": "^1.2.42",
"@gitzone/tstest": "^1.0.71", "@gitzone/tstest": "^1.0.74",
"@pushrocks/tapbundle": "^5.0.3" "@pushrocks/tapbundle": "^5.0.4",
"@types/node": "^20.2.5"
}, },
"dependencies": { "dependencies": {
"@pushrocks/early": "^4.0.2", "@pushrocks/early": "^4.0.3",
"@pushrocks/smartcli": "^3.0.14", "@pushrocks/smartcli": "^4.0.6",
"@pushrocks/smartfile": "^9.0.6", "@pushrocks/smartfile": "^10.0.7",
"@pushrocks/smartlog": "^2.0.44", "@pushrocks/smartlog": "^3.0.2",
"@pushrocks/smartlog-destination-local": "^8.0.8", "@pushrocks/smartlog-destination-local": "^9.0.0",
"@pushrocks/smartpath": "^5.0.5", "@pushrocks/smartpath": "^5.0.5",
"@pushrocks/smartpromise": "^3.1.7", "@pushrocks/smartpromise": "^4.0.2",
"@pushrocks/smartspawn": "^2.0.9", "@pushrocks/smartspawn": "^3.0.2",
"@types/html-minifier": "^4.0.2", "@types/html-minifier": "^4.0.2",
"@types/node": "^17.0.35", "esbuild": "^0.17.19",
"esbuild": "0.14.27",
"html-minifier": "^4.0.0", "html-minifier": "^4.0.0",
"typescript": "^4.7.2" "typescript": "^5.1.3"
}, },
"files": [ "files": [
"ts/**/*", "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 = { export const commitinfo = {
name: '@gitzone/tsbundle', name: '@gitzone/tsbundle',
version: '2.0.4', version: '2.0.8',
description: 'a bundler using rollup for painless bundling of web projects' description: 'a bundler using rollup for painless bundling of web projects'
} }

View File

@ -10,35 +10,38 @@ export class HtmlHandler {
} }
// copies the html // copies the html
public async copyHtml(fromArg: string = this.defaultFromPath, toArg: string = this.defaultToPath) { public async processHtml(optionsArg: {
if (await this.checkIfExists()) { from?: string;
console.log(`${fromArg} replaces file at ${toArg}`); 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()) { 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; optionsArg.from = plugins.smartpath.transform.toAbsolute(optionsArg.from, paths.cwd) as string;
toArg = plugins.smartpath.transform.toAbsolute(toArg, paths.cwd) as string; optionsArg.to = plugins.smartpath.transform.toAbsolute(optionsArg.to, paths.cwd) as string;
const fileString = plugins.smartfile.fs.toStringSync(fromArg); let fileString = plugins.smartfile.fs.toStringSync(optionsArg.from);
const minifiedHtml = plugins.htmlMinifier.minify(fileString, { if (optionsArg.minify) {
minifyCSS: true, fileString = plugins.htmlMinifier.minify(fileString, {
minifyJS: true, minifyCSS: true,
sortAttributes: true, minifyJS: true,
sortClassName: true, sortAttributes: true,
removeAttributeQuotes: true, sortClassName: true,
collapseWhitespace: true, removeAttributeQuotes: true,
collapseInlineTagWhitespace: true, collapseWhitespace: true,
removeComments: true, collapseInlineTagWhitespace: true,
}); removeComments: true,
await plugins.smartfile.memory.toFs(minifiedHtml, toArg); });
console.log(`html minification succeeded!`); }
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 () => { export const runCli = async () => {
const tsBundleCli = new plugins.smartcli.Smartcli(); const tsBundleCli = new plugins.smartcli.Smartcli();
tsBundleCli.standardTask().subscribe(async (argvArg) => { tsBundleCli.standardCommand().subscribe(async (argvArg) => {
const tsbundle = new TsBundle(); const tsbundle = new TsBundle();
await tsbundle.build(process.cwd(), argvArg.from, argvArg.to, argvArg); await tsbundle.build(process.cwd(), argvArg.from, argvArg.to, argvArg);
return; return;
@ -13,8 +13,6 @@ export const runCli = async () => {
tsBundleCli.addCommand('element').subscribe(async (argvArg) => { tsBundleCli.addCommand('element').subscribe(async (argvArg) => {
const tsbundle = new TsBundle(); const tsbundle = new TsBundle();
const htmlHandler = new HtmlHandler();
// const htmlHandler = new HtmlHandler();
await tsbundle.build( await tsbundle.build(
process.cwd(), process.cwd(),
'./ts_web/index.ts', './ts_web/index.ts',
@ -43,7 +41,14 @@ export const runCli = async () => {
'./dist_serve/bundle.js', './dist_serve/bundle.js',
argvArg 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(); tsBundleCli.startParse();