From 2a987140930aa38a9ab65ed0adf644301556f2d6 Mon Sep 17 00:00:00 2001 From: Chris Thoburn Date: Thu, 18 Jul 2019 15:28:55 -0700 Subject: [PATCH] [BUGFIX docs] ensure we publish docs (#6257) --- bin/publish.js | 19 +++++++++++++++++++ packages/-ember-data/.npmignore | 1 + packages/adapter/.npmignore | 6 +++++- packages/model/.npmignore | 6 +++++- packages/serializer/.npmignore | 6 +++++- packages/store/.npmignore | 4 ++++ 6 files changed, 39 insertions(+), 3 deletions(-) diff --git a/bin/publish.js b/bin/publish.js index ce390772a28..edc44b17a24 100644 --- a/bin/publish.js +++ b/bin/publish.js @@ -248,6 +248,25 @@ function packAllPackages() { const pkgInfo = require(pkgPath); if (pkgInfo.private !== true) { // will pack into the project root directory + // due to an issue where npm does not run prepublishOnly for pack, we run it here + // however this is also a timing bug, as typically it would be run *after* prepublish + // and prepare and now it is run *before* + // we do not use `prepublish` or `prepare` so this should be fine for now. + // https://docs.npmjs.com/misc/scripts + // https://github.com/npm/npm/issues/15363 + if (pkgInfo.scripts) { + if (pkgInfo.scripts.prepublishOnly) { + if (pkgInfo.scripts.prepublish || pkgInfo.scripts.prepare) { + console.log( + `⚠️ ` + + chalk.grey( + `${pkgInfo.name} has both a 'prepublishOnly' and either 'prepare' or 'publish' scripts. Running prepublishOnly manually before instead of after publish and prepare. See https://github.com/npm/npm/issues/15363` + ) + ); + } + execWithLog(`cd ${pkgDir} && npm run prepublishOnly`); + } + } execWithLog(`npm pack ${pkgDir}`); } }); diff --git a/packages/-ember-data/.npmignore b/packages/-ember-data/.npmignore index 9afb1114b07..f081b33ade6 100644 --- a/packages/-ember-data/.npmignore +++ b/packages/-ember-data/.npmignore @@ -1,5 +1,6 @@ # compiled output /dist/ +/dist/**/* /tmp/ /types/ **/*.d.ts diff --git a/packages/adapter/.npmignore b/packages/adapter/.npmignore index 6b125fa0633..e4bce62a5ec 100644 --- a/packages/adapter/.npmignore +++ b/packages/adapter/.npmignore @@ -1,5 +1,6 @@ # compiled output /dist/ +/dist/**/* /tmp/ /types/ **/*.d.ts @@ -33,4 +34,7 @@ /package.json.ember-try # ember-data -/node-tests \ No newline at end of file +/node-tests + +# whitelist yuidoc's data.json for api docs generation +!/dist/docs/data.json \ No newline at end of file diff --git a/packages/model/.npmignore b/packages/model/.npmignore index 6b125fa0633..e4bce62a5ec 100644 --- a/packages/model/.npmignore +++ b/packages/model/.npmignore @@ -1,5 +1,6 @@ # compiled output /dist/ +/dist/**/* /tmp/ /types/ **/*.d.ts @@ -33,4 +34,7 @@ /package.json.ember-try # ember-data -/node-tests \ No newline at end of file +/node-tests + +# whitelist yuidoc's data.json for api docs generation +!/dist/docs/data.json \ No newline at end of file diff --git a/packages/serializer/.npmignore b/packages/serializer/.npmignore index 6b125fa0633..e4bce62a5ec 100644 --- a/packages/serializer/.npmignore +++ b/packages/serializer/.npmignore @@ -1,5 +1,6 @@ # compiled output /dist/ +/dist/**/* /tmp/ /types/ **/*.d.ts @@ -33,4 +34,7 @@ /package.json.ember-try # ember-data -/node-tests \ No newline at end of file +/node-tests + +# whitelist yuidoc's data.json for api docs generation +!/dist/docs/data.json \ No newline at end of file diff --git a/packages/store/.npmignore b/packages/store/.npmignore index 98baba5a774..fa012abdcb4 100644 --- a/packages/store/.npmignore +++ b/packages/store/.npmignore @@ -1,5 +1,6 @@ # compiled output /dist/ +/dist/**/* /tmp/ /types/ **/*.d.ts @@ -31,3 +32,6 @@ /.node_modules.ember-try/ /bower.json.ember-try /package.json.ember-try + +# whitelist yuidoc's data.json for api docs generation +!/dist/docs/data.json \ No newline at end of file