Compare commits

..

24 Commits

Author SHA1 Message Date
91e3502965 2.1.78 2024-05-17 19:18:26 +02:00
0afddbefce fix(core): update 2024-05-17 19:18:26 +02:00
94e879d9fe 2.1.77 2024-05-17 19:17:52 +02:00
43e2a1d777 fix(core): update 2024-05-17 19:17:51 +02:00
9a1f57b92d 2.1.76 2024-05-14 01:20:50 +02:00
0064f63ddb fix(core): update 2024-05-14 01:20:49 +02:00
6e90bdda36 2.1.75 2024-05-10 16:54:46 +02:00
82cce58d69 fix(core): update 2024-05-10 16:54:45 +02:00
a316cc6725 2.1.74 2024-05-10 16:52:43 +02:00
05738a5c94 fix(core): update 2024-05-10 16:52:43 +02:00
651a06ff7b 2.1.73 2024-05-10 15:55:25 +02:00
2f04474dab fix(core): update 2024-05-10 15:55:25 +02:00
d88af368a4 2.1.72 2024-01-08 16:17:15 +01:00
e60816be4c fix(core): update 2024-01-08 16:17:15 +01:00
a9e383ba2d 2.1.71 2024-01-08 16:06:31 +01:00
a3e1cf9e3d fix(core): update 2024-01-08 16:06:30 +01:00
8790886815 2.1.70 2023-08-26 15:34:43 +02:00
611bd0d542 fix(core): update 2023-08-26 15:34:42 +02:00
b182fa5c0a 2.1.69 2023-08-26 14:40:49 +02:00
03d4996284 fix(core): update 2023-08-26 14:40:48 +02:00
6b2d2c9cc3 2.1.68 2023-08-26 13:30:07 +02:00
e9dc5ae444 fix(core): update 2023-08-26 13:30:06 +02:00
24574bdb4d 2.1.67 2023-08-26 13:27:51 +02:00
2fe98bec22 fix(core): update 2023-08-26 13:27:51 +02:00
16 changed files with 886 additions and 818 deletions

View File

@ -1,4 +1,4 @@
#!/usr/bin/env node #!/usr/bin/env node
process.env.CLI_CALL = 'true'; process.env.CLI_CALL = 'true';
import * as tsrun from '@gitzone/tsrun'; import * as tsrun from '@git.zone/tsrun';
tsrun.runPath('./cli.child.js'); tsrun.runPath('./cli.child.js');

View File

@ -1,6 +1,6 @@
{ {
"name": "@gitzone/tsbuild", "name": "@git.zone/tsbuild",
"version": "2.1.66", "version": "2.1.78",
"private": false, "private": false,
"description": "TypeScript nightly to easily make use of latest features", "description": "TypeScript nightly to easily make use of latest features",
"main": "dist_ts/index.js", "main": "dist_ts/index.js",
@ -11,7 +11,6 @@
}, },
"scripts": { "scripts": {
"test": "tsrun test/test.ts", "test": "tsrun test/test.ts",
"testCustom": "node cli.ts.js custom ts_web",
"build": "node cli.ts.js --web --allowimplicitany", "build": "node cli.ts.js --web --allowimplicitany",
"buildDocs": "tsdoc" "buildDocs": "tsdoc"
}, },
@ -29,19 +28,19 @@
}, },
"homepage": "https://gitlab.com/pushrocks/tsn#README", "homepage": "https://gitlab.com/pushrocks/tsn#README",
"dependencies": { "dependencies": {
"@pushrocks/early": "^4.0.3", "@push.rocks/early": "^4.0.4",
"@pushrocks/smartcli": "^4.0.6", "@push.rocks/smartcli": "^4.0.10",
"@pushrocks/smartdelay": "^3.0.1", "@push.rocks/smartdelay": "^3.0.5",
"@pushrocks/smartfile": "^10.0.7", "@push.rocks/smartfile": "^11.0.14",
"@pushrocks/smartlog": "^3.0.2", "@push.rocks/smartlog": "^3.0.3",
"@pushrocks/smartpath": "^5.0.5", "@push.rocks/smartpath": "^5.0.18",
"@pushrocks/smartpromise": "^4.0.2", "@push.rocks/smartpromise": "^4.0.3",
"typescript": "^5.1.3" "typescript": "5.4.5"
}, },
"devDependencies": { "devDependencies": {
"@gitzone/tsrun": "^1.2.41", "@git.zone/tsrun": "^1.2.46",
"@pushrocks/tapbundle": "^5.0.4", "@push.rocks/tapbundle": "^5.0.23",
"@types/node": "^20.2.5" "@types/node": "^20.12.11"
}, },
"files": [ "files": [
"ts/**/*", "ts/**/*",

1566
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
console.log('test'); console.log('test');
console.log('test2'); console.log('test2');
import * as early from '@pushrocks/early'; import * as early from '@push.rocks/early';
early.start(); early.start();
early.stop(); early.stop();
import { anExportedString } from './tocompile2.js'; import { anExportedString } from './tocompile2.js';
@ -14,4 +14,4 @@ class test2 {
const run = async () => { const run = async () => {
return 'hi'; return 'hi';
}; };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9jb21waWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdG9jb21waWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUVyQixPQUFPLEtBQUssS0FBSyxNQUFNLGtCQUFrQixDQUFDO0FBRTFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztBQUNkLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUViLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUU5QixNQUFNLEtBQUs7SUFFVDtRQURBLFNBQUksR0FBYSxFQUFFLENBQUM7UUFFbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLEdBQUcsR0FBRyxLQUFLLElBQXFCLEVBQUU7SUFDdEMsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUMifQ== //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9jb21waWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdG9jb21waWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUVyQixPQUFPLEtBQUssS0FBSyxNQUFNLG1CQUFtQixDQUFDO0FBRTNDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztBQUNkLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUViLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUU5QixNQUFNLEtBQUs7SUFFVDtRQURBLFNBQUksR0FBYSxFQUFFLENBQUM7UUFFbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLEdBQUcsR0FBRyxLQUFLLElBQXFCLEVBQUU7SUFDdEMsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUMifQ==

View File

@ -1 +1 @@
export declare const anExportedString = 'exported string'; export declare const anExportedString = "exported string";

View File

@ -1,7 +1,7 @@
console.log('test'); console.log('test');
console.log('test2'); console.log('test2');
import * as early from '@pushrocks/early'; import * as early from '@push.rocks/early';
early.start(); early.start();
early.stop(); early.stop();

View File

@ -1,4 +1,4 @@
import { tap, expect, expectAsync } from '@pushrocks/tapbundle'; import { tap, expect, expectAsync } from '@push.rocks/tapbundle';
import * as tsbuild from '../ts/index.js'; import * as tsbuild from '../ts/index.js';

View File

@ -2,7 +2,7 @@
* autocreated commitinfo by @pushrocks/commitinfo * autocreated commitinfo by @pushrocks/commitinfo
*/ */
export const commitinfo = { export const commitinfo = {
name: '@gitzone/tsbuild', name: '@git.zone/tsbuild',
version: '2.1.66', version: '2.1.78',
description: 'TypeScript nightly to easily make use of latest features' description: 'TypeScript nightly to easily make use of latest features'
} }

View File

@ -1,4 +1,4 @@
import * as early from '@pushrocks/early'; import * as early from '@push.rocks/early';
early.start('tsbuild'); early.start('tsbuild');
export * from './tsbuild.exports.js'; export * from './tsbuild.exports.js';
export * from './tsbuild.cli.js'; export * from './tsbuild.cli.js';

4
ts/paths.ts Normal file
View File

@ -0,0 +1,4 @@
import * as plugins from './plugins.js';
export const cwd = process.cwd();
export const packageDir = plugins.path.join(plugins.smartpath.get.dirnameFromImportMetaUrl(import.meta.url), '../');

22
ts/plugins.ts Normal file
View File

@ -0,0 +1,22 @@
// node native
import * as path from 'path';
export {
path
}
// @push.rocks scope
import * as smartcli from '@push.rocks/smartcli';
import * as smartdelay from '@push.rocks/smartdelay';
import * as smartfile from '@push.rocks/smartfile';
import * as smartpath from '@push.rocks/smartpath';
import * as smartpromise from '@push.rocks/smartpromise';
export { smartcli, smartdelay, smartfile, smartpath, smartpromise };
// third party scope
import typescript from 'typescript';
export {
typescript
}

View File

@ -1,5 +1,5 @@
// import all the stuff we need // import all the stuff we need
import * as plugins from './tsbuild.plugins.js'; import * as plugins from './plugins.js';
import type { CompilerOptions, ScriptTarget, ModuleKind } from './tsbuild.exports.js'; import type { CompilerOptions, ScriptTarget, ModuleKind } from './tsbuild.exports.js';
/** /**
@ -12,10 +12,10 @@ export const compilerOptionsDefault: CompilerOptions = {
inlineSourceMap: true, inlineSourceMap: true,
noEmitOnError: true, noEmitOnError: true,
outDir: 'dist_ts/', outDir: 'dist_ts/',
module: plugins.typescript.ModuleKind.ES2022, module: plugins.typescript.ModuleKind.NodeNext,
target: plugins.typescript.ScriptTarget.ES2022, target: plugins.typescript.ScriptTarget.ESNext,
moduleResolution: plugins.typescript.ModuleResolutionKind.NodeNext, moduleResolution: plugins.typescript.ModuleResolutionKind.NodeNext,
lib: ['lib.dom.d.ts'], lib: ['lib.dom.d.ts', 'es2021'],
noImplicitAny: true, noImplicitAny: true,
esModuleInterop: true, esModuleInterop: true,
useDefineForClassFields: false, useDefineForClassFields: false,

View File

@ -1,4 +1,5 @@
import * as plugins from './tsbuild.plugins.js'; import * as plugins from './plugins.js';
import * as paths from './paths.js';
import * as tsbuild from './tsbuild.exports.js'; import * as tsbuild from './tsbuild.exports.js';
export const runCli = async () => { export const runCli = async () => {
@ -23,7 +24,7 @@ export const runCli = async () => {
*/ */
tsbuildCli.addCommand('custom').subscribe(async (argvArg) => { tsbuildCli.addCommand('custom').subscribe(async (argvArg) => {
const listedDirectories = argvArg._; const listedDirectories = argvArg._;
listedDirectories.shift(); listedDirectories.shift(); // removes the first element that is "custom"
const compilationCommandObject: { [key: string]: string } = {}; const compilationCommandObject: { [key: string]: string } = {};
for (const directory of listedDirectories) { for (const directory of listedDirectories) {
compilationCommandObject[`./${directory}/**/*.ts`] = `./dist_${directory}`; compilationCommandObject[`./${directory}/**/*.ts`] = `./dist_${directory}`;
@ -31,15 +32,35 @@ export const runCli = async () => {
await tsbuild.compileGlobStringObject(compilationCommandObject, {}, process.cwd(), argvArg); await tsbuild.compileGlobStringObject(compilationCommandObject, {}, process.cwd(), argvArg);
}); });
tsbuildCli.addCommand('element').subscribe(async (argvArg) => { /**
await tsbuild.compileGlobStringObject( * the custom command compiles any customDir to dist_customDir
{ */
'./ts_web/**/*.ts': 'dist_ts_web', tsbuildCli.addCommand('tsfolders').subscribe(async (argvArg) => {
}, const tsFolders = await plugins.smartfile.fs.listFolders(paths.cwd, /^ts/);
{},
process.cwd(), // lets make sure interfaces are always transpiled first
{ web: true, ...argvArg } const index = tsFolders.indexOf('ts_interfaces');
); if (index > -1) {
tsFolders.splice(index, 1);
tsFolders.unshift('ts_interfaces');
}
const compilationCommandObject: { [key: string]: string } = {};
for (const tsFolder of tsFolders) {
compilationCommandObject[`./${tsFolder}/**/*.ts`] = `./dist_${tsFolder}`;
}
await tsbuild.compileGlobStringObject(compilationCommandObject, {}, process.cwd(), argvArg);
});
/**
* the custom command compiles any customDir to dist_customDir
*/
tsbuildCli.addCommand('interfaces').subscribe(async (argvArg) => {
const tsFolders = ['ts_interfaces'];
const compilationCommandObject: { [key: string]: string } = {};
for (const tsFolder of tsFolders) {
compilationCommandObject[`./${tsFolder}/**/*.ts`] = `./dist_${tsFolder}`;
}
await tsbuild.compileGlobStringObject(compilationCommandObject, {}, process.cwd(), argvArg);
}); });
tsbuildCli.startParse(); tsbuildCli.startParse();

View File

@ -1,4 +1,4 @@
import * as plugins from './tsbuild.plugins.js'; import * as plugins from './plugins.js';
import type { CompilerOptions, ScriptTarget, ModuleKind } from 'typescript'; import type { CompilerOptions, ScriptTarget, ModuleKind } from 'typescript';
import { compiler, mergeCompilerOptions } from './tsbuild.classes.compiler.js'; import { compiler, mergeCompilerOptions } from './tsbuild.classes.compiler.js';
@ -30,7 +30,7 @@ export let compileGlobStringObject = async (
cwdArg: string = process.cwd(), cwdArg: string = process.cwd(),
argvArg?: any argvArg?: any
) => { ) => {
let compiledFiles: plugins.smartfile.Smartfile[] = []; let compiledFiles: plugins.smartfile.SmartFile[] = [];
for (const keyArg in globStringObjectArg) { for (const keyArg in globStringObjectArg) {
if (globStringObjectArg[keyArg]) { if (globStringObjectArg[keyArg]) {
console.log( console.log(

View File

@ -1,8 +0,0 @@
import * as smartcli from '@pushrocks/smartcli';
import * as smartdelay from '@pushrocks/smartdelay';
import * as smartfile from '@pushrocks/smartfile';
import * as smartpath from '@pushrocks/smartpath';
import * as smartpromise from '@pushrocks/smartpromise';
import typescript from 'typescript';
export { smartcli, smartdelay, smartfile, smartpath, smartpromise, typescript };

View File

@ -3,8 +3,8 @@
"experimentalDecorators": true, "experimentalDecorators": true,
"useDefineForClassFields": false, "useDefineForClassFields": false,
"target": "ES2022", "target": "ES2022",
"module": "ES2022", "module": "NodeNext",
"moduleResolution": "nodenext", "moduleResolution": "NodeNext",
"esModuleInterop": true, "esModuleInterop": true,
"verbatimModuleSyntax": true "verbatimModuleSyntax": true
} }