{"id":13555588,"url":"https://github.com/tars/tars","last_synced_at":"2025-05-16T15:09:17.867Z","repository":{"id":17687521,"uuid":"20493429","full_name":"tars/tars","owner":"tars","description":"Markup builder on gulp","archived":false,"fork":false,"pushed_at":"2023-01-04T18:56:24.000Z","size":5485,"stargazers_count":799,"open_issues_count":29,"forks_count":174,"subscribers_count":55,"default_branch":"master","last_synced_at":"2025-04-12T14:17:18.814Z","etag":null,"topics":["frontend","gulp","tars-cli"],"latest_commit_sha":null,"homepage":null,"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/tars.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}},"created_at":"2014-06-04T17:44:16.000Z","updated_at":"2025-03-17T09:06:40.000Z","dependencies_parsed_at":"2023-01-11T20:27:07.365Z","dependency_job_id":null,"html_url":"https://github.com/tars/tars","commit_stats":null,"previous_names":[],"tags_count":47,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tars%2Ftars","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tars%2Ftars/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tars%2Ftars/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tars%2Ftars/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tars","download_url":"https://codeload.github.com/tars/tars/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254553958,"owners_count":22090417,"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":["frontend","gulp","tars-cli"],"created_at":"2024-08-01T12:03:17.999Z","updated_at":"2025-05-16T15:09:12.857Z","avatar_url":"https://github.com/tars.png","language":"JavaScript","funding_links":[],"categories":["JavaScript","frontend"],"sub_categories":[],"readme":"\u003cp align=\"right\"\u003e\nEnglish description | \u003ca href=\"README_RU.md\"\u003eОписание на русском\u003c/a\u003e\n\u003c/p\u003e\n\n# Maintainer is needed!\n\n# ![Tars](https://raw.githubusercontent.com/artem-malko/artwork/master/tars/logo.png)\n\n[![Downloads][downloads-image]][npm-url] [![Mac/Linux Build Status](https://img.shields.io/travis/tars/tars/master.svg?label=Mac%20OSX%20%26%20Linux\u0026style=flat-square)](https://travis-ci.org/tars/tars) [![Windows Build status](https://img.shields.io/appveyor/ci/artem-malko/tars/master.svg?label=Windows\u0026style=flat-square)](https://ci.appveyor.com/project/artem-malko/tars/branch/master) [![Gitter](https://img.shields.io/badge/gitter-join%20chat%20%E2%86%92-brightgreen.svg?style=flat-square)](https://gitter.im/tars/tars?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge)\n\nTARS is a builder for modern frontend of any complexity, which is based on [Gulp.js](http://gulpjs.com/). It facilitates and accelerates process of web-development. TARS will be suitable for teams and individual developers. It solves the most routine cases associated with web-development and brings you more pleasure from work.\n\nTARS is a framework for gulp, including a set of gulp-tasks. It allows for easy expansion (creating new tasks) and customization (modification of existing tasks),  provides comfortable architecture for tasks and watchers storage in the project. \n\nTo bypass dependencies installation for every TARS project, [TARS-CLI](https://github.com/tars/tars-cli) was created. As such, TARS is not a npm-package by itself. This decision was made so that everyone could comfortably customize the builder for themselves. TARS-CLI is just a simple builder interface, which includes all dependencies for TARS.\n\n**It is strongly recommended to use TARS-CLI for development.**\n\nYou can install TARS-CLI via NPM. More info in [project's repository](https://github.com/tars/tars-cli).\n\n**Attention! All docs from branch \"master\" are written for the last version of TARS. If you have another version of TARS, please, open appropriate release and take docs from there. Besides, you have all docs, which are 100% compatible with your project in the root folder of your project!**\n\n## Basic features\n\nListed below are just a little part of the features. In fact builder has much more.\n\n* [Jade](http://jade-lang.com/), [Pug](https://pugjs.org/api/getting-started.html) or [Handlebars](http://handlebarsjs.com/) as html templater. You can also use a regular html. Read more [in docs](/docs/en/html-processing.md).\n* [Webpack](https://webpack.github.io) (with [Hot Module Replacing](https://webpack.github.io/docs/hot-module-replacement.html)) or simple JavaScript code concatenation into one bundle.\n* Using json (js-object actually, which can be described in json) to transfer data in templates (optional, but it is a very cool thing that will let you get rid of copypaste). Read more [in docs](/docs/en/html-processing.md#%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F%D0%BC%D0%B8-%D0%B8-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%BC%D0%B8-%D0%B2-handlebars).\n* [TARS-CLI](https://github.com/tars/tars-cli) and **auto update of your project**.\n* You can use ES6 (and some experimental features from ES7) right now. [More info](/docs/en/js-processing.md).\n* [SCSS (SASS)](http://sass-lang.com/), [LESS](http://www.lesscss.org/) or [Stylus](http://learnboost.github.io/stylus/) as a preprocessor for css. Also it includes a small set of mixins. Sourcemaps are included. You can use .scss and .sass extension then scss is selected as preprocessor. You can use .scss and .sass files together. Read more [in docs](/docs/en/css-processing.md). [PostCSS](https://github.com/postcss/postcss) with [autoprefixer](https://github.com/postcss/autoprefixer) is supported by default and it is really easy [to use additional plugins for PostCSS](/docs/en/options.md#postcss).\n* No external libraries or plugins (except [html5shiv](https://ru.wikipedia.org/wiki/Html5_Shiv)). Yes, this is a feature because you can choose which library to use. Sourcemaps for JavaScript are included.\n* [Chokidar](https://github.com/paulmillr/chokidar) module is used to watch files\n* Optional markup sharing from your local computer to the world. And of course it has livereload in browser (and not just locally) + GUI control panel for devices, to which markup is shared.\n* [You can easily add new tasks and watchers](/docs/en/tasks-and-watchers.md). There are several examples of how to create and use a new task or watcher inside the TARS. Thereby, it is really easy to add any task from your builder to TARS or integrate TARS into your project.\n* Smart work with images. First of all with vector (svg). There will be no more hell with markup for screens with high pixel density. TARS supports two workflows of working with SVG: [SVG-sprites](docs/en/svg-processing.md#svg-sprites) and [SVG-symbols](docs/en/svg-processing.md#svg-symbols).\n* Several modes of assembly (common, with minified files, with hash in the title of css and js files for deployment).\n* Creating archive with a complete build.\n\n## Documentation\n\nIt is important! All examples in documentation use the default settings.\n\n* [File structure](/docs/en/file-structure.md)\n* [Working with tasks and watchers](/docs/en/tasks-and-watchers.md)\n* [TARS Options](/docs/en/options.md)\n* [Plugins configuration](/docs/en/plugins-options.md)\n* [Html](/docs/en/html-processing.md)\n* [Css](/docs/en/css-processing.md)\n* [Js](/docs/en/js-processing.md)\n* [Working with images](/docs/en/images-processing.md)\n* [Working with fonts and misc-files](/docs/en/fonts-and-misc.md)\n* [Usage script (scenarios)](/docs/en/scenarios.md)\n* [Upgrade guide](/docs/en/update-guide.md)\n* [FAQ](/docs/en/faq.md)\n\n\n## Installation\n\n**Attention, [TARS-CLI](https://github.com/tars/tars-cli) is the preferred\n way to work with TARS. It is faster and more comfortable to work with TARS-CLI. In case of using TARS with TARS-CLI all installation steps are not necessary!**\n\nYou need to [install `Node.js`](http://nodejs.org/) with version equal to 4.x.x and higher. If you use Node.js version 5.x.x, please, make sure, that you use npm version 3.x.x and higher. Otherwise update npm by using command:\n\n```bash\nnpm i -g npm\n```\n\nFor Windows you have to do some more steps:\n\n* navigate to C:\\Program Files (x86)\\nodejs or C:\\Program Files\\nodejs via cmd.exe or any available terminal. The path depends on how Node.js was installed;\n* run command `npm install npm@latest`.\n\nIf you get a **Permission denied** or **Error: EACCES** error, you should run the previous command again in sudo (as Administrator for Windows).\n\nNext you need to install gulp globally. (You may need rights of superuser or administrator).\n\n```shell\nnpm install -g gulp\n```\n\n[Download TARS](../../../tars/archive/master.zip) and unzip it in the working directory. Then install dependencies. Command is run from a folder with TARS files (usually it is a tars-master).\n\n```shell\nnpm install\n```\n\nIf not all of the dependencies have been installed, the last operation must be repeated. \n\nAfter installing of all dependencies you need to open tars-config (detailed description of the options are [here](/docs/en/options.md)) and set up the project for yourself. In that config file, you can select the templater, css-preprocessor, using the notifications, folder names for different static and etc. After setting up the project, execute the following command:\n\n```shell\ngulp init\n```\n\n**Attention, [TARS-CLI](https://github.com/tars/tars-cli) is the preferred \nway to work with TARS. It is faster and more comfortable to work with TARS-CLI. [Init command is available in TARS-CLI too](https://github.com/tars/tars-cli/blob/master/docs/en/commands.md#tars-init).**\n\nThis command will create the basic file structure, download tasks for selected templater and css-preprocessor. \nEverything is ready, get to work! :)\n\n\n## Basic commands\n\n**Attention, [TARS-CLI](https://github.com/tars/tars-cli) is the preferred\n way to work with TARS. It is faster and more comfortable to work with TARS-CLI. All commands are available and [described in TARS-CLI](https://github.com/tars/tars-cli/blob/master/docs/en/commands.md), so use only TARS-CLI for working with your project. TARS used Gulp to start tasks, when CLI was not created.**\n\n`gulp init` — initializes project with the specified settings in the tars-config. Creates a file structure.\n\n`gulp re-init` — **This command is deprecated!** reinitialize the project with specified settings in the tars-config. It is advised to use this command if you initialize the project with incorrect options. **Attention, files from pages and static folder will be deleted.**\n\n`gulp` or `gulp build` — build project. Non-minimized files are used by default. Build type depends on command parameters.\nAvailable parameters:\n\n* `--min` – minimized files are connected to html.\n* `--release` – minimized  files are connected to html whose names have hash. This mode is useful if you are trying to directly deploy ready markup to the server.\n\n`gulp dev` — initialize of builder in development mode. Dev-version of the project is created  without any minifications. It also launches watchers for project files.\nAvailable parameters:\n\n* `--lr` – initialize livereload (live page reloads with changes in project files), if it is included in the configuration of the project.\n* `--tunnel` – initialize project with markup sharing to the external web.\n\nThe link will be shown in the console. There also will be a link to the control panel for devices to which markup is shared.\n\n`gulp build-dev` — generation of dev-version of the project without watchers.\n\nThese parameters are available in any mode of assembly:\n\n* `--ie8` – to include in the build styles for ie8.\n* `--ie9` – to include in the build styles for ie9.\n* `--ie` – to include in the build styles for ie8 and ie9.\n\n\n## Documentation\n\nIt is important! All examples in documentation use the default settings.\n\n* [File structure](/docs/en/file-structure.md)\n* [Working with tasks and watchers](/docs/en/tasks-and-watchers.md)\n* [TARS Options](/docs/en/options.md)\n* [Plugins configuration](/docs/en/plugins-options.md)\n* [Html](/docs/en/html-processing.md)\n* [Css](/docs/en/css-processing.md)\n* [Js](/docs/en/js-processing.md)\n* [Working with images](/docs/en/images-processing.md)\n* [Working with fonts and misc-files](/docs/en/fonts-and-misc.md)\n* [Usage script (scenarios)](/docs/en/scenarios.md)\n* [Upgrade guide](/docs/en/update-guide.md)\n* [FAQ](/docs/en/faq.md)\n\n\n## Last changes\n\nAll recent changes are available here: [changelog](/docs/en/changelog.md).\n\nIf you have a question you can write in [gitter](https://gitter.im/tars/tars?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge) or mail [tars.builder@gmail.com](mailto:tars.builder@gmail.com)\n\nBugs and feature-request here: [issues](https://github.com/tars/tars/issues/new).\n\n[downloads-image]: http://img.shields.io/npm/dm/tars-cli.svg?style=flat-square\n[npm-url]: https://npmjs.org/package/tars-cli\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftars%2Ftars","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftars%2Ftars","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftars%2Ftars/lists"}