Security News
New Python Packaging Proposal Aims to Solve Phantom Dependency Problem with SBOMs
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.
exos-scripts
Advanced tools
Set of out-of-the-box extensible scripts that helps you with the lifecycle of your React + TypeScript applications
🛡️Exos is a JavaScript framework that helps you to create apps and micro frontends using React and TypeScript.
It currently provides the following packages:
This project contains a set of out-of-the-box extensible scripts that helps you with the lifecycle of your React + TypeScript applications. It is heavily inspired in Facebook' Create React App plugin.
It contains the following built-in features:
exos-scripts start
: A ready-to-be-used development experience as similar to production as it could be (more info here).exos-scripts build
: A build script for web applications, configured and optimized to provide the best performance (more info here).exos-scripts test
: A unit testing framework (Jest) already configured for you (more info here).exos-scripts lint
: a static analyzer tool configured with the best practices for development with React, TypeScript, ESLint and Prettier. Also comes with a flavor for Node Libraries. (more info here).exos-scripts stylelint
: a static analyzer tool for your CSS files, configured with the best practices for development with SCSS and CSS Modules (more info here).Note: For more information about the 🛡️Exos initiative, click here.
To use it in your projects, first install exos-scripts
in your package by running:
npm i -D exos-scripts
Then, update your package.json with the following:
{
"name": "Your App",
"version": "0.0.1",
// ...
"scripts": {
"lint": "exos-scripts lint",
"stylelint": "exos-scripts stylelint",
"test": "exos-scripts test",
"start": "exos-scripts start",
"build": "exos-scripts build"
}
}
To extend or replace the scripts configurations, you have to create an .exos.config.js file exporting the following:
module.exports = {
scripts: {
lint: (config, { env }) => {
// TODO: Modify the config or replace it entirely
return config;
},
start: (config, { env }) => {
// TODO: Modify the config or replace it entirely
return config;
},
},
};
You can modify the configuration of all the scripts this way (lint
, start
, test
, start
,build
) by passing a function that receives the default config used by exos-scripts and the configuration variables used (in the example above, env
tells you the value of NODE_ENV
used by the script), and returns the modified configuration.
It spins up a [Webpack DevServer[(https://webpack.js.org/configuration/dev-server/)] with your web app, configured with Hot Module replacement and Cheap Module Source maps.
It supports React, TypeScript, SCSS and CSS Modules. Plus, it automatically types your style files by using the typings-for-css-modules-loader library.
You can create a public folder and put assets in there, the same way Create React app works. Inside of this folder, you can set up an index.ejs file that acts as the mail index.html file.
In addition to what is explained above, this scripts provides the following:
It comes with a preconfigured (Jest) that support React unit tests with Enzyme, adding the proper mocks for every other file (.css
, .scss
, .jpg
, .jpeg
, .png
, .svg
). It expects unit tests with named using the suffixes: .spec
, .test
or .tests
(e.g. Search.spec.tsx
).
It also has coverage support that is executed by default in any CI environments where the environment variable CI=true
is set. Or you can trigger it by running exos-scripts test --collectCoverage
.
It has with a library mode for Node Libraries using TypeScript and (Jest). To use it, run exos-scripts test --type=Library
.
It comes with with best practices for development with React, TypeScript, ESLint and Prettier (see the rules here)
It has a library mode for Node Libraries using TypeScript, ESLint and Prettier. To use it, run exos-scripts lint --type=Library
(see the rules here)
It comes with with best practices for development with SCSS and CSS Modules (see the rules here)
🚀!
FAQs
Set of out-of-the-box extensible scripts that helps you with the lifecycle of your React + TypeScript applications
We found that exos-scripts demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Security News
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.
Security News
Socket CEO Feross Aboukhadijeh discusses open source security challenges, including zero-day attacks and supply chain risks, on the Cyber Security Council podcast.
Security News
Research
Socket researchers uncover how threat actors weaponize Out-of-Band Application Security Testing (OAST) techniques across the npm, PyPI, and RubyGems ecosystems to exfiltrate sensitive data.