{"id":20689301,"url":"https://github.com/stylescape/stylescape-devcontainer","last_synced_at":"2025-03-11T00:53:22.242Z","repository":{"id":249480504,"uuid":"822130589","full_name":"stylescape/stylescape-devcontainer","owner":"stylescape","description":"Stylescape | devContainer","archived":false,"fork":false,"pushed_at":"2025-01-30T07:00:37.000Z","size":705,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-01-30T08:18:24.100Z","etag":null,"topics":["devcontainer","docker","stylescape"],"latest_commit_sha":null,"homepage":"https://style.scape","language":"Dockerfile","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/stylescape.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":"CODEOWNERS","security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"scape-foundation","open_collective":"scape"}},"created_at":"2024-06-30T11:15:16.000Z","updated_at":"2025-01-30T07:00:41.000Z","dependencies_parsed_at":"2024-08-18T05:31:06.632Z","dependency_job_id":"4acd6499-5ce7-4794-bb21-d64fb1cd588e","html_url":"https://github.com/stylescape/stylescape-devcontainer","commit_stats":null,"previous_names":["scape-agency/docker-stylescape-devcontainer","stylescape/docker-stylescape-devcontainer"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stylescape%2Fstylescape-devcontainer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stylescape%2Fstylescape-devcontainer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stylescape%2Fstylescape-devcontainer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stylescape%2Fstylescape-devcontainer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stylescape","download_url":"https://codeload.github.com/stylescape/stylescape-devcontainer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242951082,"owners_count":20211572,"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":["devcontainer","docker","stylescape"],"created_at":"2024-11-16T23:09:09.328Z","updated_at":"2025-03-11T00:53:22.176Z","avatar_url":"https://github.com/stylescape.png","language":"Dockerfile","readme":"\u003cdiv align=\"right\"\u003e\n\n[![GitHub License](https://img.shields.io/github/license/stylescape/stylescape-devcontainer?style=flat-square\u0026logo=readthedocs\u0026logoColor=FFFFFF\u0026label=\u0026labelColor=%23041B26\u0026color=%23041B26\u0026link=LICENSE)](https://github.com/stylescape/stylescape-devcontainer/blob/main/LICENSE)\n[![devContainer](https://img.shields.io/badge/devContainer-23041B26?style=flat-square\u0026logo=Docker\u0026logoColor=%23FFFFFF\u0026labelColor=%23041B26\u0026color=%23041B26)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/stylescape/stylescape-devcontainer)\n[![StackBlitz](https://img.shields.io/badge/StackBlitz-23041B26?style=flat-square\u0026logo=StackBlitz\u0026logoColor=%23FFFFFF\u0026labelColor=%23041B26\u0026color=%23041B26)](https://stackblitz.com/github/stylescape/stylescape-devcontainer/tree/main?file=src%2Findex.html)\n\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/stylescape/brand/master/src/logo/logo-transparant.png\" width=\"20%\" height=\"20%\" alt=\"Stylescape Logo\"\u003e\n\u003c/p\u003e\n\u003ch1 align=\"center\" style='border-bottom: none;'\u003eStylescape devContainer\u003c/h1\u003e\n\u003c!-- \u003ch3 align=\"center\"\u003eDynamic Layout Engine\u003c/h3\u003e --\u003e\n\n\nThis repository provides a development container configuration for working on the `Stylescape` project. The configuration is optimized for Node.js, TypeScript, SCSS, and Jinja2 templating, providing a comprehensive development environment using Visual Studio Code's Dev Containers.\n\n## DevContainer Configuration\n\nThe development container is configured with the following settings:\n\n```json\n{\n    \"name\": \"Stylescape DevContainer\",\n    \"build\": {\n        \"dockerfile\": \"Dockerfile\",\n        \"context\": \".\"\n    },\n    \"image\": \"mcr.microsoft.com/vscode/devcontainers/javascript-node:0-18\",\n    \"features\": {\n        \"ghcr.io/devcontainers/features/node:1\": {\n            \"version\": \"18\"\n        }\n    },\n    \"customizations\": {\n        \"vscode\": {\n            \"extensions\": [\n                \"dbaeumer.vscode-eslint\",\n                \"esbenp.prettier-vscode\",\n                \"ms-python.python\",\n                \"ms-vscode.vscode-typescript-next\",\n                \"stylelint.vscode-stylelint\",\n                \"streetsidesoftware.code-spell-checker\",\n                \"redhat.vscode-yaml\",\n                \"PKief.material-icon-theme\",\n                \"syler.sass-indented\",\n                \"vscode-icons-team.vscode-icons\",\n                \"jinja.html-formatter\",\n                \"ritwickdey.LiveServer\",\n                \"gruntfuggly.todo-tree\",\n                \"svelte.svelte-vscode\",\n                \"octref.vetur\"\n            ],\n            \"settings\": {\n                \"editor.formatOnSave\": true,\n                \"terminal.integrated.shell.linux\": \"/bin/bash\",\n                \"files.associations\": {\n                    \"*.jinja\": \"jinja\"\n                }\n            }\n        }\n    },\n    \"forwardPorts\": [\n        3000\n    ],\n    \"postCreateCommand\": \"npm install \u0026\u0026 pip3 install -r requirements.txt\",\n    \"remoteUser\": \"vscode\",\n    \"workspaceFolder\": \"/workspace\",\n    \"mounts\": [\n        \"source=${localWorkspaceFolder},target=/workspace,type=bind,consistency=cached\"\n    ],\n    \"remoteEnv\": {\n        \"NODE_ENV\": \"development\"\n    },\n    \"containerEnv\": {\n        \"NODE_ENV\": \"development\"\n    }\n}\n```\n\n### Key Components\n\n1. **Base Image**:\n   - **Node.js Dev Container**: The development environment is based on the official Node.js Dev Container image `mcr.microsoft.com/vscode/devcontainers/javascript-node:0-18`, which includes Node.js 18, ensuring consistency across development environments.\n\n2. **VS Code Extensions**:\n   The container is pre-configured with a comprehensive set of Visual Studio Code extensions to enhance your development experience:\n   - **JavaScript/TypeScript**:\n     - `dbaeumer.vscode-eslint`: Linting for JavaScript and TypeScript.\n     - `esbenp.prettier-vscode`: Code formatting with Prettier.\n     - `ms-vscode.vscode-typescript-next`: Enhanced TypeScript support.\n   - **CSS/SCSS**:\n     - `stylelint.vscode-stylelint`: Linting for CSS and SCSS files.\n     - `syler.sass-indented`: Syntax highlighting for SCSS/SASS.\n   - **Templating \u0026 Markup**:\n     - `jinja.html-formatter`: Formatting for Jinja2 templates.\n     - `redhat.vscode-yaml`: YAML support for configuration files.\n     - `ritwickdey.LiveServer`: Live reloading for HTML files.\n   - **Utility \u0026 Productivity**:\n     - `streetsidesoftware.code-spell-checker`: Spell checking for text files.\n     - `gruntfuggly.todo-tree`: Managing TODO comments effectively.\n     - `PKief.material-icon-theme` and `vscode-icons-team.vscode-icons`: Custom icons for a better file explorer experience.\n   - **Framework-Specific**:\n     - `svelte.svelte-vscode`: Support for Svelte development.\n     - `octref.vetur`: Support for Vue.js development.\n\n3. **Post-Creation Commands**:\n   - Automatically installs Node.js and Python dependencies using `npm install` and `pip3 install -r requirements.txt` after the container is created, ensuring your development environment is ready to go.\n\n4. **Environment Variables**:\n   - The `NODE_ENV` is set to `development` for both the remote and container environments, ensuring your application runs in development mode.\n\n5. **VS Code Custom Settings**:\n   - **Formatting**: Automatically formats your code on save, maintaining code consistency.\n   - **File Associations**: Associates `.jinja` files with Jinja2 syntax highlighting.\n\n### Usage Instructions\n\n1. **Setup**:\n   - Ensure Docker and Visual Studio Code are installed on your machine. Also, install the VS Code Dev Containers extension if not already installed.\n\n2. **Add the DevContainer Configuration**:\n   - Place the `devcontainer.json` file inside a `.devcontainer` directory at the root of your project.\n\n3. **Open in Container**:\n   - Open your project in Visual Studio Code. When prompted to \"Reopen in Container\", select this option to launch the development container.\n\n4. **Working in the Container**:\n   - Once the container is up, you can work in a fully-featured development environment with all necessary tools and dependencies configured.\n\n### Benefits\n\n- **Consistency**: Develop in a consistent environment that mirrors your production setup.\n- **Pre-configured Tools**: Start coding immediately with all essential tools and extensions pre-configured.\n- **Portability**: Easily share your development environment setup with team members.\n\n### Customization\n\nFeel free to customize the `devcontainer.json` file to better suit your needs. You can add or remove extensions, modify environment variables, or adjust settings as required.\n\n### Troubleshooting\n\n- If you encounter issues with the container setup, ensure Docker is running and that your system meets the requirements for using Dev Containers.\n- Check the logs in the VS Code terminal for any errors during the container build or startup process.\n\n### Conclusion\n\nThis DevContainer setup for `Stylescape` provides a robust and efficient development environment, streamlining your workflow and ensuring consistency across different development setups. Enjoy coding in a fully integrated and customized environment!\n","funding_links":["https://github.com/sponsors/scape-foundation","https://opencollective.com/scape"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstylescape%2Fstylescape-devcontainer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstylescape%2Fstylescape-devcontainer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstylescape%2Fstylescape-devcontainer/lists"}