Compare commits

...

20 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
5d0c9b0326 2.1.65 2022-08-03 19:34:52 +02:00
f27c27bd31 fix(core): update 2022-08-03 19:34:51 +02:00
67e42cc0bd 2.1.64 2022-08-03 19:05:31 +02:00
4a71b92868 fix(core): update 2022-08-03 19:05:31 +02:00
18 changed files with 2441 additions and 2800 deletions

View File

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

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

2719
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
{ {
"name": "@gitzone/tsbuild", "name": "@git.zone/tsbuild",
"version": "2.1.63", "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.2", "@push.rocks/early": "^4.0.4",
"@pushrocks/smartcli": "^3.0.14", "@push.rocks/smartcli": "^4.0.10",
"@pushrocks/smartdelay": "^2.0.13", "@push.rocks/smartdelay": "^3.0.5",
"@pushrocks/smartfile": "^9.0.6", "@push.rocks/smartfile": "^11.0.14",
"@pushrocks/smartlog": "^2.0.44", "@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.2" "typescript": "5.4.5"
}, },
"devDependencies": { "devDependencies": {
"@gitzone/tsrun": "^1.2.34", "@git.zone/tsrun": "^1.2.46",
"@pushrocks/tapbundle": "^5.0.3", "@push.rocks/tapbundle": "^5.0.23",
"@types/node": "^17.0.35" "@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

View File

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

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,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.63', version: '2.1.73',
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,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);
} }

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 () => {
@ -7,7 +8,7 @@ export const runCli = async () => {
/** /**
* the standard task compiles anything in ts/ directory to dist directory * the standard task compiles anything in ts/ directory to dist directory
*/ */
tsbuildCli.standardTask().subscribe(async (argvArg) => { tsbuildCli.standardCommand().subscribe(async (argvArg) => {
tsbuild.compileGlobStringObject( tsbuild.compileGlobStringObject(
{ {
'./ts/**/*.ts': './dist_ts', './ts/**/*.ts': './dist_ts',
@ -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();

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

11
tsconfig.json Normal file
View File

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