Compare commits
20 Commits
Author | SHA1 | Date | |
---|---|---|---|
91e3502965 | |||
0afddbefce | |||
94e879d9fe | |||
43e2a1d777 | |||
9a1f57b92d | |||
0064f63ddb | |||
6e90bdda36 | |||
82cce58d69 | |||
a316cc6725 | |||
05738a5c94 | |||
651a06ff7b | |||
2f04474dab | |||
d88af368a4 | |||
e60816be4c | |||
a9e383ba2d | |||
a3e1cf9e3d | |||
8790886815 | |||
611bd0d542 | |||
b182fa5c0a | |||
03d4996284 |
@ -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');
|
17
package.json
17
package.json
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@git.zone/tsbuild",
|
"name": "@git.zone/tsbuild",
|
||||||
"version": "2.1.68",
|
"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"
|
||||||
},
|
},
|
||||||
@ -30,18 +29,18 @@
|
|||||||
"homepage": "https://gitlab.com/pushrocks/tsn#README",
|
"homepage": "https://gitlab.com/pushrocks/tsn#README",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@push.rocks/early": "^4.0.4",
|
"@push.rocks/early": "^4.0.4",
|
||||||
"@push.rocks/smartcli": "^4.0.8",
|
"@push.rocks/smartcli": "^4.0.10",
|
||||||
"@push.rocks/smartdelay": "^3.0.5",
|
"@push.rocks/smartdelay": "^3.0.5",
|
||||||
"@push.rocks/smartfile": "^10.0.30",
|
"@push.rocks/smartfile": "^11.0.14",
|
||||||
"@push.rocks/smartlog": "^3.0.3",
|
"@push.rocks/smartlog": "^3.0.3",
|
||||||
"@push.rocks/smartpath": "^5.0.11",
|
"@push.rocks/smartpath": "^5.0.18",
|
||||||
"@push.rocks/smartpromise": "^4.0.3",
|
"@push.rocks/smartpromise": "^4.0.3",
|
||||||
"typescript": "5.1.6"
|
"typescript": "5.4.5"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@gitzone/tsrun": "^1.2.44",
|
"@git.zone/tsrun": "^1.2.46",
|
||||||
"@push.rocks/tapbundle": "^5.0.15",
|
"@push.rocks/tapbundle": "^5.0.23",
|
||||||
"@types/node": "^20.5.6"
|
"@types/node": "^20.12.11"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"ts/**/*",
|
"ts/**/*",
|
||||||
|
2123
pnpm-lock.yaml
generated
2123
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@ -3,6 +3,6 @@
|
|||||||
*/
|
*/
|
||||||
export const commitinfo = {
|
export const commitinfo = {
|
||||||
name: '@git.zone/tsbuild',
|
name: '@git.zone/tsbuild',
|
||||||
version: '2.1.68',
|
version: '2.1.78',
|
||||||
description: 'TypeScript nightly to easily make use of latest features'
|
description: 'TypeScript nightly to easily make use of latest features'
|
||||||
}
|
}
|
||||||
|
4
ts/paths.ts
Normal file
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), '../');
|
@ -1,8 +1,22 @@
|
|||||||
|
// node native
|
||||||
|
import * as path from 'path';
|
||||||
|
|
||||||
|
export {
|
||||||
|
path
|
||||||
|
}
|
||||||
|
|
||||||
|
// @push.rocks scope
|
||||||
import * as smartcli from '@push.rocks/smartcli';
|
import * as smartcli from '@push.rocks/smartcli';
|
||||||
import * as smartdelay from '@push.rocks/smartdelay';
|
import * as smartdelay from '@push.rocks/smartdelay';
|
||||||
import * as smartfile from '@push.rocks/smartfile';
|
import * as smartfile from '@push.rocks/smartfile';
|
||||||
import * as smartpath from '@push.rocks/smartpath';
|
import * as smartpath from '@push.rocks/smartpath';
|
||||||
import * as smartpromise from '@push.rocks/smartpromise';
|
import * as smartpromise from '@push.rocks/smartpromise';
|
||||||
|
|
||||||
|
export { smartcli, smartdelay, smartfile, smartpath, smartpromise };
|
||||||
|
|
||||||
|
// third party scope
|
||||||
import typescript from 'typescript';
|
import typescript from 'typescript';
|
||||||
|
|
||||||
export { smartcli, smartdelay, smartfile, smartpath, smartpromise, typescript };
|
export {
|
||||||
|
typescript
|
||||||
|
}
|
@ -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';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -15,7 +15,7 @@ export const compilerOptionsDefault: CompilerOptions = {
|
|||||||
module: plugins.typescript.ModuleKind.NodeNext,
|
module: plugins.typescript.ModuleKind.NodeNext,
|
||||||
target: plugins.typescript.ScriptTarget.ESNext,
|
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,
|
||||||
|
@ -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();
|
||||||
|
@ -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(
|
||||||
|
Reference in New Issue
Block a user