From 9f78cf04c27cbca0671d64513bb80d2a873ca8d0 Mon Sep 17 00:00:00 2001 From: joshwooding <12938082+joshwooding@users.noreply.github.com> Date: Sat, 20 Aug 2022 13:56:31 +0100 Subject: [PATCH 1/3] Fix prefixed logger debug being logged incorrectly --- packages/modular-scripts/src/utils/getPrefixedLogger.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/modular-scripts/src/utils/getPrefixedLogger.ts b/packages/modular-scripts/src/utils/getPrefixedLogger.ts index be57148cf..ad7c42e82 100644 --- a/packages/modular-scripts/src/utils/getPrefixedLogger.ts +++ b/packages/modular-scripts/src/utils/getPrefixedLogger.ts @@ -11,7 +11,7 @@ function _getPrefixedLogger(target: string): Logger { logger.clear(); }, debug: (...args: Parameters) => { - logger.log(prefix, ...args); + logger.debug(prefix, ...args); }, log: (...args: Parameters) => { return logger.log(prefix, ...args); From 4e9aa65f3ef6616dd1fa931b4dbb8318106eee7d Mon Sep 17 00:00:00 2001 From: joshwooding <12938082+joshwooding@users.noreply.github.com> Date: Sat, 20 Aug 2022 14:06:38 +0100 Subject: [PATCH 2/3] Copy LICENSE files when building packages --- .changeset/slow-buckets-wash.md | 6 ++++ .../src/__tests__/build.test.ts | 3 ++ .../src/__tests__/index.test.ts | 6 ++++ .../src/build/buildPackage/index.ts | 3 ++ .../src/build/buildPackage/makeBundle.ts | 1 + .../buildPackage/maybeCopyRootLicense.ts | 35 +++++++++++++++++++ 6 files changed, 54 insertions(+) create mode 100644 .changeset/slow-buckets-wash.md create mode 100644 packages/modular-scripts/src/build/buildPackage/maybeCopyRootLicense.ts diff --git a/.changeset/slow-buckets-wash.md b/.changeset/slow-buckets-wash.md new file mode 100644 index 000000000..45729be9b --- /dev/null +++ b/.changeset/slow-buckets-wash.md @@ -0,0 +1,6 @@ +--- +'modular-scripts': minor +--- + +- Fix prefixed logger debug method logging as info +- Copy LICENSE files when building packages diff --git a/packages/modular-scripts/src/__tests__/build.test.ts b/packages/modular-scripts/src/__tests__/build.test.ts index 3eeb9e578..9bac999e5 100644 --- a/packages/modular-scripts/src/__tests__/build.test.ts +++ b/packages/modular-scripts/src/__tests__/build.test.ts @@ -33,6 +33,7 @@ describe('WHEN building with preserve modules', () => { "dist-es", "dist-types", "README.md", + "LICENSE", ], "main": "dist-cjs/index.js", "modular": Object { @@ -56,6 +57,7 @@ describe('WHEN building with preserve modules', () => { expect(tree(path.join(modularRoot, 'dist', packageName))) .toMatchInlineSnapshot(` "sample-async-package + ├─ LICENSE #1gat5ri ├─ dist-cjs │ ├─ index.js #p1m6x9 │ ├─ index.js.map #16jes1h @@ -173,6 +175,7 @@ describe('WHEN building packages with private cross-package dependencies', () => expect(tree(path.join(modularRoot, 'dist', dependentPackage))) .toMatchInlineSnapshot(` "sample-depending-package + ├─ LICENSE #1gat5ri ├─ dist-cjs │ ├─ index.js #1m9v9ya │ ├─ index.js.map #79ot9r diff --git a/packages/modular-scripts/src/__tests__/index.test.ts b/packages/modular-scripts/src/__tests__/index.test.ts index 01b7fd5c9..b06ae202e 100644 --- a/packages/modular-scripts/src/__tests__/index.test.ts +++ b/packages/modular-scripts/src/__tests__/index.test.ts @@ -210,6 +210,7 @@ describe('modular-scripts', () => { "dist-es", "dist-types", "README.md", + "LICENSE", ], "main": "dist-cjs/index.js", "modular": Object { @@ -293,6 +294,7 @@ describe('modular-scripts', () => { expect(tree(path.join(modularRoot, 'dist', 'sample-view'))) .toMatchInlineSnapshot(` "sample-view + ├─ LICENSE #1gat5ri ├─ dist-cjs │ ├─ index.js #p1m6x9 │ ├─ index.js.map #16jes1h @@ -362,6 +364,7 @@ describe('modular-scripts', () => { "dist-es", "dist-types", "README.md", + "LICENSE", ], "main": "dist-cjs/index.js", "modular": Object { @@ -385,6 +388,7 @@ describe('modular-scripts', () => { expect(tree(path.join(modularRoot, 'dist', 'sample-package'))) .toMatchInlineSnapshot(` "sample-package + ├─ LICENSE #1gat5ri ├─ dist-cjs │ ├─ index.js #p1m6x9 │ ├─ index.js.map #16jes1h @@ -443,6 +447,7 @@ describe('modular-scripts', () => { "dist-es", "dist-types", "README.md", + "LICENSE", ], "main": "dist-cjs/nested-sample-package.cjs.js", "modular": Object { @@ -466,6 +471,7 @@ describe('modular-scripts', () => { expect(tree(path.join(modularRoot, 'dist', 'nested-sample-package'))) .toMatchInlineSnapshot(` "nested-sample-package + ├─ LICENSE #1gat5ri ├─ dist-cjs │ ├─ nested-sample-package.cjs.js #kv2xzp │ └─ nested-sample-package.cjs.js.map #bgpzsg diff --git a/packages/modular-scripts/src/build/buildPackage/index.ts b/packages/modular-scripts/src/build/buildPackage/index.ts index f05113d82..b6438b691 100644 --- a/packages/modular-scripts/src/build/buildPackage/index.ts +++ b/packages/modular-scripts/src/build/buildPackage/index.ts @@ -17,6 +17,7 @@ import { makeBundle } from './makeBundle'; import { makeTypings } from './makeTypings'; import getRelativeLocation from '../../utils/getRelativeLocation'; import { getRepositoryField } from './getRepositoryField'; +import { maybeCopyRootLicense } from './maybeCopyRootLicense'; const outputDirectory = 'dist'; @@ -84,6 +85,8 @@ export async function buildPackage( ); }); + await maybeCopyRootLicense(target, targetOutputDirectory); + /// and... that's it logger.log(`built ${target} in ${targetOutputDirectory}`); } diff --git a/packages/modular-scripts/src/build/buildPackage/makeBundle.ts b/packages/modular-scripts/src/build/buildPackage/makeBundle.ts index 1acd735f2..6b74c6fc9 100644 --- a/packages/modular-scripts/src/build/buildPackage/makeBundle.ts +++ b/packages/modular-scripts/src/build/buildPackage/makeBundle.ts @@ -313,6 +313,7 @@ export async function makeBundle( 'dist-es', 'dist-types', 'README.md', + 'LICENSE', ]), }; } diff --git a/packages/modular-scripts/src/build/buildPackage/maybeCopyRootLicense.ts b/packages/modular-scripts/src/build/buildPackage/maybeCopyRootLicense.ts new file mode 100644 index 000000000..656283dfc --- /dev/null +++ b/packages/modular-scripts/src/build/buildPackage/maybeCopyRootLicense.ts @@ -0,0 +1,35 @@ +import * as fs from 'fs-extra'; +import * as path from 'path'; +import globby from 'globby'; +import getPrefixedLogger from '../../utils/getPrefixedLogger'; +import getModularRoot from '../../utils/getModularRoot'; + +const licenseGlob = 'LICEN@(C|S)E*'; + +export async function maybeCopyRootLicense( + target: string, + targetOutputDirectory: string, +) { + const logger = getPrefixedLogger(target); + const modularRoot = getModularRoot(); + const matches = globby.sync(path.join(targetOutputDirectory, licenseGlob), { + cwd: modularRoot, + onlyFiles: true, + }); + if (matches.length === 0) { + logger.debug( + `No license found in ${targetOutputDirectory}. Looking for root license.`, + ); + const rootLicenses = globby.sync(path.join(modularRoot, licenseGlob), { + cwd: modularRoot, + onlyFiles: true, + }); + if (rootLicenses.length > 0) { + rootLicenses.forEach((license) => { + const filename = path.basename(license); + logger.log(`Copying ${filename} found in ${modularRoot}`); + fs.copyFileSync(license, path.join(targetOutputDirectory, filename)); + }); + } + } +} From bff7fe18cb29f19a4cd3f9e3d6d470141bba5c74 Mon Sep 17 00:00:00 2001 From: joshwooding <12938082+joshwooding@users.noreply.github.com> Date: Tue, 15 Nov 2022 00:15:28 +0000 Subject: [PATCH 3/3] Remove explicit README and LICENSE from files array --- .changeset/tall-turtles-think.md | 10 ++++++++++ packages/modular-scripts/src/__tests__/build.test.ts | 2 -- packages/modular-scripts/src/__tests__/index.test.ts | 6 ------ .../src/build/buildPackage/makeBundle.ts | 6 ++++-- packages/modular-template-app/package.json | 1 - packages/modular-template-esm-view/package.json | 1 - packages/modular-template-node-env-app/package.json | 1 - packages/modular-template-package/package.json | 1 - packages/modular-template-view/package.json | 1 - 9 files changed, 14 insertions(+), 15 deletions(-) create mode 100644 .changeset/tall-turtles-think.md diff --git a/.changeset/tall-turtles-think.md b/.changeset/tall-turtles-think.md new file mode 100644 index 000000000..2b01ad9b3 --- /dev/null +++ b/.changeset/tall-turtles-think.md @@ -0,0 +1,10 @@ +--- +'modular-scripts': patch +'modular-template-app': patch +'modular-template-esm-view': patch +'modular-template-node-env-app': patch +'modular-template-package': patch +'modular-template-view': patch +--- + +Remove explicit package.json and license entry in files array diff --git a/packages/modular-scripts/src/__tests__/build.test.ts b/packages/modular-scripts/src/__tests__/build.test.ts index 9bac999e5..a43f66b27 100644 --- a/packages/modular-scripts/src/__tests__/build.test.ts +++ b/packages/modular-scripts/src/__tests__/build.test.ts @@ -32,8 +32,6 @@ describe('WHEN building with preserve modules', () => { "dist-cjs", "dist-es", "dist-types", - "README.md", - "LICENSE", ], "main": "dist-cjs/index.js", "modular": Object { diff --git a/packages/modular-scripts/src/__tests__/index.test.ts b/packages/modular-scripts/src/__tests__/index.test.ts index b06ae202e..9fd13d49a 100644 --- a/packages/modular-scripts/src/__tests__/index.test.ts +++ b/packages/modular-scripts/src/__tests__/index.test.ts @@ -209,8 +209,6 @@ describe('modular-scripts', () => { "dist-cjs", "dist-es", "dist-types", - "README.md", - "LICENSE", ], "main": "dist-cjs/index.js", "modular": Object { @@ -363,8 +361,6 @@ describe('modular-scripts', () => { "dist-cjs", "dist-es", "dist-types", - "README.md", - "LICENSE", ], "main": "dist-cjs/index.js", "modular": Object { @@ -446,8 +442,6 @@ describe('modular-scripts', () => { "dist-cjs", "dist-es", "dist-types", - "README.md", - "LICENSE", ], "main": "dist-cjs/nested-sample-package.cjs.js", "modular": Object { diff --git a/packages/modular-scripts/src/build/buildPackage/makeBundle.ts b/packages/modular-scripts/src/build/buildPackage/makeBundle.ts index 6b74c6fc9..48e2c1b0b 100644 --- a/packages/modular-scripts/src/build/buildPackage/makeBundle.ts +++ b/packages/modular-scripts/src/build/buildPackage/makeBundle.ts @@ -307,13 +307,15 @@ export async function makeBundle( ...packageJson.dependencies, ...localImports, }, + /** + * Certain files are always included, regardless of settings. + * https://docs.npmjs.com/cli/v9/configuring-npm/package-json#files + */ files: distinct([ ...(packageJson.files || []), 'dist-cjs', 'dist-es', 'dist-types', - 'README.md', - 'LICENSE', ]), }; } diff --git a/packages/modular-template-app/package.json b/packages/modular-template-app/package.json index 073faa940..6b935206c 100644 --- a/packages/modular-template-app/package.json +++ b/packages/modular-template-app/package.json @@ -10,7 +10,6 @@ }, "license": "Apache-2.0", "files": [ - "README.md", "public", "src" ] diff --git a/packages/modular-template-esm-view/package.json b/packages/modular-template-esm-view/package.json index be8f8dfee..a88da6ac0 100644 --- a/packages/modular-template-esm-view/package.json +++ b/packages/modular-template-esm-view/package.json @@ -10,7 +10,6 @@ }, "license": "Apache-2.0", "files": [ - "README.md", "src" ] } diff --git a/packages/modular-template-node-env-app/package.json b/packages/modular-template-node-env-app/package.json index cda985f6e..d9bc62f93 100644 --- a/packages/modular-template-node-env-app/package.json +++ b/packages/modular-template-node-env-app/package.json @@ -14,7 +14,6 @@ }, "license": "Apache-2.0", "files": [ - "README.md", "public", "src" ] diff --git a/packages/modular-template-package/package.json b/packages/modular-template-package/package.json index 4ec33c070..3d4c74a80 100644 --- a/packages/modular-template-package/package.json +++ b/packages/modular-template-package/package.json @@ -11,7 +11,6 @@ }, "license": "Apache-2.0", "files": [ - "README.md", "src" ] } diff --git a/packages/modular-template-view/package.json b/packages/modular-template-view/package.json index 65ffb6443..f7010a9f1 100644 --- a/packages/modular-template-view/package.json +++ b/packages/modular-template-view/package.json @@ -11,7 +11,6 @@ "templateType": "view" }, "files": [ - "README.md", "src" ] }