mirror of
https://github.com/xibyte/jsketcher
synced 2025-12-06 16:33:15 +01:00
upgrade to webpack 5
This commit is contained in:
parent
5aa5ca4ead
commit
0cd501b8cc
6 changed files with 4322 additions and 11750 deletions
|
|
@ -1,5 +1,3 @@
|
|||
import * as THREE from 'three';
|
||||
window.THREE = THREE;
|
||||
require('three/examples/js/controls/OrbitControls');
|
||||
require('three/examples/js/controls/TransformControls');
|
||||
|
||||
|
|
|
|||
|
|
@ -1,16 +1,26 @@
|
|||
import {ApplicationContext} from "cad/context";
|
||||
import {OperationDescriptor} from "cad/craft/operationBundle";
|
||||
import {LocalFile, LocalFileAdapter} from "ui/components/controls/FileControl";
|
||||
import CadError from "../../../../../web/app/utils/errors";
|
||||
import {parseStringPromise} from 'xml2js';
|
||||
import {LocalFileAdapter} from "ui/components/controls/FileControl";
|
||||
import CadError from "utils/errors";
|
||||
import {parseString} from 'browser-xml2js';
|
||||
import {importStepFile} from "cad/craft/e0/interact";
|
||||
import {clone} from "gems/objects";
|
||||
import JSZip from "jszip";
|
||||
import JSZip from "jszip/dist/jszip.min";
|
||||
|
||||
interface ImportModelParams {
|
||||
file: LocalFileAdapter;
|
||||
}
|
||||
|
||||
const parseStringAsync = (xml) => new Promise((resolve, reject) => {
|
||||
parseString(xml, function (err, result) {
|
||||
if (err) {
|
||||
reject(err)
|
||||
} else {
|
||||
resolve(result);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
export const ImportModelOperation: OperationDescriptor<ImportModelParams> = {
|
||||
id: 'IMPORT_MODEL',
|
||||
label: 'Import',
|
||||
|
|
@ -43,7 +53,7 @@ export const ImportModelOperation: OperationDescriptor<ImportModelParams> = {
|
|||
const zipContents = (await JSZip.loadAsync(params.file.base64Content(), { base64: true })).files;
|
||||
const xmlFreeCADData = await zipContents["Document.xml"].async("string");
|
||||
|
||||
const DecodedXmlFreeCADData = (clone(await parseStringPromise(xmlFreeCADData))).Document.ObjectData[0].Object;
|
||||
const DecodedXmlFreeCADData = (clone(await parseStringAsync(xmlFreeCADData))).Document.ObjectData[0].Object;
|
||||
|
||||
for (const itemToLookAt in DecodedXmlFreeCADData) {
|
||||
const flattenedObject = flattenJSON(DecodedXmlFreeCADData[itemToLookAt]);
|
||||
|
|
|
|||
15989
package-lock.json
generated
15989
package-lock.json
generated
File diff suppressed because it is too large
Load diff
21
package.json
21
package.json
|
|
@ -41,12 +41,12 @@
|
|||
"@babel/preset-react": "^7.18.6",
|
||||
"@babel/preset-stage-2": "^7.8.3",
|
||||
"@babel/preset-typescript": "^7.18.6",
|
||||
"@cypress/webpack-preprocessor": "^4.1.3",
|
||||
"@cypress/webpack-preprocessor": "^5.12.2",
|
||||
"@types/react": "^16.9.34",
|
||||
"@types/react-dom": "^16.9.7",
|
||||
"@typescript-eslint/eslint-plugin": "^5.33.0",
|
||||
"@typescript-eslint/parser": "^5.33.0",
|
||||
"babel-loader": "^8.1.0",
|
||||
"babel-loader": "^8.2.5",
|
||||
"babel-plugin-transform-decorators-legacy": "^1.3.5",
|
||||
"babel-polyfill": "^6.26.0",
|
||||
"concurrently": "^7.3.0",
|
||||
|
|
@ -62,21 +62,22 @@
|
|||
"grunt-contrib-copy": "1.0.0",
|
||||
"grunt-contrib-watch": "^1.1.0",
|
||||
"handlebars": "^4.7.7",
|
||||
"less-loader": "^5.0.0",
|
||||
"less-loader": "^11.0.0",
|
||||
"less-vars-loader": "^1.1.0",
|
||||
"raw-loader": "^4.0.0",
|
||||
"style-loader": "^1.1.3",
|
||||
"typescript": "^4.7.4",
|
||||
"url-loader": "^4.1.1",
|
||||
"webpack": "^4.42.1",
|
||||
"webpack-cli": "^3.3.11",
|
||||
"webpack-dev-server": "^3.10.3"
|
||||
"webpack": "^5.74.0",
|
||||
"webpack-cli": "^4.10.0",
|
||||
"webpack-dev-server": "^4.10.0",
|
||||
"buffer": "^6.0.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"@tarikjabiri/dxf": "^2.3.0",
|
||||
"@types/three": "^0.143.0",
|
||||
"classnames": "2.2.5",
|
||||
"clipper-lib": "6.2.1",
|
||||
"@tarikjabiri/dxf": "^2.3.0",
|
||||
"earcut": "2.1.1",
|
||||
"font-awesome": "4.7.0",
|
||||
"immer": "^9.0.12",
|
||||
|
|
@ -85,10 +86,10 @@
|
|||
"less": "^3.11.1",
|
||||
"libtess": "1.2.2",
|
||||
"lodash": "^4.17.15",
|
||||
"marked": "^1.0.0",
|
||||
"marked": "^4.0.18",
|
||||
"mousetrap": "1.6.1",
|
||||
"numeric": "1.2.6",
|
||||
"prop-types": "15.6.0",
|
||||
"prop-types": "^15.8.1",
|
||||
"react": "^16.13.1",
|
||||
"react-color": "^2.19.3",
|
||||
"react-dom": "^16.13.1",
|
||||
|
|
@ -96,6 +97,6 @@
|
|||
"react-toastify": "^5.5.0",
|
||||
"sprintf": "0.1.5",
|
||||
"three": "^0.143.0",
|
||||
"xml2js": "^0.4.23"
|
||||
"browser-xml2js": "^0.4.19"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,8 @@ import {NumberField} from '../../wizard/components/form/Fields';
|
|||
import EntityList from '../../wizard/components/form/EntityList';
|
||||
import {StackSection} from "ui/components/controls/FormSection";
|
||||
import Button from "ui/components/controls/Button";
|
||||
import {IoAddCircleOutline, IoIosRemoveCircleOutline} from "react-icons/all";
|
||||
import {IoIosRemoveCircleOutline} from "react-icons/io";
|
||||
import {IoAddCircleOutline} from "react-icons/io5";
|
||||
import ls from './CreateDatumWizard.less'
|
||||
import ComboBoxControl, {ComboBoxOption} from "ui/components/controls/ComboBoxControl";
|
||||
import NumberControl from "ui/components/controls/NumberControl";
|
||||
|
|
|
|||
|
|
@ -27,25 +27,30 @@ module.exports = {
|
|||
externals: {
|
||||
'verb-nurbs': 'verb'
|
||||
},
|
||||
plugins: [
|
||||
new webpack.HotModuleReplacementPlugin(),
|
||||
],
|
||||
resolve: {
|
||||
extensions: ['.js', '.jsx', ".ts", ".tsx"],
|
||||
modules: [MODULES, "node_modules", WEB_APP]
|
||||
modules: [MODULES, "node_modules", WEB_APP],
|
||||
},
|
||||
devServer: {
|
||||
hot: false,
|
||||
inline: false,
|
||||
contentBase: [
|
||||
liveReload: false,
|
||||
client: {
|
||||
logging: 'error',
|
||||
overlay: {
|
||||
errors: true,
|
||||
warnings: false
|
||||
}
|
||||
},
|
||||
static: [
|
||||
path.join(__dirname, 'web'),
|
||||
],
|
||||
before(app) {
|
||||
setupMiddlewares(middlewares, devServer) {
|
||||
libAssets.forEach(asset => {
|
||||
app.get(`/lib-assets/${asset}`, function (req, res) {
|
||||
devServer.app.get(`/lib-assets/${asset}`, function (req, res) {
|
||||
res.sendFile(path.join(NODE_MODULES, asset))
|
||||
})
|
||||
});
|
||||
return middlewares;
|
||||
}
|
||||
},
|
||||
module: {
|
||||
|
|
|
|||
Loading…
Reference in a new issue