{"id":17149538,"url":"https://github.com/mohd-akram/tisk","last_synced_at":"2025-03-23T18:31:22.449Z","repository":{"id":143918897,"uuid":"152374467","full_name":"mohd-akram/tisk","owner":"mohd-akram","description":"Alternative TypeScript compiler CLI","archived":false,"fork":false,"pushed_at":"2024-01-13T08:58:01.000Z","size":32,"stargazers_count":13,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-18T10:44:33.670Z","etag":null,"topics":["compiler","node","nodejs","npm","tsc","typescript"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/tisk","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mohd-akram.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-10-10T06:33:56.000Z","updated_at":"2024-01-12T13:29:22.000Z","dependencies_parsed_at":"2024-10-28T16:48:28.551Z","dependency_job_id":"ebac4fdb-bded-451c-a4c4-840911e20f9a","html_url":"https://github.com/mohd-akram/tisk","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohd-akram%2Ftisk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohd-akram%2Ftisk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohd-akram%2Ftisk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohd-akram%2Ftisk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mohd-akram","download_url":"https://codeload.github.com/mohd-akram/tisk/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245149223,"owners_count":20568851,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compiler","node","nodejs","npm","tsc","typescript"],"created_at":"2024-10-14T21:33:23.175Z","updated_at":"2025-03-23T18:31:22.147Z","avatar_url":"https://github.com/mohd-akram.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"tisk\n====\n\n`tisk` is a simpler alternative to `tsc`, the standard TypeScript compiler CLI.\n\nSynopsis\n--------\n\n```\nusage: tisk [-h] [-v] [-o OUTPUT] [-d] [-m] [-p PATH] [-W WARNING]\n            [file [file ...]]\n```\n\nExamples\n--------\n\n```shell\n# Output to stdout\necho \"console.log('Hello, world')\" | tisk | node\n\n# All warnings as errors\ntisk -Werror -o lib src\n\n# Specific warnings as errors\ntisk -Werror=implicit-any -Wimplicit-this -o lib src\n\n# Source maps\ntisk -m -o lib src\n\n# Declarations\ntisk -d -o lib src\n\n# Map external import paths based on output directory\n# Input: src/main.ts: import * as vendor from '../vendor'\n# Output: dist/lib/main.js: import * as vendor from '../../vendor'\ntisk -p vendor -o dist/lib src\n# or\n# Input: src/main.ts: import * as vendor from '../vendor'\n# Output: dist/lib/main.js: import * as vendor from '../../libs'\ntisk -p vendor:libs -o dist/lib src\n```\n\nDifferences from `tsc`\n----------------------\n\n`tisk` follows references to imports but does not compile them. To illustrate\nthis:\n\n```terminal\n$ mkdir example \u0026\u0026 cd example\n$ mkdir src \u0026\u0026 echo \"export {}\" \u003e src/index.ts\n$ echo \"import * as m from './src';\" \u003e main.ts\n$ tsc --outDir lib main.ts\n$ ls lib\nmain.js\tsrc\n$ rm -r lib\n$ tisk -o lib main.ts\n$ ls lib\nmain.js\n```\n\nAs you can see, `tsc` brings in the `src` directory, compiles it, and outputs\nthe result to `lib` while `tisk` only compiles the input files provided.\n\nBecause `tisk` behaves this way, its output is completely predictable and you\ncan, for example, run it in parallel, splitting the input set any way you want.\n\n### Automatic relative import path mapping\n\n`tisk` will automatically fix relative import paths among the set of input\nfiles and directories. This can allow you to, for example, combine two\ndirectories:\n\n```terminal\n$ tisk -o lib src1 src2\n```\n\nIf a file in `src2` imports from `src1` like so:\n\n```typescript\nimport * as foo from '../src1/foo';\n```\n\nOn output, it will be transformed to:\n\n```javascript\nimport * as foo from './foo';\n```\n\nTo map import paths that aren't in the set of inputs (eg. they might be\ncompiled in a separate invocation), use the `-p` option as shown in the\nexamples above.\n\nWarnings\n--------\n\n```javascript\n{\n  'strict': 'strict',\n  'implicit-any': 'noImplicitAny',\n  'implicit-returns': 'noImplicitReturns',\n  'implicit-this': 'noImplicitThis',\n  'implicit-fallthrough': 'noFallthroughCasesInSwitch',\n  'unused-locals': 'noUnusedLocals',\n  'unused-parameters': 'noUnusedParameters'\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohd-akram%2Ftisk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmohd-akram%2Ftisk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohd-akram%2Ftisk/lists"}