Не включайте частные первые пакеты в сборки в розыгрышахJavascript

Форум по Javascript
Ответить
Anonymous
 Не включайте частные первые пакеты в сборки в розыгрышах

Сообщение Anonymous »

У меня есть следующие файлы: < /p>

Код: Выделить всё

// src/_react/useValue.ts

import { obj } from "../default";
import React, { useCallback, useEffect } from "react";

const useValue = () => {
const [value, setValue] = React.useState(obj.value);

useEffect(() => {
obj.value = value;
}, [value]);

const increment = useCallback(() => {
setValue((prev) => prev + 1);
}, []);

const decrement = useCallback(() => {
setValue((prev) => prev - 1);
}, [])

return { value, increment, decrement };
}

export default useValue;
< /code>
// src/_react/index.ts
export { default as useValue } from "./useValue";
< /code>
// src/default/value.ts
const obj = {
value: 0
}

export { obj }
< /code>
// src/default/index.ts
export { obj } from './value'
Я хочу построить по умолчанию и _react отдельно.
Я имею следующую конфигурацию запуска:

Код: Выделить всё

// rollup.config.mjs
import commonJS from '@rollup/plugin-commonjs';
import resolve from '@rollup/plugin-node-resolve';
import terser from '@rollup/plugin-terser';
import typescript from '@rollup/plugin-typescript';
import external from 'rollup-plugin-peer-deps-external';

export default [
{
input: 'src/default/index.ts',
output: [
{
file: `dist/default/cjs/index.js`,
format: 'cjs',
sourcemap: true,
},
{
file: `dist/default/esm/index.js`,
format: 'esm',
sourcemap: true,
},
],
plugins: [
external(),
resolve(),
commonJS(),
typescript({
tsconfig: './tsconfig.json',
}),
terser(),
],
},
{
input: 'src/_react/index.ts',
output: [
{
file: `dist/react/cjs/index.js`,
format: 'cjs',
sourcemap: true
},
{
file: `dist/react/esm/index.js`,
format: 'esm',
sourcemap: true
},
],
plugins: [
external(),
resolve(),
commonJS(),
typescript({
tsconfig: './tsconfig.json',
}),
// terser(),
],
},
];
< /code>
// tsconfig.json
{
"compilerOptions": {
"target": "es5",
"module": "esnext",
"lib": [
"dom",
"dom.iterable",
"esnext"
],
"jsx": "react",
"sourceMap": true,
"outDir": "dist",
"strict": true,
"moduleResolution": "node",
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"baseUrl": "src"
}
}
Я строю его и ... вот улов.// dist/react/esm/index.js
import React, { useEffect, useCallback } from 'react';

var obj = {
value: 0
};

var useValue = function () {
var _a = React.useState(obj.value), value = _a[0], setValue = _a[1];
useEffect(function () {
obj.value = value;
}, [value]);
var increment = useCallback(function () {
setValue(function (prev) { return prev + 1; });
}, []);
var decrement = useCallback(function () {
setValue(function (prev) { return prev - 1; });
}, []);
return { value: value, increment: increment, decrement: decrement };
};

export { useValue };
//# sourceMappingURL=index.js.map
< /code>
Я не хочу двигаться < /p>
var obj = {
value: 0
};
< /code>
в этот файл.
Я хочу импортировать obj < /code> из 'default', чтобы иметь что-то вроде этого: < /p>
import React, { useEffect, useCallback } from 'react';
import { obj } from '../../default/esm' // import obj from default/esm

var useValue = function () {
var _a = React.useState(obj.value), value = _a[0], setValue = _a[1];
useEffect(function () {
obj.value = value;
}, [value]);
var increment = useCallback(function () {
setValue(function (prev) { return prev + 1; });
}, []);
var decrement = useCallback(function () {
setValue(function (prev) { return prev - 1; });
}, []);
return { value: value, increment: increment, decrement: decrement };
};

export { useValue };
//# sourceMappingURL=index.js.map
< /code>
Это возможно? Что мне изменить и где?


Подробнее здесь: https://stackoverflow.com/questions/797 ... lup-builds
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»