├── .gitignore ├── icon.png ├── .vscodeignore ├── .gitattributes ├── screenshots └── publishing_an_update.gif ├── pull_request_template.md ├── .github └── workflows │ └── run-conventional-commits-check.yml ├── .vscode └── launch.json ├── package.json ├── CHANGELOG.md └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | *.vsix 3 | -------------------------------------------------------------------------------- /icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/artsy/vscode-artsy/HEAD/icon.png -------------------------------------------------------------------------------- /.vscodeignore: -------------------------------------------------------------------------------- 1 | .vscode/** 2 | .vscode-test/** 3 | .gitignore 4 | vsc-extension-quickstart.md 5 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Set default behavior to automatically normalize line endings. 2 | * text=auto 3 | 4 | -------------------------------------------------------------------------------- /screenshots/publishing_an_update.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/artsy/vscode-artsy/HEAD/screenshots/publishing_an_update.gif -------------------------------------------------------------------------------- /pull_request_template.md: -------------------------------------------------------------------------------- 1 | ### Description 2 | This PR makes the following change(s): 3 | - 4 | 5 | ### PR Checklist 6 | 7 | - [ ] I added my changes to `CHANGELOG.md` 8 | - [ ] I updated the list of the extensions in `Readme.md` 9 | - [ ] I updated `package.json` version number 10 | -------------------------------------------------------------------------------- /.github/workflows/run-conventional-commits-check.yml: -------------------------------------------------------------------------------- 1 | name: ☢️ Conventional Commits Check 2 | 3 | on: 4 | pull_request: 5 | types: [opened, edited] 6 | 7 | jobs: 8 | run-conventional-commits-check: 9 | uses: artsy/duchamp/.github/workflows/conventional-commits-check.yml@main 10 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | // A launch configuration that launches the extension inside a new window 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | { 6 | "version": "0.2.0", 7 | "configurations": [ 8 | { 9 | "name": "Extension", 10 | "type": "extensionHost", 11 | "request": "launch", 12 | "runtimeExecutable": "${execPath}", 13 | "args": [ 14 | "--extensionDevelopmentPath=${workspaceFolder}" 15 | ] 16 | } 17 | ] 18 | } -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "artsy-studio-extension-pack", 3 | "displayName": "Artsy Omakase Extension Pack", 4 | "description": "The Artsy recommended extensions for working in our front-end/platform stacks", 5 | "version": "1.6.0", 6 | "publisher": "Artsy", 7 | "preview": true, 8 | "repository": { 9 | "type": "git", 10 | "url": "https://github.com/artsy/vscode-artsy.git" 11 | }, 12 | "keywords": [ 13 | "artsy", 14 | "studio" 15 | ], 16 | "engines": { 17 | "vscode": "^1.26.0" 18 | }, 19 | "icon": "icon.png", 20 | "extensionPack": [ 21 | "Orta.vscode-danger", 22 | "misogi.ruby-rubocop", 23 | "rebornix.ruby", 24 | 25 | 26 | "jpoissonnier.vscode-styled-components", 27 | "mikestead.dotenv", 28 | "vsmobile.vscode-react-native", 29 | "shinnn.stylelint", 30 | 31 | "christian-kohler.npm-intellisense", 32 | "esbenp.prettier-vscode", 33 | 34 | "ms-vsliveshare.vsliveshare", 35 | "ms-vsliveshare.vsliveshare-audio", 36 | 37 | "mrmlnc.vscode-scss", 38 | "sysoev.language-stylus", 39 | 40 | "nhoizey.gremlins", 41 | "wayou.vscode-todo-highlight", 42 | "ziyasal.vscode-open-in-github", 43 | 44 | "dbaeumer.vscode-eslint", 45 | "meta.relay", 46 | 47 | "yoavbls.pretty-ts-errors", 48 | 49 | "biomejs.biome" 50 | ] 51 | } 52 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | # 1.5.0 3 | 4 | - Add Biome extension - mounir 5 | 6 | # 1.5.0 7 | 8 | - Add Pretty Typescript Errors extension - mounir 9 | 10 | # 1.4.0 11 | 12 | - Remove storybook extension - mounir 13 | - Remove ios-common-files extension - mounir 14 | - Add relay extension - mounir 15 | - Replace tslint with eslint - mounir 16 | 17 | # 1.3.1 18 | 19 | - Removes unneeded extension that was causing problems - ash 20 | 21 | # 1.3.0 22 | 23 | - Adds stylelint extension - [see the RFC](https://github.com/artsy/vscode-artsy/issues/2 ) orta 24 | 25 | # 1.2.0 26 | 27 | Swaps out the Prisma GraphQL extension with the Apollo one, after we updated it for Relay - alloy #3 28 | 29 | # 1.0.2 30 | 31 | Adds an icon 32 | 33 | # 1.0.1 34 | 35 | Fixes the link to this repo in the extension. 36 | 37 | # 1.0.0 38 | 39 | Initial commit, adds: 40 | 41 | #### Artsy Studio 42 | 43 | - [Styled Components](https://marketplace.visualstudio.com/items?itemName=jpoissonnier.vscode-styled-components) 44 | - [Dotenv](https://github.com/mikestead/vscode-dotenv) 45 | - [GraphQL](https://github.com/prisma/vscode-graphql) 46 | - [NPM intellisense](https://marketplace.visualstudio.com/items?itemName=christian-kohler.npm-intellisense) 47 | - [TSLint](https://marketplace.visualstudio.com/items?itemName=eg2.tslint) 48 | - [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) 49 | - [TypeScript Grammar](https://marketplace.visualstudio.com/items?itemName=ms-vscode.typescript-javascript-grammar) 50 | - [Pretty TypeScript Errors](https://marketplace.visualstudio.com/items?itemName=yoavbls.pretty-ts-errors) 51 | 52 | ### React Native 53 | 54 | - [React Native Tools](https://marketplace.visualstudio.com/items?itemName=vsmobile.vscode-react-native) 55 | - [React Native Storybooks](https://marketplace.visualstudio.com/items?itemName=Orta.vscode-react-native-storybooks) 56 | - [iOS Common Files](https://marketplace.visualstudio.com/items?itemName=Orta.vscode-ios-common-files) 57 | 58 | ### Ruby 59 | 60 | - [Danger](https://marketplace.visualstudio.com/items?itemName=Orta.vscode-danger) 61 | - [Ruby](https://marketplace.visualstudio.com/items?itemName=rebornix.Ruby) 62 | - [Rubocop](https://marketplace.visualstudio.com/items?itemName=misogi.ruby-rubocop) 63 | 64 | ### Other Platform Support 65 | 66 | - [Elixir](https://marketplace.visualstudio.com/items?itemName=mjmcloug.vscode-elixir) 67 | 68 | ### Debugging 69 | 70 | - [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare) 71 | - [Live Share Audio](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare-audio) 72 | - [Gremlins](https://github.com/nhoizey/vscode-gremlins) (highlights unwanted characters in code) 73 | - [TODO: Highlight](https://marketplace.visualstudio.com/items?itemName=wayou.vscode-todo-highlight) 74 | - [Open in GitHub](https://marketplace.visualstudio.com/items?itemName=ziyasal.vscode-open-in-github) 75 | 76 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # VSCode + Artsy 2 | 3 | This extension pack consolidates all of our recommended VS Code extensions. You only need to install this extension, and then all of the other extensions we use will be managed for you. 4 | 5 | ### Meta 6 | 7 | * **State:** production 8 | * **Production:** [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=Artsy.artsy-studio-extension-pack) 9 | * **Point People:** [@MounirDhahri](https://github.com/mounirdhahri) 10 | 11 | ## How do I install it? 12 | 13 | Install it from the [marketplace](https://marketplace.visualstudio.com/items?itemName=Artsy.artsy-studio-extension-pack), or you can install it from the CLI: 14 | 15 | ```sh 16 | code --install-extension Artsy.artsy-studio-extension-pack 17 | ``` 18 | 19 | ## What is this repo? 20 | 21 | The only thing that really matters here is the [`package.json`](/package.json). As we can't have comments in the file, here is the list of extensions: 22 | 23 | #### Artsy Studio 24 | 25 | - [Biome](https://marketplace.visualstudio.com/items?itemName=biomejs.biome) 26 | - [Dotenv](https://github.com/mikestead/vscode-dotenv) 27 | - [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) 28 | - [GraphQL](https://github.com/apollographql/apollo-tooling) 29 | - [NPM intellisense](https://marketplace.visualstudio.com/items?itemName=christian-kohler.npm-intellisense) 30 | - [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) 31 | - [Pretty TypeScript Errors](https://marketplace.visualstudio.com/items?itemName=yoavbls.pretty-ts-errors) 32 | - [Relay](https://marketplace.visualstudio.com/items?itemName=meta.relay) 33 | - [Styled Components](https://marketplace.visualstudio.com/items?itemName=jpoissonnier.vscode-styled-components) 34 | - [stylelint](https://marketplace.visualstudio.com/items?itemName=shinnn.stylelint) 35 | - [TypeScript Grammar](https://marketplace.visualstudio.com/items?itemName=ms-vscode.typescript-javascript-grammar) 36 | 37 | ### React Native 38 | 39 | - [React Native Tools](https://marketplace.visualstudio.com/items?itemName=vsmobile.vscode-react-native) 40 | 41 | ### Ruby 42 | 43 | - [Danger](https://marketplace.visualstudio.com/items?itemName=Orta.vscode-danger) 44 | - [Ruby](https://marketplace.visualstudio.com/items?itemName=rebornix.Ruby) 45 | - [Rubocop](https://marketplace.visualstudio.com/items?itemName=misogi.ruby-rubocop) 46 | 47 | ### Other Platform Support 48 | 49 | - [Elixir](https://marketplace.visualstudio.com/items?itemName=mjmcloug.vscode-elixir) 50 | 51 | ### Debugging 52 | 53 | - [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare) 54 | - [Live Share Audio](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare-audio) 55 | - [Gremlins](https://github.com/nhoizey/vscode-gremlins) (highlights unwanted characters in code) 56 | - [TODO: Highlight](https://marketplace.visualstudio.com/items?itemName=wayou.vscode-todo-highlight) 57 | - [Open in GitHub](https://marketplace.visualstudio.com/items?itemName=ziyasal.vscode-open-in-github) 58 | 59 | 60 | ### Legacy 61 | 62 | - [Scss](https://marketplace.visualstudio.com/items?itemName=robinbentley.sass-indented) 63 | - [Stylus](https://marketplace.visualstudio.com/items?itemName=sysoev.language-stylus) 64 | 65 | 66 | ## Deployment 67 | 68 | ### Using the terminal 69 | The docs from Microsoft are good here, use [them for reference](https://code.visualstudio.com/docs/extensions/publish-extension#_login-to-a-publisher). 70 | 71 | 1. You will need to set up a visualstudio.com account 72 | 1. You will need to have that email added to the vscode extension publishing team. 73 | 1. Log in to [manage users here](https://marketplace.visualstudio.com/manage/publishers/artsy) 74 | 1. You then log in to the Artsy publisher account, using your personal access token from your visualstudios.com account: 75 | 76 | ```sh 77 | $ npx vsce login Artsy 78 | npx: installed 63 in 4.231s 79 | Personal Access Token for publisher 'Artsy': **************************************************** 80 | 81 | Authentication successful. Found publisher 'Artsy Open Source'. 82 | ``` 83 | 84 | 1. Change the package.json version number 85 | 1. Run `npx vsce publish` 86 | 87 | ### Using the Visual Studio Marketplace 88 | 89 | 1. Connect to mobile@ Visual Studio account. 90 | 2. Navigate to the directory of the extension 91 | 3. Run `npx vsce package`. This will create a `.vsix` file in the root of the extension directory 92 | 4. Go to the [marketplace](https://marketplace.visualstudio.com/manage/publishers/artsy). Tap on the Meatballs Icon (...) next to to `Artsy Omakase Extension Pack` and click `Update`. 93 | 5. Select the `.vsix` file you just created. 94 | 95 | It should take only a few minutes for the extension to be published. 96 | 97 |
98 | Publishing an update 99 | 100 | ![publishing-an-update](./screenshots/publishing_an_update.gif/) 101 |
102 | 103 | ## Adding More People to Deploy 104 | 105 | Go to [TFS settings](https://artsy-open-source.visualstudio.com/_settings/users) and add them as someone with rights 106 | to package management for extensions. 107 | --------------------------------------------------------------------------------