Skip to content

Commit

Permalink
Add devcontainer, linters and update packages
Browse files Browse the repository at this point in the history
  • Loading branch information
rlaiola committed Oct 22, 2024
1 parent afc5d86 commit b3a9232
Show file tree
Hide file tree
Showing 6 changed files with 388 additions and 902 deletions.
70 changes: 70 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
// For format details, see https://aka.ms/devcontainer.json. For config
// options, see the README at:
// https://github.com/devcontainers/templates/tree/main/src/typescript-node
{
// A name for the dev container displayed in the UI.
"name": "dev-relax-api",

"image": "mcr.microsoft.com/devcontainers/typescript-node:1-20",
// Or use a Dockerfile or Docker Compose file. More info:
// https://containers.dev/guide/dockerfile
// "build": {
// // Sets the run context to the same level of the .devcontainer folder.
// "context": ".",
// // Update the 'dockerFile' property if you aren't using the standard
// // 'Dockerfile' filename.
// "dockerfile": "Dockerfile"
// },
// "dockerComposeFile": "docker-compose.yml",
// "service": "devcontainer",

// An array of Docker CLI arguments that should be used when running the
// container.
"runArgs": ["--name=dev-relax", "--rm", "-p", "8080:8080", "-p", "3000:3000", "--network=host"],

// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": "bash .devcontainer/install_dependencies.sh && export PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium && yarn install && yarn serve",

// Indicates whether devcontainer.json supporting tools should stop the
// containers when the related tool window is closed / shut down.
"shutdownAction": "stopContainer",
// "shutdownAction": "stopCompose",

// Sets the default path that devcontainer.json supporting services / tools
// should open when connecting to the container. Defaults to the automatic
// source code mount location.
"workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}",

// Features to add to the dev container.
// More info: https://containers.dev/features.
// "features": {},

// Use 'forwardPorts' to make a list of ports inside the container
// available locally.
// "forwardPorts": [],

// Configure tool-specific properties.
"customizations": {
// Configure properties specific to VS Code.
"vscode": {
"settings": {},
"extensions": [
"esbenp.prettier-vscode",
"foxundermoon.shell-format",
"davidanson.vscode-markdownlint",
"fnando.linter",
"streetsidesoftware.code-spell-checker"
]
}
},

// Comment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
"remoteUser": "root",
"features": {
"ghcr.io/akhildevelops/devcontainer-features/apt:0": {},
"ghcr.io/devcontainers/features/git:1": {
"ppa": true,
"version": "os-provided"
}
}
}
42 changes: 42 additions & 0 deletions .devcontainer/install_dependencies.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#! /bin/sh
#========================================================================
# Copyright Universidade Federal do Espirito Santo (Ufes)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
# This program is released under license GNU GPL v3+ license.
#
#========================================================================

# Clone RelaX repo* and checkout the static files (branch gh-pages)
rm -rf dist && \
mkdir dist && \
cd dist && \
git clone https://github.com/rlaiola/relax.git && \
cd relax && \
git config --global --add safe.directory . && \
git checkout origin/gh-pages && \
git checkout gh-pages && \
git branch && \
cd ../..

# Install dependencies (chromium)
apt-get update \
&& apt-get install -y --no-install-recommends \
chromium \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*

# Set environment variables
export NODE_OPTIONS=--openssl-legacy-provider
60 changes: 60 additions & 0 deletions .markdownlint-cli2.jsonc
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
/*
* An example .markdownlint-cli2.jsonc file
*/
{
// Disable some built-in rules
// "config": {
// "no-trailing-spaces": false,
// "no-multiple-blanks": false
// },

// Include a custom rule package
// "customRules": [
// "markdownlint-rule-titlecase"
// ],

// Fix any fixable errors
// "fix": true,

// Define a custom front matter pattern
// "frontMatter": "<head>[^]*<\/head>",

// Ignore files referenced by .gitignore (only valid at root)
// "gitignore": true,

// Define glob expressions to use (only valid at root)
// "globs": [
// "!*bout.md"
// ],

// Define glob expressions to ignore
"ignores": [".gitignore", "LICENSE"]

// Use a plugin to recognize math
// "markdownItPlugins": [
// [ "@iktakahiro/markdown-it-katex" ]
// ],

// Additional paths to resolve module locations from
// "modulePaths": [
// "./modules"
// ],

// Disable banner message on stdout (only valid at root)
// "noBanner": true,

// Disable inline config comments
// "noInlineConfig": true,

// Disable progress on stdout (only valid at root)
// "noProgress": true,

// Use a specific formatter (only valid at root)
// "outputFormatters": [
// [ "markdownlint-cli2-formatter-default" ]
// ],

// Show found files on stdout (only valid at root)
// "showFound": true
}

Loading

0 comments on commit b3a9232

Please sign in to comment.