Skip to content

Commit 9e0ad7b

Browse files
fix babel issue and set React as a deps
1 parent dadff26 commit 9e0ad7b

File tree

4 files changed

+21
-16
lines changed

4 files changed

+21
-16
lines changed

src/ctx.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
class Ctx {
2-
constructor(Babel, React) {
2+
constructor(React, Babel) {
33
this._temp = '';
44
this._parentTemp = `"use strict";\nreturn @temp;`;
55
this._com = null;
66
window.React = window.React || React;
7-
if (!Babel && !window.Babel) {
7+
if (!Babel) {
88
throw new Error(
99
`Package "string-to-react-component" has a missing peer dependency of "@babel/standalone" ( requires "^7.23.10" )`,
1010
);
1111
}
12-
this._b = Babel || window.Babel;
12+
this._getBabel = () => Babel;
1313
}
1414
_checkBabelOptions(babelOptions) {
1515
if (Object.prototype.toString.call(babelOptions) !== '[object Object]') {
@@ -30,7 +30,7 @@ class Ctx {
3030
_transpile(babelOptions) {
3131
// make sure react presets is registered in babelOptions
3232
this._checkBabelOptions(babelOptions);
33-
const resultObj = this._b.transform(this._temp, babelOptions);
33+
const resultObj = this._getBabel().transform(this._temp, babelOptions);
3434
const filename = babelOptions.filename;
3535
let code = resultObj.code;
3636
if (filename) {

src/index.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1+
import React from 'react';
12
import Ctx from './ctx.js';
2-
import babel from '@babel/standalone';
3+
import * as Babel from '@babel/standalone';
34
import StringToReact from './strintToReact.js';
4-
const getCtx = (options) => new Ctx(babel, options);
5-
export default StringToReact.bind(null, {getCtx: getCtx});
5+
const getCtx = (React, Babel) => new Ctx(React, Babel);
6+
export default StringToReact.bind(null, {getCtx: getCtx, Babel: Babel, react: React});

src/strintToReact.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import React, {useRef} from 'react';
22
import PropTypes from 'prop-types';
33
function StringToReactComponent(deps, props) {
4-
const {getCtx} = deps;
4+
const {getCtx, Babel, react} = deps;
55
const ref = useRef(null);
6-
ref.current = ref.current || getCtx(React);
6+
ref.current = ref.current || getCtx(react, Babel);
77
const babelOptions = props.babelOptions || {};
88
const GeneratedComponent = ref.current.updateTemplate(props.children, babelOptions).getComponent();
99
const data = props.data || {};

yarn.lock

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5998,12 +5998,14 @@ randomfill@^1.0.3:
59985998
randombytes "^2.0.5"
59995999
safe-buffer "^5.1.0"
60006000

6001-
"react-dom@file:D:/projects/romak/FRONT_FRAMEWORK/node_modules/react-dom":
6002-
version "18.2.0"
6003-
resolved "file:D:/projects/romak/FRONT_FRAMEWORK/node_modules/react-dom"
6001+
"react-dom@file:../react-dyn-tabs-example/node_modules/react-dom":
6002+
version "16.9.0"
6003+
resolved "file:../react-dyn-tabs-example/node_modules/react-dom"
60046004
dependencies:
60056005
loose-envify "^1.1.0"
6006-
scheduler "^0.23.0"
6006+
object-assign "^4.1.1"
6007+
prop-types "^15.6.2"
6008+
scheduler "^0.15.0"
60076009

60086010
react-is@^16.13.1, react-is@^16.8.4, react-is@^16.9.0:
60096011
version "16.13.1"
@@ -6025,11 +6027,13 @@ react-test-renderer@16.9.0:
60256027
react-is "^16.9.0"
60266028
scheduler "^0.15.0"
60276029

6028-
react@^16.0.0, "react@file:D:/projects/romak/FRONT_FRAMEWORK/node_modules/react":
6029-
version "18.2.0"
6030-
resolved "file:D:/projects/romak/FRONT_FRAMEWORK/node_modules/react"
6030+
react@^16.0.0, "react@file:../react-dyn-tabs-example/node_modules/react":
6031+
version "16.9.0"
6032+
resolved "file:../react-dyn-tabs-example/node_modules/react"
60316033
dependencies:
60326034
loose-envify "^1.1.0"
6035+
object-assign "^4.1.1"
6036+
prop-types "^15.6.2"
60336037

60346038
read-pkg-up@^7.0.1:
60356039
version "7.0.1"

0 commit comments

Comments
 (0)