Socket
Socket
Sign inDemoInstall

@anolilab/babel-preset

Package Overview
Dependencies
Maintainers
1
Versions
66
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@anolilab/babel-preset - npm Package Compare versions

Comparing version 1.0.0 to 1.1.0

lib/is-module-available.js

8

CHANGELOG.md

@@ -1,2 +0,2 @@

## @anolilab/babel-preset 1.0.0 (2021-02-15)
## @anolilab/babel-preset [1.1.0](https://github.com/anolilab/javascript-style-guide/compare/@anolilab/babel-preset@1.0.0...@anolilab/babel-preset@1.1.0) (2021-02-17)

@@ -6,6 +6,2 @@

* added prettier config ([ac29bbc](https://github.com/anolilab/javascript-style-guide/commit/ac29bbc730467a31f9d1d1f4a95b41735d7cbfb8))
* created babel-preset, browserslist, eslint-config ([f698761](https://github.com/anolilab/javascript-style-guide/commit/f698761c50b32e4de07fc6d3d81436f5167c2f00))
* release/1.0.0 ([d237cd2](https://github.com/anolilab/javascript-style-guide/commit/d237cd25e467863e4a5dc802f644e7c0800c924a))
* reworked the mono repository, with a simpler semantic-release ([e290a22](https://github.com/anolilab/javascript-style-guide/commit/e290a2244bd9bf7d255182c3722f180bc4bb8690))
* updated rules for stylelint ([fdd469c](https://github.com/anolilab/javascript-style-guide/commit/fdd469c4d2779fa4a3d4d6aecdf013678dcd26d1))
* added bette error handling on missing babel packages ([31e8ca8](https://github.com/anolilab/javascript-style-guide/commit/31e8ca820e12fcc8dc302cf1b57e89246efb1a7e))

@@ -1,6 +0,8 @@

const { declare } = require('@babel/helper-plugin-utils');
const { declare } = require("@babel/helper-plugin-utils");
const isModuleAvailable = require('./lib/is-module-available');
const missing = require('./lib/missing');
module.exports = declare((api, options) => {
// see docs about api at https://babeljs.io/docs/en/config-files#apicache
api.assertVersion('^7.0.0');
api.assertVersion("^7.0.0");

@@ -10,3 +12,3 @@ const {

targets = null,
removePropTypes,
removePropTypes = false,
looseClasses = false,

@@ -23,3 +25,3 @@ looseComputedProperties = false,

if (typeof modules !== 'undefined' && typeof modules !== 'boolean' && modules !== 'auto') {
if (typeof modules !== "undefined" && typeof modules !== "boolean" && modules !== "auto") {
throw new TypeError(

@@ -30,7 +32,41 @@ '@anolilab/babel-preset only accepts `true`, `false`, or `"auto"` as the value of the "modules" option',

const debug = typeof options.debug === 'boolean' ? options.debug : false;
if (removePropTypes && !react) {
throw new Error('"removePropTypes" can\'t be enabled if react is disabled.')
}
let install = []
if (typescript) {
if (!isModuleAvailable('@babel/preset-typescript')) {
install.push('@babel/preset-typescript')
}
if (!isModuleAvailable('@babel/plugin-transform-typescript')) {
install.push('@babel/plugin-transform-typescript')
}
if (!isModuleAvailable('@babel/plugin-syntax-jsx')) {
install.push('@babel/plugin-syntax-jsx')
}
}
if (react) {
if (!isModuleAvailable('@babel/preset-react')) {
install.push('@babel/preset-react')
}
if (removePropTypes && !isModuleAvailable('babel-plugin-transform-react-remove-prop-types')) {
install.push('babel-plugin-transform-react-remove-prop-types')
}
}
if (install.length !== 0) {
missing(install)
}
const debug = typeof options.debug === "boolean" ? options.debug : false;
const development =
typeof options.development === 'boolean'
typeof options.development === "boolean"
? options.development
: api.cache.using(() => process.env.NODE_ENV === 'development');
: api.cache.using(() => process.env.NODE_ENV === "development");

@@ -40,7 +76,7 @@ return {

[
require('@babel/preset-env'),
require("@babel/preset-env"),
{
debug,
exclude: ['transform-async-to-generator', 'transform-regenerator'],
modules: modules === false ? false : 'auto',
exclude: ["transform-async-to-generator", "transform-regenerator"],
modules: modules === false ? false : "auto",
targets: targets,

@@ -51,3 +87,3 @@ },

? [
require('@babel/preset-typescript'),
require("@babel/preset-typescript"),
{

@@ -59,3 +95,3 @@ allExtensions: true,

: null,
react ? [require('@babel/preset-react'), { development }] : null,
react ? [require("@babel/preset-react"), { development }] : null,
].filter(Boolean),

@@ -67,3 +103,3 @@ plugins: [

[
require('@babel/plugin-proposal-class-properties'),
require("@babel/plugin-proposal-class-properties"),
{

@@ -75,3 +111,3 @@ loose: true,

? [
require('@babel/plugin-transform-classes'),
require("@babel/plugin-transform-classes"),
{

@@ -83,3 +119,3 @@ loose: true,

[
require('@babel/plugin-proposal-decorators'),
require("@babel/plugin-proposal-decorators"),
{

@@ -92,3 +128,3 @@ legacy: true,

? [
require('@babel/plugin-transform-computed-properties'),
require("@babel/plugin-transform-computed-properties"),
{

@@ -102,3 +138,3 @@ loose: true,

? [
require('@babel/plugin-transform-parameters'),
require("@babel/plugin-transform-parameters"),
{

@@ -112,3 +148,3 @@ loose: true,

? [
require('@babel/plugin-transform-template-literals'),
require("@babel/plugin-transform-template-literals"),
{

@@ -121,7 +157,7 @@ loose: false,

? [
require('babel-plugin-transform-react-remove-prop-types'),
require("babel-plugin-transform-react-remove-prop-types"),
Object.assign(
{
mode: 'wrap',
ignoreFilenames: ['node_modules'],
mode: "wrap",
ignoreFilenames: ["node_modules"],
},

@@ -132,7 +168,7 @@ removePropTypes,

: null,
typescript ? require('@babel/plugin-transform-typescript') : null,
require('@babel/plugin-proposal-export-namespace-from'),
typescript ? require("@babel/plugin-transform-typescript") : null,
// Transform dynamic import to require
[
require('babel-plugin-dynamic-import-node'),
require("babel-plugin-dynamic-import-node"),
{

@@ -142,13 +178,15 @@ noInterop: true,

],
typescript ? require('@babel/plugin-syntax-jsx') : null,
// Adds syntax support for import()
require('@babel/plugin-syntax-dynamic-import'),
require('@babel/plugin-transform-property-mutators'),
require('@babel/plugin-transform-member-expression-literals'),
require('@babel/plugin-transform-property-literals'),
require('@babel/plugin-proposal-nullish-coalescing-operator'),
require('@babel/plugin-proposal-numeric-separator'),
require('@babel/plugin-proposal-optional-catch-binding'),
require('@babel/plugin-proposal-optional-chaining'),
require("@babel/plugin-syntax-dynamic-import"),
require("@babel/plugin-transform-property-mutators"),
require("@babel/plugin-transform-member-expression-literals"),
require("@babel/plugin-transform-property-literals"),
require("@babel/plugin-proposal-nullish-coalescing-operator"),
require("@babel/plugin-proposal-numeric-separator"),
require("@babel/plugin-syntax-bigin"),
require("@babel/plugin-proposal-optional-catch-binding"),
require("@babel/plugin-proposal-optional-chaining"),
[
require('@babel/plugin-proposal-object-rest-spread'),
require("@babel/plugin-proposal-object-rest-spread"),
{

@@ -159,19 +197,24 @@ useBuiltIns: true,

// https://babeljs.io/docs/en/babel-plugin-syntax-async-generators
require('@babel/plugin-syntax-async-generators'),
require("@babel/plugin-syntax-async-generators"),
// fast-async is a Babel plugin that implements the ES7 keywords async and await
// using syntax transformation at compile-time, rather than generators.
require('fast-async'),
require("fast-async"),
// Experimental macros support. Will be documented after it's had some time
// in the wild.
require('babel-plugin-macros'),
transformRuntime ? [require('@babel/plugin-transform-runtime'), {
absoluteRuntime: false,
corejs: false,
helpers: true,
regenerator: false,
useESModules: runtimeHelpersUseESModules,
version: runtimeVersion,
}] : null,
require("babel-plugin-macros"),
transformRuntime
? [
require("@babel/plugin-transform-runtime"),
{
absoluteRuntime: false,
corejs: false,
helpers: true,
regenerator: false,
useESModules: runtimeHelpersUseESModules,
version: runtimeVersion,
},
]
: null,
].filter(Boolean),
};
});
{
"name": "@anolilab/babel-preset",
"version": "1.0.0",
"version": "1.1.0",
"description": "A babel preset for transforming your JavaScript for Anolilab.",

@@ -35,2 +35,3 @@ "keywords": [

"@babel/plugin-proposal-decorators": "^7.12.12",
"@babel/plugin-proposal-export-namespace-from": "^7.12.13",
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3",

@@ -42,2 +43,3 @@ "@babel/plugin-proposal-numeric-separator": "^7.8.3",

"@babel/plugin-syntax-async-generators": "^7.8.4",
"@babel/plugin-syntax-bigint": "^7.8.3",
"@babel/plugin-syntax-dynamic-import": "^7.8.3",

@@ -59,7 +61,9 @@ "@babel/plugin-transform-classes": "^7.12.1",

"devDependencies": {
"@babel/core": "^7.12.10",
"@babel/plugin-transform-typescript": "^7.12.1",
"@babel/preset-react": "^7.12.10",
"@babel/preset-typescript": "^7.12.7",
"babel-plugin-transform-react-remove-prop-types": "^0.4.24"
"@babel/core": "7.12.16",
"@babel/plugin-syntax-jsx": "^7.12.13",
"@babel/plugin-transform-typescript": "7.12.16",
"@babel/preset-react": "7.12.13",
"@babel/preset-typescript": "7.12.16",
"@babel/runtime": "^7.12.13",
"babel-plugin-transform-react-remove-prop-types": "0.4.24"
},

@@ -71,2 +75,3 @@ "peerDependencies": {

"optionalDependencies": {
"@babel/plugin-syntax-jsx": "^7.12.13",
"@babel/plugin-transform-typescript": "^7.12.1",

@@ -73,0 +78,0 @@ "@babel/preset-react": "^7.12.10",

@@ -5,3 +5,3 @@ # Babel preset

Currently contains transforms for all stage 4 (ES2018) and stage 3 syntax.
Currently, contains transforms for all stage 4 (ES2018) and stage 3 syntax.
Additionally, stage 4 syntax that is excluded is as follows:

@@ -17,3 +17,3 @@

```sh
$ npm install --save-dev @anolilab/babel-preset
$ npm install --save-dev @babel/core @babel/runtime @anolilab/babel-preset
```

@@ -111,2 +111,8 @@

To use this preset please install
```sh
$ npm install --save-dev @babel/preset-typescript @babel/plugin-syntax-jsx
```
This preset can be configured to support `typescript`, using `"typescript": true` in our preset.

@@ -129,2 +135,8 @@

To use this preset please install
```sh
$ npm install --save-dev @babel/preset-react
```
This preset can be configured to support `react`, using `"react": true` in our preset.

@@ -131,0 +143,0 @@

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