Compare commits

..

16 Commits

Author SHA1 Message Date
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
87b6a4efb2 2.1.66 2023-06-03 16:45:40 +02:00
dc81d99ac3 fix(core): update 2023-06-03 16:45:40 +02:00
18 changed files with 2440 additions and 6602 deletions

@ -13,31 +13,24 @@ stages:
- metadata - metadata
before_script: before_script:
- npm install -g @shipzone/npmci - pnpm install -g pnpm
- pnpm install -g @shipzone/npmci
- npmci npm prepare
# ==================== # ====================
# security stage # security stage
# ==================== # ====================
mirror: # ====================
stage: security # security stage
script: # ====================
- npmci git mirror
only:
- tags
tags:
- lossless
- docker
- notpriv
auditProductionDependencies: auditProductionDependencies:
image: registry.gitlab.com/hosttoday/ht-docker-node:npmci image: registry.gitlab.com/hosttoday/ht-docker-node:npmci
stage: security stage: security
script: script:
- npmci npm prepare - npmci command npm config set registry https://registry.npmjs.org
- npmci command npm install --production --ignore-scripts - npmci command pnpm audit --audit-level=high --prod
- npmci command npm config set registry https://registry.npmjs.org
- npmci command npm audit --audit-level=high --only=prod --production
tags: tags:
- lossless
- docker - docker
allow_failure: true allow_failure: true
@ -45,11 +38,10 @@ auditDevDependencies:
image: registry.gitlab.com/hosttoday/ht-docker-node:npmci image: registry.gitlab.com/hosttoday/ht-docker-node:npmci
stage: security stage: security
script: script:
- npmci npm prepare
- npmci command npm install --ignore-scripts
- npmci command npm config set registry https://registry.npmjs.org - npmci command npm config set registry https://registry.npmjs.org
- npmci command npm audit --audit-level=high --only=dev - npmci command pnpm audit --audit-level=high --dev
tags: tags:
- lossless
- docker - docker
allow_failure: true allow_failure: true
@ -60,7 +52,6 @@ auditDevDependencies:
testStable: testStable:
stage: test stage: test
script: script:
- npmci npm prepare
- npmci node install stable - npmci node install stable
- npmci npm install - npmci npm install
- npmci npm test - npmci npm test
@ -71,10 +62,9 @@ testStable:
testBuild: testBuild:
stage: test stage: test
script: script:
- npmci npm prepare
- npmci node install stable - npmci node install stable
- npmci npm install - npmci npm install
- npmci command npm run build - npmci npm build
coverage: /\d+.?\d+?\%\s*coverage/ coverage: /\d+.?\d+?\%\s*coverage/
tags: tags:
- docker - docker
@ -122,11 +112,9 @@ trigger:
pages: pages:
stage: metadata stage: metadata
script: script:
- npmci node install lts - npmci node install stable
- npmci command npm install -g @gitzone/tsdoc
- npmci npm prepare
- npmci npm install - npmci npm install
- npmci command tsdoc - npmci command npm run buildDocs
tags: tags:
- lossless - lossless
- docker - docker

@ -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');

6522
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -1,6 +1,6 @@
{ {
"name": "@gitzone/tsbuild", "name": "@git.zone/tsbuild",
"version": "2.1.65", "version": "2.1.73",
"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,8 +11,8 @@
}, },
"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"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@ -28,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.3", "@push.rocks/smartcli": "^4.0.10",
"@pushrocks/smartdelay": "^2.0.13", "@push.rocks/smartdelay": "^3.0.5",
"@pushrocks/smartfile": "^10.0.4", "@push.rocks/smartfile": "^11.0.14",
"@pushrocks/smartlog": "^3.0.1", "@push.rocks/smartlog": "^3.0.3",
"@pushrocks/smartpath": "^5.0.5", "@push.rocks/smartpath": "^5.0.18",
"@pushrocks/smartpromise": "^3.1.7", "@push.rocks/smartpromise": "^4.0.3",
"typescript": "^4.7.4" "typescript": "5.4.5"
}, },
"devDependencies": { "devDependencies": {
"@gitzone/tsrun": "^1.2.37", "@git.zone/tsrun": "^1.2.46",
"@pushrocks/tapbundle": "^5.0.4", "@push.rocks/tapbundle": "^5.0.23",
"@types/node": "^18.6.3" "@types/node": "^20.12.11"
}, },
"files": [ "files": [
"ts/**/*", "ts/**/*",

2343
pnpm-lock.yaml generated Normal file

File diff suppressed because it is too large Load Diff

@ -21,7 +21,6 @@ Code Style | [![Code Style](https://badgen.net/badge/style/prettier/purple)](htt
PackagePhobia (total standalone install weight) | [![PackagePhobia](https://badgen.net/packagephobia/install/@gitzone/tsbuild)](https://lossless.cloud) PackagePhobia (total standalone install weight) | [![PackagePhobia](https://badgen.net/packagephobia/install/@gitzone/tsbuild)](https://lossless.cloud)
PackagePhobia (package size on registry) | [![PackagePhobia](https://badgen.net/packagephobia/publish/@gitzone/tsbuild)](https://lossless.cloud) PackagePhobia (package size on registry) | [![PackagePhobia](https://badgen.net/packagephobia/publish/@gitzone/tsbuild)](https://lossless.cloud)
BundlePhobia (total size when bundled) | [![BundlePhobia](https://badgen.net/bundlephobia/minzip/@gitzone/tsbuild)](https://lossless.cloud) BundlePhobia (total size when bundled) | [![BundlePhobia](https://badgen.net/bundlephobia/minzip/@gitzone/tsbuild)](https://lossless.cloud)
Platform support | [![Supports Windows 10](https://badgen.net/badge/supports%20Windows%2010/yes/green?icon=windows)](https://lossless.cloud) [![Supports Mac OS X](https://badgen.net/badge/supports%20Mac%20OS%20X/yes/green?icon=apple)](https://lossless.cloud)
## Usage ## Usage
@ -80,7 +79,6 @@ We are always happy for code contributions. If you are not the code contributing
For further information read the linked docs at the top of this readme. For further information read the linked docs at the top of this readme.
> MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh) ## Legal
> MIT licensed | **©** [Task Venture Capital GmbH](https://task.vc)
| By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy) | By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy)
[![repo-footer](https://lossless.gitlab.io/publicrelations/repofooter.svg)](https://maintainedby.lossless.com)

@ -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==

@ -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();

@ -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';

@ -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.65', version: '2.1.73',
description: 'TypeScript nightly to easily make use of latest features' description: 'TypeScript nightly to easily make use of latest features'
} }

@ -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

@ -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

@ -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
}

@ -1,6 +1,6 @@
// 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 { CompilerOptions, ScriptTarget, ModuleKind } from './tsbuild.exports.js'; import type { CompilerOptions, ScriptTarget, ModuleKind } from './tsbuild.exports.js';
/** /**
* the default typescript compilerOptions * the default typescript compilerOptions
@ -12,14 +12,14 @@ 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'],
noImplicitAny: true, noImplicitAny: true,
esModuleInterop: true, esModuleInterop: true,
useDefineForClassFields: false, useDefineForClassFields: false,
importsNotUsedAsValues: plugins.typescript.ImportsNotUsedAsValues.Preserve, verbatimModuleSyntax: true,
}; };
/** /**
@ -67,7 +67,7 @@ export const compiler = async (
if (options.skipLibCheck) { if (options.skipLibCheck) {
console.log('? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'); console.log('? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?');
console.log('You are skipping libcheck... Is that really wanted?'); console.log('You are skipping libcheck... Is that really wanted?');
console.log('continuing in 5 seconds...') console.log('continuing in 5 seconds...');
console.log('? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'); console.log('? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?');
await plugins.smartdelay.delayFor(5000); await plugins.smartdelay.delayFor(5000);
} }

@ -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,16 @@ 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/)
{}, const compilationCommandObject: { [key: string]: string } = {};
process.cwd(), for (const tsFolder of tsFolders) {
{ web: true, ...argvArg } compilationCommandObject[`./${tsFolder}/**/*.ts`] = `./dist_${tsFolder}`;
); }
await tsbuild.compileGlobStringObject(compilationCommandObject, {}, process.cwd(), argvArg);
}); });
tsbuildCli.startParse(); tsbuildCli.startParse();

@ -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(

@ -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 };

11
tsconfig.json Normal file

@ -0,0 +1,11 @@
{
"compilerOptions": {
"experimentalDecorators": true,
"useDefineForClassFields": false,
"target": "ES2022",
"module": "NodeNext",
"moduleResolution": "NodeNext",
"esModuleInterop": true,
"verbatimModuleSyntax": true
}
}