isolate-package 1.9.2 → 1.9.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,7 +4,6 @@
4
4
 
5
5
  - [TLDR](#tldr)
6
6
  - [Features](#features)
7
- - [Motivation](#motivation)
8
7
  - [Installation](#installation)
9
8
  - [Usage](#usage)
10
9
  - [Troubleshooting](#troubleshooting)
@@ -14,18 +13,25 @@
14
13
  - [Define "files" field in each package manifest](#define-files-field-in-each-package-manifest)
15
14
  - [Use a flat structure inside your packages folders](#use-a-flat-structure-inside-your-packages-folders)
16
15
  - [Configuration Options](#configuration-options)
16
+ - [logLevel](#loglevel)
17
+ - [forceNpm](#forcenpm)
17
18
  - [buildDirName](#builddirname)
18
- - [excludeLockfile](#excludelockfile)
19
19
  - [includeDevDependencies](#includedevdependencies)
20
+ - [pickFromScripts](#pickfromscripts)
21
+ - [omitFromScripts](#omitfromscripts)
20
22
  - [isolateDirName](#isolatedirname)
21
- - [logLevel](#loglevel)
22
23
  - [targetPackagePath](#targetpackagepath)
23
24
  - [tsconfigPath](#tsconfigpath)
24
25
  - [workspacePackages](#workspacepackages)
25
26
  - [workspaceRoot](#workspaceroot)
26
27
  - [Lockfiles](#lockfiles)
28
+ - [NPM](#npm)
29
+ - [PNPM](#pnpm)
30
+ - [Classic Yarn](#classic-yarn)
31
+ - [Modern Yarn](#modern-yarn)
27
32
  - [API](#api)
28
33
  - [The internal packages strategy](#the-internal-packages-strategy)
34
+ - [Firebase](#firebase)
29
35
 
30
36
  <!-- /TOC -->
31
37
 
@@ -430,3 +436,8 @@ to the Typescript source files, but since the shared code was embedded in the
430
436
  bundle, they will never be referenced via import statements. So the manifest the
431
437
  entry declarations are never used. The reason the packages are included in the
432
438
  isolated output is to instruct package manager to install their dependencies.
439
+
440
+ ## Firebase
441
+
442
+ For detailed information on how to use isolate-package in combination with
443
+ Firebase [see this documentation](./docs/firebase.md#firebase)
package/docs/firebase.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Firebase
2
2
 
3
+ <!-- TOC -->
4
+
5
+ - [Motivation](#motivation)
6
+ - [Example](#example)
7
+ - [Quick Start](#quick-start)
8
+ - [Firebase Tools With Isolate](#firebase-tools-with-isolate)
9
+ - [Deploying from multiple packages](#deploying-from-multiple-packages)
10
+ - [Deploying from the root](#deploying-from-the-root)
11
+
12
+ <!-- /TOC -->
13
+
3
14
  > !! There is
4
15
  > [a fork of firebase-tools](https://github.com/0x80/firebase-tools-with-isolate),
5
16
  > where isolate-package is integrated.
@@ -16,29 +27,15 @@ There is nothing Firebase-specific to this solution and there should be other
16
27
  use-cases for it, but that is why this documentation contains some instructions
17
28
  related to Firebase.
18
29
 
19
- ## Firebase Tools With Isolate
20
-
21
- I recommend using
22
- [the fork](https://github.com/0x80/firebase-tools-with-isolate) for monorepos
23
- until it is officially integrated. It not only simplifies the setup but more
24
- importantly allows `isolate` to run as an integral part of the deployment
25
- process, so it doesn't affect anything prior to deployment. Because of this, you
26
- preserve live code updates when running the local Firebase emulators, which I
27
- think is highly desirable.
28
-
29
- The fork is almost identical, and the integration with isolate-package does not
30
- affect any existing functionality, so I do not think there's reason to worry
31
- about things breaking. I will sync the fork with the upstream firebase-tools on
32
- a regular basis. The fork versions will match the firebase-tools versions for
33
- clarity.
34
-
35
- ## A Quick Start
30
+ ## Example
36
31
 
37
32
  If you are not completely confident that your monorepo setup is solid, I advise
38
33
  you to check out my in-dept boilerplate at
39
34
  [mono-ts](https://github.com/0x80/mono-ts) where many different aspects are
40
35
  discussed and `isolate-package` is used to demonstrate Firebase deployments.
41
36
 
37
+ ## Quick Start
38
+
42
39
  This section describes the steps required for Firebase deployment, assuming:
43
40
 
44
41
  - You use a fairly typical monorepo setup
@@ -46,7 +43,7 @@ This section describes the steps required for Firebase deployment, assuming:
46
43
  deploy to Firebase, hereafter referred to as the "target package".
47
44
 
48
45
  If your setup diverges from a traditional one, please continue reading the
49
- [Prerequisites](#prerequisites) section.
46
+ [Prerequisites](../README.md#prerequisites) section.
50
47
 
51
48
  1. In the target package, install `isolate-package` and `firebase-tools` by
52
49
  running `pnpm add isolate-package firebase-tools -D` or the Yarn / NPM
@@ -66,6 +63,22 @@ gen functions, deploy different node versions, and decrease the built output
66
63
  size and dependency lists for each package, improving deployment and cold-start
67
64
  times.
68
65
 
66
+ ## Firebase Tools With Isolate
67
+
68
+ I recommend using
69
+ [the fork](https://github.com/0x80/firebase-tools-with-isolate) for monorepos
70
+ until it is officially integrated. It not only simplifies the setup but more
71
+ importantly allows `isolate` to run as an integral part of the deployment
72
+ process, so it doesn't affect anything prior to deployment. Because of this, you
73
+ preserve live code updates when running the local Firebase emulators, which I
74
+ think is highly desirable.
75
+
76
+ The fork is almost identical, and the integration with isolate-package does not
77
+ affect any existing functionality, so I do not think there's reason to worry
78
+ about things breaking. I will sync the fork with the upstream firebase-tools on
79
+ a regular basis. The fork versions will match the firebase-tools versions for
80
+ clarity.
81
+
69
82
  ## Deploying from multiple packages
70
83
 
71
84
  You can deploy to Firebase from multiple packages in your monorepo, in which
@@ -101,9 +114,9 @@ information,
101
114
  [read this](https://firebase.google.com/docs/functions/beta/organize-functions).
102
115
 
103
116
  Make sure your Firebase package adheres to the things mentioned in
104
- [prerequisites](#prerequisites) and its package manifest contains the field
105
- `"main"`, or `"module"` if you set `"type": "module"`, so Firebase knows the
106
- entry point to your source code.
117
+ [prerequisites](../README.md#prerequisites) and its package manifest contains
118
+ the field `"main"`, or `"module"` if you set `"type": "module"`, so Firebase
119
+ knows the entry point to your source code.
107
120
 
108
121
  ## Deploying from the root
109
122
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isolate-package",
3
- "version": "1.9.2",
3
+ "version": "1.9.4",
4
4
  "description": "Isolate a monorepo package with its shared dependencies to form a self-contained directory, compatible with Firebase deploy",
5
5
  "author": "Thijs Koerselman",
6
6
  "license": "MIT",