New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@davidlj95/website-v2

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@davidlj95/website-v2

This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.2.0.

  • 1.2.1
  • unpublished
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

@davidlj95/website

This project was generated with Angular CLI version 16.2.0.

Rendering font subsets

Some fonts included are a subset of a big font file. Before doing anything, please run

yarn run font-subsets

To generate them. Otherwise, those fonts won't be found and you may get some errors. Also, remember to run it if changing the glyphs included in each font. Or to add the new glyphs if you want to use more glyphs of a font.

Development server

Run ng serve for a dev server. Navigate to http://localhost:4200/. The application will automatically reload if you change any of the source files.

Code scaffolding

Run ng generate component component-name to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module.

Build

Run ng build to build the project. The build artifacts will be stored in the dist/ directory.

Running unit tests

Run ng test to execute the unit tests via Karma.

Running end-to-end tests

Run ng e2e to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.

Commit message guidelines

Commit messages follow the conventional commits guidelines. This allows for automating the semantic versioning release process using semantic release

Commit message lint

To enforce that, commitlint is used. It reads the commit messages on a PR and ensures they follow the conventional commits convention.

You can use the following run script to ensure the last commit follows the guidelines:

yarn run commitlint-last

Git hooks

Not a fan of, but it's useful to enforce conventional commits. Indeed, it's only one, a pre-commit hook. And checks your commit message complies with the conventional commits format and configuration.

To use it, run

yarn run git-hooks

It will install Git hooks via husky. Now everytime you commit, you'll be sure commit message guidelines are enforced.

This is very useful if you can push to main directly. Because there's no way to reject commits that don't follow the commit message guidelines. And once you push to main, you cannot amend that commit as per branch protection rules.

Autogenerated files from templates

Some metadata about the app (like title, author, theme color...) was repeated across files. So used LiquidJS to create template files (.liquid extension). Then, created a small script to render templates into generated files using metadata defined in metadata.ts file (and some hardcoded constants in the generation script)

If you update some metadata in that file, run the script to update files generated from templates. Otherwise, they won't be in sync.

Automatically updating generated files is not straightforward. Doing something before/after an Angular app build runs is not an option right now. Adding a bunch of pre npm run scripts left the package.json file quite cluttered. Also, won't work if issuing ng commands. So decided to leave the task to update generated files to the developer. At some point a CI check could be introduced to ensure generated files are up-to-date. Generated files are left in the repo because of that reason (and also so you can clone & run without issues). That metadata won't change often anyway.

Quirks

Symlinked static assets don't work when serving locally

When using Angular development server (either regular or SSR one), symbolic links seem not to work for static assets. So for instance /profile.jpg which is symlinked to /assets/img/og.jpg won't be served. And the server will redirect you towards main page (/). It works when building though, so it will appear in the built version.

CI/CD

GitHub Actions are used

Commands ran by CI/CD

In order to ease running CI/CD commands locally, the .ci directory contains a Makefile intended to contain all commands that will be run in CI/CD pipelines. So you can test those locally easily

Just:

cd .ci && make test # for instance

And see how a command run in the CI/CD behaves locally. Notice your machine's state may differ from the CI/CD machine one.

Running GitHub Actions workflows locally

You can use act to run GitHub Action workflows in your development machine. If using macOS, install it using brew:

brew install act

Then, use one of the many run- targets in the CI/CD Makefile to simulate a CI/CD workflow run. For instance:

cd .ci && make run-main

Simulates the workflow triggered by a push to main branch.

If you get a message related to Apple M-series chip:

WARN  ⚠ You are using Apple M-series chip and you have not specified container architecture, you might encounter issues while running act. If so, try running it with '--container-architecture linux/amd64'. ⚠                      7s

You can add --container-architecture linux/amd64 (notice a space when line begins) to your ~/.actrc file. Create it if it doesn't exist.

ℹ️ Images are set to js-* ones via the .actrc file as medium default ones don't include yarn :sadparrot:

Further help

To get more help on the Angular CLI use ng help or go check out the Angular CLI Overview and Command Reference page.

FAQs

Package last updated on 02 Sep 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc