From fad66b0febc4b18b334f2179fc49bf86886ed7ad Mon Sep 17 00:00:00 2001 From: Misha Kaletsky Date: Thu, 30 Sep 2021 08:51:28 -0400 Subject: [PATCH 1/3] feat(proxy-server): use `tsc` to build dist folder --- packages/netlify-cms-lib-util/package.json | 4 ++ .../netlify-cms-proxy-server/package.json | 11 ++-- .../netlify-cms-proxy-server/src/global.d.ts | 4 -- .../src/middlewares/localGit/index.ts | 2 +- .../netlify-cms-proxy-server/tsconfig.json | 3 +- .../webpack.config.js | 39 -------------- yarn.lock | 53 ++++--------------- 7 files changed, 21 insertions(+), 95 deletions(-) delete mode 100644 packages/netlify-cms-proxy-server/src/global.d.ts delete mode 100644 packages/netlify-cms-proxy-server/webpack.config.js diff --git a/packages/netlify-cms-lib-util/package.json b/packages/netlify-cms-lib-util/package.json index 8436a47f5765..bc8d9b550b63 100644 --- a/packages/netlify-cms-lib-util/package.json +++ b/packages/netlify-cms-lib-util/package.json @@ -6,6 +6,7 @@ "bugs": "https://github.com/netlify/netlify-cms/issues", "module": "dist/esm/index.js", "main": "dist/netlify-cms-lib-util.js", + "types": "src/index.ts", "license": "MIT", "keywords": [ "netlify-cms" @@ -24,5 +25,8 @@ "peerDependencies": { "immutable": "^3.7.6", "lodash": "^4.17.11" + }, + "devDependencies": { + "@types/semaphore": "^1.1.1" } } diff --git a/packages/netlify-cms-proxy-server/package.json b/packages/netlify-cms-proxy-server/package.json index 53528e64521d..fa47dd28a300 100644 --- a/packages/netlify-cms-proxy-server/package.json +++ b/packages/netlify-cms-proxy-server/package.json @@ -6,6 +6,7 @@ "bugs": "https://github.com/netlify/netlify-cms/issues", "license": "MIT", "main": "dist/index", + "types": "dist/index.d.ts", "keywords": [ "netlify", "netlify-cms", @@ -13,7 +14,7 @@ ], "sideEffects": false, "scripts": { - "build": "webpack", + "build": "tsc", "prestart": "yarn build", "start": "node dist/index.js", "develop": "nodemon --watch 'src/**/*.ts' --ignore 'src/**/*.spec.ts' --exec 'ts-node' --files src/index.ts", @@ -29,6 +30,7 @@ "express": "^4.17.1", "morgan": "^1.9.1", "simple-git": "^3.0.0", + "netlify-cms-lib-util": "^2.13.3", "what-the-diff": "^0.6.0", "winston": "^3.3.3" }, @@ -41,14 +43,9 @@ "@types/node": "^16.0.0", "@types/vfile-message": "^2.0.0", "jest": "^27.0.0", - "netlify-cms-lib-util": "^2.15.1", "nodemon": "^2.0.2", "ts-jest": "^27.0.0", - "ts-loader": "^8.0.0", - "ts-node": "^10.0.0", - "tsconfig-paths-webpack-plugin": "^3.2.0", - "webpack": "^4.41.5", - "webpack-node-externals": "^3.0.0" + "ts-node": "^10.0.0" }, "engines": { "node": ">=v10.22.1" diff --git a/packages/netlify-cms-proxy-server/src/global.d.ts b/packages/netlify-cms-proxy-server/src/global.d.ts deleted file mode 100644 index 23843f263523..000000000000 --- a/packages/netlify-cms-proxy-server/src/global.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -type LocalForage = { - getItem: (key: string) => Promise; - setItem: (key: string, value: T) => Promise; -}; diff --git a/packages/netlify-cms-proxy-server/src/middlewares/localGit/index.ts b/packages/netlify-cms-proxy-server/src/middlewares/localGit/index.ts index a6c7a1b3ec9d..454d5094943e 100644 --- a/packages/netlify-cms-proxy-server/src/middlewares/localGit/index.ts +++ b/packages/netlify-cms-proxy-server/src/middlewares/localGit/index.ts @@ -8,7 +8,7 @@ import { statusToLabel, labelToStatus, parseContentKey, -} from 'netlify-cms-lib-util/src/APIUtils'; +} from 'netlify-cms-lib-util'; import { parse } from 'what-the-diff'; import simpleGit from 'simple-git'; import { Mutex, withTimeout } from 'async-mutex'; diff --git a/packages/netlify-cms-proxy-server/tsconfig.json b/packages/netlify-cms-proxy-server/tsconfig.json index a847f832cafa..6c7f0826f1d3 100644 --- a/packages/netlify-cms-proxy-server/tsconfig.json +++ b/packages/netlify-cms-proxy-server/tsconfig.json @@ -12,7 +12,8 @@ "noImplicitAny": true, "noUnusedLocals": true, "noUnusedParameters": true, - "sourceMap": true + "sourceMap": true, + "declaration": true }, "include": ["src/**/*"], "exclude": ["src/**/*spec.ts"] diff --git a/packages/netlify-cms-proxy-server/webpack.config.js b/packages/netlify-cms-proxy-server/webpack.config.js deleted file mode 100644 index 28914a49f857..000000000000 --- a/packages/netlify-cms-proxy-server/webpack.config.js +++ /dev/null @@ -1,39 +0,0 @@ -const path = require('path'); -const webpack = require('webpack'); -const nodeExternals = require('webpack-node-externals'); -const TsconfigPathsPlugin = require('tsconfig-paths-webpack-plugin'); -const { NODE_ENV = 'production' } = process.env; - -const allowlist = [/^netlify-cms-lib-util/]; - -module.exports = { - entry: { index: path.join('src', 'index.ts'), middlewares: path.join('src', 'middlewares.ts') }, - mode: NODE_ENV, - target: 'node', - devtool: 'source-map', - output: { - path: path.resolve(__dirname, 'dist'), - filename: '[name].js', - libraryTarget: 'commonjs2', - }, - resolve: { - plugins: [new TsconfigPathsPlugin()], - extensions: ['.ts', '.js'], - }, - module: { - rules: [ - { - test: /\.ts$/, - use: ['ts-loader'], - }, - ], - }, - externals: [ - nodeExternals({ allowlist }), - nodeExternals({ - allowlist, - modulesDir: path.resolve(__dirname, path.join('..', '..', 'node_modules')), - }), - ], - plugins: [new webpack.BannerPlugin({ banner: '#!/usr/bin/env node', raw: true })], -}; diff --git a/yarn.lock b/yarn.lock index a4bda6a84628..656f9c44f866 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3729,6 +3729,11 @@ resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== +"@types/semaphore@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@types/semaphore/-/semaphore-1.1.1.tgz#035baeec703fe8cf9f56a2b7af22bdda4f22d6ea" + integrity sha512-jmFpMslMtBGOXY2s7x6O8vBebcj6zhkwl0Pd/viZApo1uZaPk733P8doPvaiBbCG+R7201OLOl4QP7l1mFyuyw== + "@types/serve-static@*": version "1.13.10" resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.10.tgz#f5e0ce8797d2d7cc5ebeda48a52c96c4fa47a8d9" @@ -7846,7 +7851,7 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enhanced-resolve@^4.0.0, enhanced-resolve@^4.5.0: +enhanced-resolve@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== @@ -7855,14 +7860,6 @@ enhanced-resolve@^4.0.0, enhanced-resolve@^4.5.0: memory-fs "^0.5.0" tapable "^1.0.0" -enhanced-resolve@^5.7.0: - version "5.9.3" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz#44a342c012cbc473254af5cc6ae20ebd0aae5d88" - integrity sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - enquirer@^2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" @@ -9496,7 +9493,7 @@ gotrue-js@^0.9.24: dependencies: micro-api-client "^3.2.1" -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.3, graceful-fs@^4.2.4, graceful-fs@^4.2.9: +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.3, graceful-fs@^4.2.9: version "4.2.10" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== @@ -12676,7 +12673,7 @@ micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" -micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4: +micromatch@^4.0.2, micromatch@^4.0.4: version "4.0.5" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== @@ -17509,11 +17506,6 @@ tapable@^1.0.0, tapable@^1.1.3: resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== -tapable@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== - tar@^4.4.12: version "4.4.19" resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" @@ -17932,17 +17924,6 @@ ts-jest@^27.0.0: semver "7.x" yargs-parser "20.x" -ts-loader@^8.0.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.3.0.tgz#83360496d6f8004fab35825279132c93412edf33" - integrity sha512-MgGly4I6cStsJy27ViE32UoqxPTN9Xly4anxxVyaIWR+9BGxboV4EyJBGfR3RePV7Ksjj3rHmPZJeIt+7o4Vag== - dependencies: - chalk "^4.1.0" - enhanced-resolve "^4.0.0" - loader-utils "^2.0.0" - micromatch "^4.0.0" - semver "^7.3.4" - ts-node@^10.0.0, ts-node@^10.7.0: version "10.7.0" resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.7.0.tgz#35d503d0fab3e2baa672a0e94f4b40653c2463f5" @@ -17967,16 +17948,7 @@ ts-pnp@^1.1.2: resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== -tsconfig-paths-webpack-plugin@^3.2.0: - version "3.5.2" - resolved "https://registry.yarnpkg.com/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-3.5.2.tgz#01aafff59130c04a8c4ebc96a3045c43c376449a" - integrity sha512-EhnfjHbzm5IYI9YPNVIxx1moxMI4bpHD2e0zTXeDNQcwjjRaGepP7IhTHJkyDBG0CAOoxRfe7jCG630Ou+C6Pw== - dependencies: - chalk "^4.1.0" - enhanced-resolve "^5.7.0" - tsconfig-paths "^3.9.0" - -tsconfig-paths@^3.14.1, tsconfig-paths@^3.9.0: +tsconfig-paths@^3.14.1: version "3.14.1" resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ== @@ -18916,11 +18888,6 @@ webpack-merge@^5.7.3: clone-deep "^4.0.1" wildcard "^2.0.0" -webpack-node-externals@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz#1a3407c158d547a9feb4229a9e3385b7b60c9917" - integrity sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ== - webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: version "1.4.3" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" @@ -18936,7 +18903,7 @@ webpack-virtual-modules@^0.2.0: dependencies: debug "^3.0.0" -webpack@^4.29.6, webpack@^4.33.0, webpack@^4.38.0, webpack@^4.41.5: +webpack@^4.29.6, webpack@^4.33.0, webpack@^4.38.0: version "4.46.0" resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.46.0.tgz#bf9b4404ea20a073605e0a011d188d77cb6ad542" integrity sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q== From 070561e23d233ec8a6ac79388ddf272e5f0415a5 Mon Sep 17 00:00:00 2001 From: erezrokah Date: Thu, 14 Apr 2022 15:03:58 +0300 Subject: [PATCH 2/3] chore: enforce 1 version of react types --- package.json | 3 ++- yarn.lock | 11 +---------- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 3b8e9409c8c0..312dcd1fd884 100644 --- a/package.json +++ b/package.json @@ -191,6 +191,7 @@ "lerna": "^4.0.0" }, "resolutions": { - "react-redux": "^7.2.0" + "react-redux": "^7.2.0", + "@types/react": "^18.0.5" } } diff --git a/yarn.lock b/yarn.lock index 656f9c44f866..f2dda6c7a035 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3699,7 +3699,7 @@ dependencies: "@types/react" "*" -"@types/react@*": +"@types/react@*", "@types/react@^17", "@types/react@^18.0.5": version "18.0.5" resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.5.tgz#1a4d4b705ae6af5aed369dec22800b20f89f5301" integrity sha512-UPxNGInDCIKlfqBrm8LDXYWNfLHwIdisWcsH5GpMyGjhEDLFgTtlRBaoWuCua9HcyuE0rMkmAeZ3FXV1pYLIYQ== @@ -3708,15 +3708,6 @@ "@types/scheduler" "*" csstype "^3.0.2" -"@types/react@^17": - version "17.0.44" - resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.44.tgz#c3714bd34dd551ab20b8015d9d0dbec812a51ec7" - integrity sha512-Ye0nlw09GeMp2Suh8qoOv0odfgCoowfM/9MG6WeRD60Gq9wS90bdkdRtYbRkNhXOpG4H+YXGvj4wOWhAC0LJ1g== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - "@types/redux-mock-store@^1.0.2": version "1.0.3" resolved "https://registry.yarnpkg.com/@types/redux-mock-store/-/redux-mock-store-1.0.3.tgz#895de4a364bc4836661570aec82f2eef5989d1fb" From d210ebf47dd65a6c400694da1d526ca9581b9387 Mon Sep 17 00:00:00 2001 From: erezrokah Date: Thu, 14 Apr 2022 15:37:36 +0300 Subject: [PATCH 3/3] chore: bump lib in package.json --- packages/netlify-cms-proxy-server/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/netlify-cms-proxy-server/package.json b/packages/netlify-cms-proxy-server/package.json index fa47dd28a300..878f43a42250 100644 --- a/packages/netlify-cms-proxy-server/package.json +++ b/packages/netlify-cms-proxy-server/package.json @@ -30,7 +30,7 @@ "express": "^4.17.1", "morgan": "^1.9.1", "simple-git": "^3.0.0", - "netlify-cms-lib-util": "^2.13.3", + "netlify-cms-lib-util": "^2.15.1", "what-the-diff": "^0.6.0", "winston": "^3.3.3" },