{"id":14984153,"url":"https://github.com/akameco/s2s","last_synced_at":"2025-04-05T07:03:42.233Z","repository":{"id":57141713,"uuid":"97478947","full_name":"akameco/s2s","owner":"akameco","description":"Coding time Compile.  A tool to write code fastest.","archived":false,"fork":false,"pushed_at":"2021-06-16T13:07:42.000Z","size":1856,"stargazers_count":265,"open_issues_count":4,"forks_count":20,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-29T06:02:12.060Z","etag":null,"topics":["autocomplete","automation","babel","babel-plugin","concept","flow","flowtype","generator","javascript","plugin","prettier","react","redux","s2s","source-to-source","typescript"],"latest_commit_sha":null,"homepage":"https://qiita.com/akameco/items/e1489c6bbf3439ec6ca4","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/akameco.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"license","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-07-17T13:24:10.000Z","updated_at":"2025-02-05T06:13:22.000Z","dependencies_parsed_at":"2022-09-02T06:31:04.427Z","dependency_job_id":null,"html_url":"https://github.com/akameco/s2s","commit_stats":null,"previous_names":[],"tags_count":263,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akameco%2Fs2s","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akameco%2Fs2s/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akameco%2Fs2s/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akameco%2Fs2s/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/akameco","download_url":"https://codeload.github.com/akameco/s2s/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247299831,"owners_count":20916190,"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":["autocomplete","automation","babel","babel-plugin","concept","flow","flowtype","generator","javascript","plugin","prettier","react","redux","s2s","source-to-source","typescript"],"created_at":"2024-09-24T14:08:33.521Z","updated_at":"2025-04-05T07:03:42.199Z","avatar_url":"https://github.com/akameco.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![s2s](https://github.com/akameco/logos/blob/master/s2s/s2s-logo.png?raw=true)](https://github.com/akameco/s2s)\n\n\u003chr\u003e\n\n[![Build Status](https://travis-ci.org/akameco/s2s.svg?branch=master)](https://travis-ci.org/akameco/s2s)\n[![Build status](https://ci.appveyor.com/api/projects/status/gmcngvce43rxf21c/branch/master?svg=true)](https://ci.appveyor.com/project/akameco/s2s/branch/master)\n[![Coverage Status](https://coveralls.io/repos/github/akameco/s2s/badge.svg?branch=master)](https://coveralls.io/github/akameco/s2s?branch=master)\n[![tested with jest](https://img.shields.io/badge/tested_with-jest-99424f.svg)](https://github.com/facebook/jest)\n[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lernajs.io/)\n[![MIT License](https://img.shields.io/npm/l/nps.svg?style=flat-square)](./license)\n[![Donate](https://img.shields.io/badge/%EF%BC%84-support-green.svg?style=flat-square)](http://amzn.asia/bO78HzR)\n[![Code of Conduct](https://img.shields.io/badge/code%20of-conduct-ff69b4.svg?style=flat-square)](./CODE_OF_CONDUCT.md)\n[![Examples](https://img.shields.io/badge/%F0%9F%92%A1-examples-8C8E93.svg?style=flat-square)](./examples)\n[![All Contributors](https://img.shields.io/badge/all_contributors-7-orange.svg?style=flat-square)](#contributors-)\n\n**[日本語](./docs/ja)** (readme の最新版は日本語です)\n\n\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n\n- [Ultra-fast coding by AST assist](#ultra-fast-coding-by-ast-assist)\n- [Concept](#concept)\n- [Articles](#articles)\n  - [日本語](#%E6%97%A5%E6%9C%AC%E8%AA%9E)\n- [Users](#users)\n- [Quick Start](#quick-start)\n  - [Preparation](#preparation)\n  - [Usage](#usage)\n  - [Run](#run)\n- [Combine plugins](#combine-plugins)\n- [More Examples](#more-examples)\n- [Official Plugins](#official-plugins)\n- [Contributions](#contributions)\n- [Contributors](#contributors)\n- [License](#license)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n## Ultra-fast coding by AST assist\n\n\u003cimg src=\"https://raw.githubusercontent.com/akameco/s2s-examples/master/media/demo.gif\" /\u003e\n\nSee Examples [examples](./examples)\n\n## Concept\n\nMonitor your coding and generate code in real time.\n\nWhen the file names match, a single Babel plugin is executed and the formatted code is reflected in the editor.\n\n- You can use any editor.\n- Just Babel Plugin. No lock in.\n\n\u003cimg src=\"https://github.com/akameco/logos/blob/master/s2s/s2s-concept.png?raw=true\" height=600 /\u003e\n\n## Articles\n\n### 日本語\n\n- [さよならボイラープレート。s2s による高速 redux アプリケーション構築](https://qiita.com/akameco/items/e1489c6bbf3439ec6ca4)\n- [s2s: redux における reducer のテスト。あなたがテストを書く必要はないかも知れない](https://qiita.com/akameco/items/66a2232df0e95e5bfe31)\n\n## Users\n\n[SSconnect/ssconnect](https://github.com/SSconnect/ssconnect)\n\n\u003e If your company or project is using s2s, please open a PR and add yourself to this list (in alphabetical order please)\n\n## Quick Start\n\nThis is short example.\nIt is enough to know the power of s2s :)\n\nIt's a first example that s2s initialize variables with the type infomations in Flow.\n\n[![https://gyazo.com/c6de73c7c9044520fbbca95881c2a927](https://i.gyazo.com/c6de73c7c9044520fbbca95881c2a927.gif)](https://gyazo.com/c6de73c7c9044520fbbca95881c2a927)\n\n### Preparation\n\nClone the repository and install dependencies.\n\n```\n$ git clone --depth=1 git@github.com:akameco/s2s.git\n$ cd examples/getting-started\n$ yarn\n```\n\n### Usage\n\nCheck out `s2s.config.js` in the root of the project. This is a setting file.\n\n`watch` set an direcotry that s2s watches, and `plugins` set an array of the plugins.\n\nYou can write easy the file if you are familer with webpack.\n\nFor more infomations, see [Config](./docs/en/config.md).\n\n```js\nmodule.exports = {\n  watch: './**/*.js',\n  plugins: [\n    {\n      test: /.*.js$/,\n      plugin: ['s2s-variable-initializing'],\n    },\n  ],\n}\n```\n\n### Run\n\n```\n$ yarn run s2s\n```\n\nOpened `src/index.js` with your favorite editor, type `var user: User` and save it.\n\nWould s2s generate default values?\n\nIt finishes Quick Start. Thanks!\n\nSee [Getting Started Exmaple](./examples/getting-started)\n\n## Combine plugins\n\nWith combinations of some plugins, it makes s2s more useful.\n\nThis example is that s2s generates an constant of Action and an Action Creator, a Reducer, a test of Reducer when you wrote the definition of the type of Action.\n\n![plugins](https://camo.qiitausercontent.com/2b3fc744eda2c6e569f437d8006c765c78bc9f20/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f31353331392f37306239386664642d373338622d646464322d663866352d3932343435353763643734322e676966)\n\nMore Info? See Examples.\n\n## More Examples\n\n- [Shopping Cart](./examples/shopping-cart) Combination of Redux and Flow.\n- [cndlhvn/s2s-redux-actions-sample](https://github.com/cndlhvn/s2s-redux-actions-sample) redux-actions + redux-saga.\n\nMore Info? See Examples.\n\n## Official Plugins\n\n- [**babel-plugin-s2s-action-types**\u003cbr\u003egenerate redux action types](https://github.com/akameco/s2s/tree/master/packages/babel-plugin-s2s-action-types)\n- [**babel-plugin-s2s-action-creater**\u003cbr\u003egenerate redux action creater](https://github.com/akameco/s2s/tree/master/packages/babel-plugin-s2s-action-creater)\n- [**babel-plugin-s2s-action-root**\u003cbr\u003ecompose flow + redux action types](https://github.com/akameco/s2s/tree/master/packages/babel-plugin-s2s-action-root)\n- [**babel-plugin-s2s-state-root**\u003cbr\u003ecompose flow + redux state types](https://github.com/akameco/s2s/tree/master/packages/babel-plugin-s2s-state-root)\n- [**babel-plugin-s2s-reducer-root**\u003cbr\u003ecompose redux reducer](https://github.com/akameco/s2s/tree/master/packages/babel-plugin-s2s-reducer-root)\n- [**babel-plugin-s2s-reducer-test-case**\u003cbr\u003ecreate reducer test using switch/case](https://github.com/akameco/s2s/tree/master/packages/babel-plugin-s2s-reducer-test-case)\n\n## Contributions\n\nFor all contributions we are always welcome. and we are working with [all-contributors](https://github.com/kentcdodds/all-contributors) Specifications in this repository.\n\nIf you contributed our project with writting a code and test, then type this command.\n\n```\n$ yarn run add-contributors \u003cGitHub Username\u003e code,test\n```\n\nIf you contibuted our project with adding documents and fixing them, then type this command.\n\n```\n$ yarn run add-contributors \u003cGitHub Username\u003e doc\n```\n\nFor more infomations, refer [all-contributors](https://github.com/kentcdodds/all-contributors).\n\nWe will be welcome your contributions!\n\n## Contributors\n\nThanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://akameco.github.io\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/4002137?v=4\" width=\"100px;\" alt=\"akameco\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eakameco\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/akameco/s2s/commits?author=akameco\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/akameco/s2s/commits?author=akameco\" title=\"Tests\"\u003e⚠️\u003c/a\u003e \u003ca href=\"#question-akameco\" title=\"Answering Questions\"\u003e💬\u003c/a\u003e \u003ca href=\"#ideas-akameco\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"#infra-akameco\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://elzup.com\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/2284908?v=4\" width=\"100px;\" alt=\"elzup\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eelzup\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-elzup\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"https://github.com/akameco/s2s/commits?author=elzup\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://www.amazon.co.jp/gp/registry/wishlist/JQ28X5KI9FRY\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/84027?v=4\" width=\"100px;\" alt=\"erukiti\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eerukiti\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#blog-erukiti\" title=\"Blogposts\"\u003e📝\u003c/a\u003e \u003ca href=\"https://github.com/akameco/s2s/commits?author=erukiti\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/akameco/s2s/commits?author=erukiti\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://asciian.github.io/\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/5019902?v=4\" width=\"100px;\" alt=\"asciian\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003easciian\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/akameco/s2s/commits?author=asciian\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://twitter.com/kamijin_fanta\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/1541187?v=4\" width=\"100px;\" alt=\"kamijin_fanta\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ekamijin_fanta\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/akameco/s2s/commits?author=kamijin-fanta\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/akameco/s2s/commits?author=kamijin-fanta\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://twitter.com/pocketberserker\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/911952?v=4\" width=\"100px;\" alt=\"pocketberserker\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003epocketberserker\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/akameco/s2s/commits?author=pocketberserker\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/ygkn\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/14973783?v=4\" width=\"100px;\" alt=\"ygkn\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eygkn\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/akameco/s2s/commits?author=ygkn\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-enable --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome!\n\n## License\n\nMIT © [akameco](http://akameco.github.io)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakameco%2Fs2s","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakameco%2Fs2s","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakameco%2Fs2s/lists"}