From 3d581e6ed2aeef8383b4e2029ab7f5b7e91f896e Mon Sep 17 00:00:00 2001 From: Bogdan Lyashenko Date: Tue, 12 Feb 2019 19:21:23 +0100 Subject: [PATCH] fix: dep paths for windows --- package.json | 2 +- src/public/dist/local/bundle/main.bundle.js | 4 ++-- .../code-parse/language/javascript/dependencies.js | 9 ++++++--- src/server/project-source/index.js | 9 +++++++-- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 5da44c6..2a6ad65 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "codecrumbs", - "version": "1.0.19", + "version": "1.0.20", "author": "Bohdan Liashenko", "license": "BSD-3-Clause", "repository": { diff --git a/src/public/dist/local/bundle/main.bundle.js b/src/public/dist/local/bundle/main.bundle.js index 479b280..f1b5b83 100644 --- a/src/public/dist/local/bundle/main.bundle.js +++ b/src/public/dist/local/bundle/main.bundle.js @@ -46889,7 +46889,7 @@ module.exports = function(originalModule) { /*! exports provided: name, version, author, license, repository, scripts, bin, dependencies, devDependencies, nodemonConfig, husky, default */ /***/ (function(module) { -module.exports = {"name":"codecrumbs","version":"1.0.19","author":"Bohdan Liashenko","license":"BSD-3-Clause","repository":{"type":"git","url":"https://github.com/Bogdan-Lyashenko/codecrumbs.git"},"scripts":{"start":"yarn client-dev & yarn server-dev","server:one":"node src/index.dev.js","server:two":"node src/index.dev.js two","client-dev":"cd src/public && webpack --config webpack.dev.js --progress --colors --watch --env dev","server-dev":"nodemon src/index.dev.js","server-debug":"nodemon --inspect src/index.dev.js","build":"cd src/public && webpack --config webpack.prod.js --progress --colors","start:standalone":"cd src/public/dist/standalone && http-server","pretty":"prettier --write \"./src/public/js/**/*.js\""},"bin":{"codecrumbs":"./cli/index.cli.js"},"dependencies":{"@babel/parser":"^7.1.2","@babel/polyfill":"^7.0.0","@babel/traverse":"^7.1.0","antd":"^3.9.2","classnames":"^2.2.6","colors":"^1.3.2","commander":"^2.19.0","copy-text-to-clipboard":"^1.0.4","d3-flextree":"^2.1.1","directory-tree":"^2.1.0","file-saver":"^2.0.0","http-server":"^0.11.1","js2flowchart":"^1.1.7","lodash":"^4.17.10","lodash.debounce":"^4.0.8","madge":"^3.3.0","portscanner":"^2.2.0","react":"^16.7.0","react-dom":"^16.7.0","react-draggable":"^3.0.5","react-redux":"^5.0.7","react-syntax-highlighter":"8.0.1","redux":"^4.0.0","redux-persist":"^5.10.0","redux-saga":"^0.16.0","redux-thunk":"^2.2.0","reselect":"^4.0.0","watchpack":"^1.6.0","websocket":"^1.0.26"},"devDependencies":{"@babel/core":"^7.1.2","@babel/plugin-syntax-dynamic-import":"^7.2.0","@babel/preset-env":"^7.1.0","@babel/preset-react":"^7.0.0","@commitlint/cli":"^7.3.2","@commitlint/config-conventional":"^7.3.1","babel-loader":"^8.0.4","babel-plugin-import":"^1.9.1","css-loader":"^0.28.11","husky":"^1.3.1","node-sass":"^4.9.3","nodemon":"^1.18.7","prettier":"^1.14.0","sass-loader":"^7.1.0","style-loader":"^0.21.0","webpack":"^4.20.2","webpack-bundle-analyzer":"^3.0.3","webpack-cli":"^3.1.2","webpack-merge":"^4.1.5"},"nodemonConfig":{"ignore":["src/public/**/*.*"],"delay":"2500"},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}}}; +module.exports = {"name":"codecrumbs","version":"1.0.20","author":"Bohdan Liashenko","license":"BSD-3-Clause","repository":{"type":"git","url":"https://github.com/Bogdan-Lyashenko/codecrumbs.git"},"scripts":{"start":"yarn client-dev & yarn server-dev","server:one":"node src/index.dev.js","server:two":"node src/index.dev.js two","client-dev":"cd src/public && webpack --config webpack.dev.js --progress --colors --watch --env dev","server-dev":"nodemon src/index.dev.js","server-debug":"nodemon --inspect src/index.dev.js","build":"cd src/public && webpack --config webpack.prod.js --progress --colors","start:standalone":"cd src/public/dist/standalone && http-server","pretty":"prettier --write \"./src/public/js/**/*.js\""},"bin":{"codecrumbs":"./cli/index.cli.js"},"dependencies":{"@babel/parser":"^7.1.2","@babel/polyfill":"^7.0.0","@babel/traverse":"^7.1.0","antd":"^3.9.2","classnames":"^2.2.6","colors":"^1.3.2","commander":"^2.19.0","copy-text-to-clipboard":"^1.0.4","d3-flextree":"^2.1.1","directory-tree":"^2.1.0","file-saver":"^2.0.0","http-server":"^0.11.1","js2flowchart":"^1.1.7","lodash":"^4.17.10","lodash.debounce":"^4.0.8","madge":"^3.3.0","portscanner":"^2.2.0","react":"^16.7.0","react-dom":"^16.7.0","react-draggable":"^3.0.5","react-redux":"^5.0.7","react-syntax-highlighter":"8.0.1","redux":"^4.0.0","redux-persist":"^5.10.0","redux-saga":"^0.16.0","redux-thunk":"^2.2.0","reselect":"^4.0.0","watchpack":"^1.6.0","websocket":"^1.0.26"},"devDependencies":{"@babel/core":"^7.1.2","@babel/plugin-syntax-dynamic-import":"^7.2.0","@babel/preset-env":"^7.1.0","@babel/preset-react":"^7.0.0","@commitlint/cli":"^7.3.2","@commitlint/config-conventional":"^7.3.1","babel-loader":"^8.0.4","babel-plugin-import":"^1.9.1","css-loader":"^0.28.11","husky":"^1.3.1","node-sass":"^4.9.3","nodemon":"^1.18.7","prettier":"^1.14.0","sass-loader":"^7.1.0","style-loader":"^0.21.0","webpack":"^4.20.2","webpack-bundle-analyzer":"^3.0.3","webpack-cli":"^3.1.2","webpack-merge":"^4.1.5"},"nodemonConfig":{"ignore":["src/public/**/*.*"],"delay":"2500"},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}}}; /***/ }), @@ -46992,7 +46992,7 @@ var App = function App() { fallback: null }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(SideBar, null))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("footer", { className: "footer" - }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", null, "v".concat("1.0.19")), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", null, "\u24B8 Bohdan Liashenko", ' • ', react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", null, "v".concat("1.0.20")), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", null, "\u24B8 Bohdan Liashenko", ' • ', react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { href: "https://github.com/Bogdan-Lyashenko/codecrumbs" }, "Github"), ' • ', react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { href: "https://codecrumbs.io/" diff --git a/src/server/code-parse/language/javascript/dependencies.js b/src/server/code-parse/language/javascript/dependencies.js index 7ec0318..84b30d5 100644 --- a/src/server/code-parse/language/javascript/dependencies.js +++ b/src/server/code-parse/language/javascript/dependencies.js @@ -41,21 +41,24 @@ const getImports = (fileCode, itemPath) => { const getDependencies = (entryPoint, projectDir, webpackConfigPath) => { const rootPath = path.resolve(); + const separator = path.sep; return madge(entryPoint, { webpackConfig: webpackConfigPath, baseDir: projectDir, // TODO: this filter will be extended based on how much dependencies is needed - dependencyFilter: (depPath, sourcePath) => sourcePath === `${rootPath}/${entryPoint}` + dependencyFilter: (depPath, sourcePath) => sourcePath === `${rootPath}${separator}${entryPoint}` }) .then(res => res.obj()) .then(obj => Object.entries(obj).reduce((tree, [key, value]) => { - const moduleName = `${projectDir}/${key}`; + const moduleName = `${projectDir}${separator}${key.replace(/\//g, separator)}`; tree[moduleName] = { moduleName, - importedModuleNames: value.map(v => `${projectDir}/${v}`) + importedModuleNames: value.map( + v => `${projectDir}${separator}${v.replace(/\//g, separator)}` + ) }; return tree; diff --git a/src/server/project-source/index.js b/src/server/project-source/index.js index fc5b5e5..0008199 100644 --- a/src/server/project-source/index.js +++ b/src/server/project-source/index.js @@ -11,7 +11,13 @@ const { const { search: traversalSearch } = require('../utils/traversal'); -const parseProjectSourceFiles = ({ filesMap, projectDir, entryPoint, webpackConfigPath, language }) => +const parseProjectSourceFiles = ({ + filesMap, + projectDir, + entryPoint, + webpackConfigPath, + language +}) => Promise.all( Object.keys(filesMap).map(itemPath => codeParser @@ -79,7 +85,6 @@ const subscribeOnChange = ( }); }); - // TODO: path can be multiple if not save after fist change, fix const watcher = createWatcher(projectDir, path => { const file = fs.filesMap[path]; if (!file) {