From 5e3c52cec5910080ecd880b13c743c1dbb8aac7e Mon Sep 17 00:00:00 2001 From: Chris Trevino Date: Fri, 21 Jun 2019 13:07:08 -0700 Subject: [PATCH] build: move CJS package creation scripts to top-level scripts/ folder --- .gitignore | 3 -- package.json | 4 +- ...S_ARE_AUTOGENERATED_DO_NOT_EDIT_BY_HAND.md | 1 + .../cjs/dnd-core/package.json | 25 ++++++++++++ .../cjs/dnd-core/tsconfig.json | 30 +++++++++++++++ .../cjs/html5-backend/package.json | 26 +++++++++++++ .../cjs/html5-backend/tsconfig.json | 30 +++++++++++++++ .../cjs/react-dnd/package.json | 38 +++++++++++++++++++ .../cjs/react-dnd/tsconfig.json | 30 +++++++++++++++ .../cjs/test-backend/package.json | 21 ++++++++++ .../cjs/test-backend/tsconfig.json | 30 +++++++++++++++ .../cjs/test-utils/package.json | 27 +++++++++++++ .../cjs/test-utils/tsconfig.json | 30 +++++++++++++++ packages/alternative_builds/cjs/tsconfig.json | 8 ---- .../cjs => scripts}/create_cjs_modules.js | 13 +++++-- .../cjs => scripts}/esm-libs.js | 0 .../execute_cjs_replacements.js | 5 ++- 17 files changed, 302 insertions(+), 19 deletions(-) create mode 100644 packages/alternative_builds/cjs/THESE_PACKAGES_ARE_AUTOGENERATED_DO_NOT_EDIT_BY_HAND.md create mode 100644 packages/alternative_builds/cjs/dnd-core/package.json create mode 100644 packages/alternative_builds/cjs/dnd-core/tsconfig.json create mode 100644 packages/alternative_builds/cjs/html5-backend/package.json create mode 100644 packages/alternative_builds/cjs/html5-backend/tsconfig.json create mode 100644 packages/alternative_builds/cjs/react-dnd/package.json create mode 100644 packages/alternative_builds/cjs/react-dnd/tsconfig.json create mode 100644 packages/alternative_builds/cjs/test-backend/package.json create mode 100644 packages/alternative_builds/cjs/test-backend/tsconfig.json create mode 100644 packages/alternative_builds/cjs/test-utils/package.json create mode 100644 packages/alternative_builds/cjs/test-utils/tsconfig.json delete mode 100644 packages/alternative_builds/cjs/tsconfig.json rename {packages/alternative_builds/cjs => scripts}/create_cjs_modules.js (88%) rename {packages/alternative_builds/cjs => scripts}/esm-libs.js (100%) rename packages/alternative_builds/cjs/execute_replacements.js => scripts/execute_cjs_replacements.js (86%) diff --git a/.gitignore b/.gitignore index 2d0c070b7e..a4eecd184d 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,3 @@ __site_prerender__ coverage test-results.xml *-*.log -packages/alternative_builds/cjs/ -!packages/alternative_builds/cjs/*.js -!packages/alternative_builds/cjs/*.json \ No newline at end of file diff --git a/package.json b/package.json index 09220b3e11..fc9dc359b1 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "scripts": { "clean": "lerna run clean", "build:packages": "lerna run build --stream", - "build:cjs": "node packages/alternative_builds/cjs/execute_replacements.js", + "build:cjs": "node scripts/execute_cjs_replacements.js", "build": "run-s build:packages build:cjs", "unit_test": "jest", "jest:watch": "jest --watch", @@ -47,7 +47,7 @@ "prettify": "prettier 'packages/*/**/*.js' 'examples/**/*.js' 'site/**/*.js'", "precommit": "lint-staged", "prepublishOnly": "npm test", - "preinstall": "node packages/alternative_builds/cjs/create_cjs_modules.js", + "preinstall": "node scripts/create_cjs_modules.js", "start": "lerna run --parallel --stream start", "start_docs": "lerna run --stream start --scope react-dnd-documentation", "watch": "lerna run --parallel --stream watch" diff --git a/packages/alternative_builds/cjs/THESE_PACKAGES_ARE_AUTOGENERATED_DO_NOT_EDIT_BY_HAND.md b/packages/alternative_builds/cjs/THESE_PACKAGES_ARE_AUTOGENERATED_DO_NOT_EDIT_BY_HAND.md new file mode 100644 index 0000000000..ce8f5491bf --- /dev/null +++ b/packages/alternative_builds/cjs/THESE_PACKAGES_ARE_AUTOGENERATED_DO_NOT_EDIT_BY_HAND.md @@ -0,0 +1 @@ +The CJS Packages here are dynamically generated. Manula edits to them will be destroyed. diff --git a/packages/alternative_builds/cjs/dnd-core/package.json b/packages/alternative_builds/cjs/dnd-core/package.json new file mode 100644 index 0000000000..9b1c976a51 --- /dev/null +++ b/packages/alternative_builds/cjs/dnd-core/package.json @@ -0,0 +1,25 @@ +{ + "name": "dnd-core-cjs", + "version": "8.0.3", + "license": "MIT", + "description": "Drag and drop sans the GUI", + "main": "./lib/index.js", + "scripts": { + "build": "tsc", + "clean": "rimraf lib" + }, + "dependencies": { + "@types/asap": "^2.0.0", + "@types/invariant": "^2.2.29", + "asap": "^2.0.6", + "invariant": "^2.2.4", + "redux": "^4.0.1" + }, + "devDependencies": { + "npm-run-all": "^4.1.5", + "rimraf": "^2.6.3", + "typescript": "^3.5.2", + "dnd-core": "8.0.3" + }, + "peerDependencies": {} +} \ No newline at end of file diff --git a/packages/alternative_builds/cjs/dnd-core/tsconfig.json b/packages/alternative_builds/cjs/dnd-core/tsconfig.json new file mode 100644 index 0000000000..2d8af44590 --- /dev/null +++ b/packages/alternative_builds/cjs/dnd-core/tsconfig.json @@ -0,0 +1,30 @@ +{ + "extends": "../../../../../tsconfig.base.json", + "compilerOptions": { + "target": "es5", + "module": "commonjs", + "outDir": "lib", + "esModuleInterop": true, + "baseUrl": "/Users/christrevino/Workspace/oss/react-dnd/packages/core/dnd-core/", + "paths": { + "dnd-core": [ + "../../core/dnd-core/lib/index.d.ts" + ], + "react-dnd": [ + "../../core/react-dnd/lib/index.d.ts" + ], + "react-dnd-html5-backend": [ + "../../core/html5-backend/lib/index.d.ts" + ], + "react-dnd-test-backend": [ + "../../testing/test-backend/lib/index.d.ts" + ], + "react-dnd-test-utils": [ + "../../testing/test-utils/lib/index.d.ts" + ] + } + }, + "files": [ + "/Users/christrevino/Workspace/oss/react-dnd/packages/core/dnd-core/src/index.ts" + ] +} \ No newline at end of file diff --git a/packages/alternative_builds/cjs/html5-backend/package.json b/packages/alternative_builds/cjs/html5-backend/package.json new file mode 100644 index 0000000000..95eb6007d5 --- /dev/null +++ b/packages/alternative_builds/cjs/html5-backend/package.json @@ -0,0 +1,26 @@ +{ + "name": "react-dnd-html5-backend-cjs", + "version": "8.0.3", + "license": "MIT", + "description": "HTML5 backend for React DnD", + "main": "lib/index.js", + "scripts": { + "build": "tsc", + "clean": "rimraf lib" + }, + "dependencies": { + "dnd-core-cjs": "^8.0.3" + }, + "devDependencies": { + "@types/react": "^16.8.19", + "npm-run-all": "^4.1.5", + "react": "^16.8.6", + "react-dnd-test-backend": "^8.0.3", + "react-dom": "^16.8.6", + "rimraf": "^2.6.3", + "ts-loader": "^6.0.2", + "typescript": "^3.5.2", + "react-dnd-html5-backend": "8.0.3" + }, + "peerDependencies": {} +} \ No newline at end of file diff --git a/packages/alternative_builds/cjs/html5-backend/tsconfig.json b/packages/alternative_builds/cjs/html5-backend/tsconfig.json new file mode 100644 index 0000000000..2dfcf5489b --- /dev/null +++ b/packages/alternative_builds/cjs/html5-backend/tsconfig.json @@ -0,0 +1,30 @@ +{ + "extends": "../../../../../tsconfig.base.json", + "compilerOptions": { + "target": "es5", + "module": "commonjs", + "outDir": "lib", + "esModuleInterop": true, + "baseUrl": "/Users/christrevino/Workspace/oss/react-dnd/packages/core/html5-backend/", + "paths": { + "dnd-core": [ + "../../core/dnd-core/lib/index.d.ts" + ], + "react-dnd": [ + "../../core/react-dnd/lib/index.d.ts" + ], + "react-dnd-html5-backend": [ + "../../core/html5-backend/lib/index.d.ts" + ], + "react-dnd-test-backend": [ + "../../testing/test-backend/lib/index.d.ts" + ], + "react-dnd-test-utils": [ + "../../testing/test-utils/lib/index.d.ts" + ] + } + }, + "files": [ + "/Users/christrevino/Workspace/oss/react-dnd/packages/core/html5-backend/src/index.ts" + ] +} \ No newline at end of file diff --git a/packages/alternative_builds/cjs/react-dnd/package.json b/packages/alternative_builds/cjs/react-dnd/package.json new file mode 100644 index 0000000000..ddf7d91420 --- /dev/null +++ b/packages/alternative_builds/cjs/react-dnd/package.json @@ -0,0 +1,38 @@ +{ + "name": "react-dnd-cjs", + "version": "8.0.3", + "license": "MIT", + "description": "Drag and Drop for React", + "main": "lib/index.js", + "scripts": { + "build": "tsc", + "clean": "rimraf lib" + }, + "dependencies": { + "@types/hoist-non-react-statics": "^3.3.1", + "@types/shallowequal": "^1.1.1", + "hoist-non-react-statics": "^3.3.0", + "shallowequal": "^1.1.0", + "dnd-core-cjs": "^8.0.3" + }, + "devDependencies": { + "@babel/cli": "^7.4.4", + "@babel/core": "^7.4.5", + "@babel/preset-env": "^7.4.5", + "@types/react": "^16.8.19", + "@types/react-dom": "^16.8.4", + "babel-jest": "^24.8.0", + "babel-loader": "^8.0.6", + "npm-run-all": "^4.1.5", + "react": "^16.8.6", + "react-dom": "^16.8.6", + "rimraf": "^2.6.3", + "ts-loader": "^6.0.2", + "typescript": "^3.5.2", + "react-dnd": "8.0.3" + }, + "peerDependencies": { + "react": ">= 16.8", + "react-dom": ">= 16.8" + } +} \ No newline at end of file diff --git a/packages/alternative_builds/cjs/react-dnd/tsconfig.json b/packages/alternative_builds/cjs/react-dnd/tsconfig.json new file mode 100644 index 0000000000..c5df91bca9 --- /dev/null +++ b/packages/alternative_builds/cjs/react-dnd/tsconfig.json @@ -0,0 +1,30 @@ +{ + "extends": "../../../../../tsconfig.base.json", + "compilerOptions": { + "target": "es5", + "module": "commonjs", + "outDir": "lib", + "esModuleInterop": true, + "baseUrl": "/Users/christrevino/Workspace/oss/react-dnd/packages/core/react-dnd/", + "paths": { + "dnd-core": [ + "../../core/dnd-core/lib/index.d.ts" + ], + "react-dnd": [ + "../../core/react-dnd/lib/index.d.ts" + ], + "react-dnd-html5-backend": [ + "../../core/html5-backend/lib/index.d.ts" + ], + "react-dnd-test-backend": [ + "../../testing/test-backend/lib/index.d.ts" + ], + "react-dnd-test-utils": [ + "../../testing/test-utils/lib/index.d.ts" + ] + } + }, + "files": [ + "/Users/christrevino/Workspace/oss/react-dnd/packages/core/react-dnd/src/index.ts" + ] +} \ No newline at end of file diff --git a/packages/alternative_builds/cjs/test-backend/package.json b/packages/alternative_builds/cjs/test-backend/package.json new file mode 100644 index 0000000000..03f1bce301 --- /dev/null +++ b/packages/alternative_builds/cjs/test-backend/package.json @@ -0,0 +1,21 @@ +{ + "name": "react-dnd-test-backend-cjs", + "version": "8.0.3", + "license": "MIT", + "description": "A mock backend for testing React DnD apps", + "main": "lib/index.js", + "scripts": { + "build": "tsc", + "clean": "rimraf lib" + }, + "dependencies": { + "dnd-core-cjs": "^8.0.3" + }, + "devDependencies": { + "npm-run-all": "^4.1.5", + "rimraf": "^2.6.3", + "typescript": "^3.5.2", + "react-dnd-test-backend": "8.0.3" + }, + "peerDependencies": {} +} \ No newline at end of file diff --git a/packages/alternative_builds/cjs/test-backend/tsconfig.json b/packages/alternative_builds/cjs/test-backend/tsconfig.json new file mode 100644 index 0000000000..c3a4349714 --- /dev/null +++ b/packages/alternative_builds/cjs/test-backend/tsconfig.json @@ -0,0 +1,30 @@ +{ + "extends": "../../../../../tsconfig.base.json", + "compilerOptions": { + "target": "es5", + "module": "commonjs", + "outDir": "lib", + "esModuleInterop": true, + "baseUrl": "/Users/christrevino/Workspace/oss/react-dnd/packages/testing/test-backend/", + "paths": { + "dnd-core": [ + "../../core/dnd-core/lib/index.d.ts" + ], + "react-dnd": [ + "../../core/react-dnd/lib/index.d.ts" + ], + "react-dnd-html5-backend": [ + "../../core/html5-backend/lib/index.d.ts" + ], + "react-dnd-test-backend": [ + "../../testing/test-backend/lib/index.d.ts" + ], + "react-dnd-test-utils": [ + "../../testing/test-utils/lib/index.d.ts" + ] + } + }, + "files": [ + "/Users/christrevino/Workspace/oss/react-dnd/packages/testing/test-backend/src/index.ts" + ] +} \ No newline at end of file diff --git a/packages/alternative_builds/cjs/test-utils/package.json b/packages/alternative_builds/cjs/test-utils/package.json new file mode 100644 index 0000000000..b041998ad3 --- /dev/null +++ b/packages/alternative_builds/cjs/test-utils/package.json @@ -0,0 +1,27 @@ +{ + "name": "react-dnd-test-utils-cjs", + "version": "8.0.3", + "license": "MIT", + "main": "lib/index.js", + "scripts": { + "build": "tsc", + "clean": "rimraf lib" + }, + "dependencies": {}, + "devDependencies": { + "npm-run-all": "^4.1.5", + "react": "^16.8.6", + "react-dnd": "^8.0.3", + "react-dnd-test-backend": "^8.0.3", + "react-dom": "^16.8.6", + "rimraf": "^2.6.3", + "typescript": "^3.5.2", + "react-dnd-test-utils": "8.0.3" + }, + "peerDependencies": { + "react": ">= 16.8.5", + "react-dom": ">= 16.8.5", + "react-dnd-cjs": "^7.3.2", + "react-dnd-test-backend-cjs": "^7.2.0" + } +} \ No newline at end of file diff --git a/packages/alternative_builds/cjs/test-utils/tsconfig.json b/packages/alternative_builds/cjs/test-utils/tsconfig.json new file mode 100644 index 0000000000..cbadeef618 --- /dev/null +++ b/packages/alternative_builds/cjs/test-utils/tsconfig.json @@ -0,0 +1,30 @@ +{ + "extends": "../../../../../tsconfig.base.json", + "compilerOptions": { + "target": "es5", + "module": "commonjs", + "outDir": "lib", + "esModuleInterop": true, + "baseUrl": "/Users/christrevino/Workspace/oss/react-dnd/packages/testing/test-utils/", + "paths": { + "dnd-core": [ + "../../core/dnd-core/lib/index.d.ts" + ], + "react-dnd": [ + "../../core/react-dnd/lib/index.d.ts" + ], + "react-dnd-html5-backend": [ + "../../core/html5-backend/lib/index.d.ts" + ], + "react-dnd-test-backend": [ + "../../testing/test-backend/lib/index.d.ts" + ], + "react-dnd-test-utils": [ + "../../testing/test-utils/lib/index.d.ts" + ] + } + }, + "files": [ + "/Users/christrevino/Workspace/oss/react-dnd/packages/testing/test-utils/src/index.ts" + ] +} \ No newline at end of file diff --git a/packages/alternative_builds/cjs/tsconfig.json b/packages/alternative_builds/cjs/tsconfig.json deleted file mode 100644 index e934f0209a..0000000000 --- a/packages/alternative_builds/cjs/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../../../tsconfig.base.json", - "compilerOptions": { - "target": "es5", - "module": "commonjs", - "esModuleInterop": true - } -} diff --git a/packages/alternative_builds/cjs/create_cjs_modules.js b/scripts/create_cjs_modules.js similarity index 88% rename from packages/alternative_builds/cjs/create_cjs_modules.js rename to scripts/create_cjs_modules.js index b53ce25481..06680eaf8b 100644 --- a/packages/alternative_builds/cjs/create_cjs_modules.js +++ b/scripts/create_cjs_modules.js @@ -19,14 +19,16 @@ function deleteFolderRecursive(filePath) { } } +const cjsRoot = path.join(__dirname, '../packages/alternative_builds/cjs') + const coreRoots = [ - path.join(__dirname, '../../core'), - path.join(__dirname, '../../testing'), + path.join(__dirname, '../packages/core'), + path.join(__dirname, '../packages/testing'), ] coreRoots.forEach(coreRoot => { const corePackages = fs.readdirSync(coreRoot) corePackages.forEach(corePackage => { - const cjsPackageRoot = path.join(__dirname, corePackage) + const cjsPackageRoot = path.join(cjsRoot, corePackage) if (fs.existsSync(cjsPackageRoot)) { deleteFolderRecursive(cjsPackageRoot) } @@ -82,9 +84,12 @@ coreRoots.forEach(coreRoot => { ) const tsConfigJson = { - extends: '../tsconfig.json', + extends: '../../../../../tsconfig.base.json', compilerOptions: { + target: 'es5', + module: 'commonjs', outDir: 'lib', + esModuleInterop: true, baseUrl: `${coreRoot}/${corePackage}/`, paths: { 'dnd-core': ['../../core/dnd-core/lib/index.d.ts'], diff --git a/packages/alternative_builds/cjs/esm-libs.js b/scripts/esm-libs.js similarity index 100% rename from packages/alternative_builds/cjs/esm-libs.js rename to scripts/esm-libs.js diff --git a/packages/alternative_builds/cjs/execute_replacements.js b/scripts/execute_cjs_replacements.js similarity index 86% rename from packages/alternative_builds/cjs/execute_replacements.js rename to scripts/execute_cjs_replacements.js index cf76b6ece7..2fd7ec7188 100644 --- a/packages/alternative_builds/cjs/execute_replacements.js +++ b/scripts/execute_cjs_replacements.js @@ -3,10 +3,11 @@ const fs = require('fs') const path = require('path') const replace = require('replace-in-file') const esmLibs = require('./esm-libs') +const cjsRoot = path.join(__dirname, '../packages/alternative_builds/cjs') -const files = fs.readdirSync(__dirname) +const files = fs.readdirSync(cjsRoot) files.forEach(file => { - const subdir = path.join(__dirname, file) + const subdir = path.join(cjsRoot, file) if (fs.lstatSync(subdir).isDirectory()) { console.log(`process module requires in ${subdir}`) const jsReplaceSpec = {