@expo/cli 0.7.3 → 0.9.0
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 +1 -1
- package/build/bin/cli +17 -3
- package/build/bin/cli.map +1 -1
- package/build/src/api/getExpoGoIntermediateCertificate.js +0 -2
- package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
- package/build/src/api/getProjectDevelopmentCertificate.js +0 -2
- package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
- package/build/src/api/graphql/queries/AppQuery.js +39 -0
- package/build/src/api/graphql/queries/AppQuery.js.map +1 -0
- package/build/src/api/graphql/queries/UserQuery.js +10 -3
- package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
- package/build/src/api/graphql/types/App.js +23 -0
- package/build/src/api/graphql/types/App.js.map +1 -0
- package/build/src/api/signManifest.js +0 -12
- package/build/src/api/signManifest.js.map +1 -1
- package/build/src/api/user/UserSettings.js.map +1 -1
- package/build/src/api/user/user.js.map +1 -1
- package/build/src/config/configAsync.js +3 -0
- package/build/src/config/configAsync.js.map +1 -1
- package/build/src/customize/customizeAsync.js +3 -0
- package/build/src/customize/customizeAsync.js.map +1 -1
- package/build/src/export/createBundles.js +8 -3
- package/build/src/export/createBundles.js.map +1 -1
- package/build/src/export/embed/exportEmbedAsync.js +23 -0
- package/build/src/export/embed/exportEmbedAsync.js.map +1 -0
- package/build/src/export/embed/index.js +117 -0
- package/build/src/export/embed/index.js.map +1 -0
- package/build/src/export/embed/resolveOptions.js +63 -0
- package/build/src/export/embed/resolveOptions.js.map +1 -0
- package/build/src/export/exportApp.js +58 -31
- package/build/src/export/exportApp.js.map +1 -1
- package/build/src/export/exportAssets.js +17 -0
- package/build/src/export/exportAssets.js.map +1 -1
- package/build/src/export/exportAsync.js +3 -0
- package/build/src/export/exportAsync.js.map +1 -1
- package/build/src/export/exportStaticAsync.js +179 -0
- package/build/src/export/exportStaticAsync.js.map +1 -0
- package/build/src/export/fork-bundleAsync.js +15 -43
- package/build/src/export/fork-bundleAsync.js.map +1 -1
- package/build/src/export/html.js +21 -0
- package/build/src/export/html.js.map +1 -0
- package/build/src/export/index.js +5 -1
- package/build/src/export/index.js.map +1 -1
- package/build/src/export/printBundleSizes.js +2 -2
- package/build/src/export/printBundleSizes.js.map +1 -1
- package/build/src/export/resolveOptions.js +1 -0
- package/build/src/export/resolveOptions.js.map +1 -1
- package/build/src/export/web/exportWebAsync.js +3 -0
- package/build/src/export/web/exportWebAsync.js.map +1 -1
- package/build/src/export/writeContents.js +5 -2
- package/build/src/export/writeContents.js.map +1 -1
- package/build/src/graphql/generated.js +462 -0
- package/build/src/graphql/generated.js.map +1 -0
- package/build/src/install/checkPackages.js +6 -0
- package/build/src/install/checkPackages.js.map +1 -1
- package/build/src/install/installAsync.js +18 -1
- package/build/src/install/installAsync.js.map +1 -1
- package/build/src/prebuild/clearNativeFolder.js +6 -1
- package/build/src/prebuild/clearNativeFolder.js.map +1 -1
- package/build/src/prebuild/copyTemplateFiles.js +3 -33
- package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
- package/build/src/prebuild/ensureConfigAsync.js +1 -12
- package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
- package/build/src/prebuild/prebuildAsync.js +7 -2
- package/build/src/prebuild/prebuildAsync.js.map +1 -1
- package/build/src/prebuild/resolveOptions.js +7 -8
- package/build/src/prebuild/resolveOptions.js.map +1 -1
- package/build/src/prebuild/resolveTemplate.js +5 -0
- package/build/src/prebuild/resolveTemplate.js.map +1 -1
- package/build/src/prebuild/updateFromTemplate.js +6 -8
- package/build/src/prebuild/updateFromTemplate.js.map +1 -1
- package/build/src/prebuild/updatePackageJson.js +33 -47
- package/build/src/prebuild/updatePackageJson.js.map +1 -1
- package/build/src/prebuild/validateTemplatePlatforms.js +48 -0
- package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -0
- package/build/src/run/android/runAndroidAsync.js +4 -0
- package/build/src/run/android/runAndroidAsync.js.map +1 -1
- package/build/src/run/ios/appleDevice/AppleDevice.js +25 -19
- package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
- package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
- package/build/src/run/ios/options/resolveNativeScheme.js +13 -4
- package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
- package/build/src/run/ios/runIosAsync.js +3 -0
- package/build/src/run/ios/runIosAsync.js.map +1 -1
- package/build/src/run/startBundler.js +4 -0
- package/build/src/run/startBundler.js.map +1 -1
- package/build/src/start/doctor/Prerequisite.js.map +1 -1
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +12 -6
- package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
- package/build/src/start/doctor/dependencies/getVersionedPackages.js +13 -2
- package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +12 -4
- package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +31 -5
- package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
- package/build/src/start/doctor/typescript/updateTSConfig.js +6 -0
- package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +1 -0
- package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
- package/build/src/start/index.js +3 -1
- package/build/src/start/index.js.map +1 -1
- package/build/src/start/platforms/android/adb.js +1 -1
- package/build/src/start/platforms/android/adb.js.map +1 -1
- package/build/src/start/platforms/ios/AppleDeviceManager.js +1 -1
- package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
- package/build/src/start/server/BundlerDevServer.js +16 -2
- package/build/src/start/server/BundlerDevServer.js.map +1 -1
- package/build/src/start/server/DevServerManager.js +33 -2
- package/build/src/start/server/DevServerManager.js.map +1 -1
- package/build/src/start/server/getStaticRenderFunctions.js +167 -0
- package/build/src/start/server/getStaticRenderFunctions.js.map +1 -0
- package/build/src/start/server/metro/MetroBundlerDevServer.js +262 -3
- package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
- package/build/src/start/server/metro/MetroTerminalReporter.js +2 -34
- package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
- package/build/src/start/server/metro/externals.js +72 -0
- package/build/src/start/server/metro/externals.js.map +1 -0
- package/build/src/start/server/metro/getCssModulesFromBundler.js +77 -0
- package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -0
- package/build/src/start/server/metro/inspector-proxy/index.js +2 -2
- package/build/src/start/server/metro/inspector-proxy/index.js.map +1 -1
- package/build/src/start/server/metro/inspector-proxy/proxy.js +1 -3
- package/build/src/start/server/metro/inspector-proxy/proxy.js.map +1 -1
- package/build/src/start/server/metro/instantiateMetro.js +47 -48
- package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
- package/build/src/start/server/metro/metroErrorInterface.js +137 -0
- package/build/src/start/server/metro/metroErrorInterface.js.map +1 -0
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +51 -0
- package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -0
- package/build/src/start/server/metro/resolveFromProject.js +26 -3
- package/build/src/start/server/metro/resolveFromProject.js.map +1 -1
- package/build/src/start/server/metro/router.js +15 -2
- package/build/src/start/server/metro/router.js.map +1 -1
- package/build/src/start/server/metro/runServer-fork.js +107 -0
- package/build/src/start/server/metro/runServer-fork.js.map +1 -0
- package/build/src/start/server/metro/symbolicate.js +6 -0
- package/build/src/start/server/metro/symbolicate.js.map +1 -0
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +70 -0
- package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -0
- package/build/src/start/server/metro/withMetroMultiPlatform.js +188 -45
- package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
- package/build/src/start/server/middleware/ClassicManifestMiddleware.js +8 -1
- package/build/src/start/server/middleware/ClassicManifestMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/CreateFileMiddleware.js +6 -3
- package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +113 -47
- package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
- package/build/src/start/server/middleware/ManifestMiddleware.js +59 -20
- package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
- package/build/src/start/server/type-generation/expo-env.js +27 -0
- package/build/src/start/server/type-generation/expo-env.js.map +1 -0
- package/build/src/start/server/type-generation/index.js +57 -0
- package/build/src/start/server/type-generation/index.js.map +1 -0
- package/build/src/start/server/type-generation/routes.js +291 -0
- package/build/src/start/server/type-generation/routes.js.map +1 -0
- package/build/src/start/server/type-generation/tsconfig.js +89 -0
- package/build/src/start/server/type-generation/tsconfig.js.map +1 -0
- package/build/src/start/server/webTemplate.js +20 -4
- package/build/src/start/server/webTemplate.js.map +1 -1
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js +4 -6
- package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
- package/build/src/start/startAsync.js +30 -8
- package/build/src/start/startAsync.js.map +1 -1
- package/build/src/utils/FileNotifier.js +11 -4
- package/build/src/utils/FileNotifier.js.map +1 -1
- package/build/src/utils/analytics/getMetroProperties.js +1 -1
- package/build/src/utils/analytics/getMetroProperties.js.map +1 -1
- package/build/src/utils/analytics/rudderstackClient.js +2 -2
- package/build/src/utils/codesigning.js +31 -7
- package/build/src/utils/codesigning.js.map +1 -1
- package/build/src/utils/dir.js +16 -6
- package/build/src/utils/dir.js.map +1 -1
- package/build/src/utils/env.js +6 -0
- package/build/src/utils/env.js.map +1 -1
- package/build/src/utils/mergeGitIgnorePaths.js +42 -0
- package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
- package/build/src/utils/nodeEnv.js +11 -0
- package/build/src/utils/nodeEnv.js.map +1 -0
- package/build/src/utils/resolveArgs.js +43 -0
- package/build/src/utils/resolveArgs.js.map +1 -1
- package/build/src/utils/strings.js +24 -0
- package/build/src/utils/strings.js.map +1 -0
- package/build/src/utils/template.js +21 -0
- package/build/src/utils/template.js.map +1 -0
- package/build/src/utils/tsconfig/evaluateTsConfig.js +61 -0
- package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -0
- package/build/src/utils/tsconfig/loadTsConfigPaths.js +69 -0
- package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -0
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +88 -0
- package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -0
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +41 -0
- package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -0
- package/package.json +16 -10
- package/static/template/metro.config.js +4 -1
- package/build/src/api/getProject.js +0 -19
- package/build/src/api/getProject.js.map +0 -1
- package/build/src/api/graphql/generated.js +0 -113
- package/build/src/api/graphql/generated.js.map +0 -1
- package/build/src/prebuild/writeMetroConfig.js +0 -89
- package/build/src/prebuild/writeMetroConfig.js.map +0 -1
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
exports.writeMetroConfig = writeMetroConfig;
|
|
6
|
-
exports.copyTemplateMetroConfig = copyTemplateMetroConfig;
|
|
7
|
-
var _chalk = _interopRequireDefault(require("chalk"));
|
|
8
|
-
var _fs = _interopRequireDefault(require("fs"));
|
|
9
|
-
var _path = _interopRequireDefault(require("path"));
|
|
10
|
-
var Log = _interopRequireWildcard(require("../log"));
|
|
11
|
-
var _errors = require("../utils/errors");
|
|
12
|
-
var _link = require("../utils/link");
|
|
13
|
-
var _ora = require("../utils/ora");
|
|
14
|
-
var _updatePackageJson = require("./updatePackageJson");
|
|
15
|
-
function _interopRequireDefault(obj) {
|
|
16
|
-
return obj && obj.__esModule ? obj : {
|
|
17
|
-
default: obj
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
function _interopRequireWildcard(obj) {
|
|
21
|
-
if (obj && obj.__esModule) {
|
|
22
|
-
return obj;
|
|
23
|
-
} else {
|
|
24
|
-
var newObj = {};
|
|
25
|
-
if (obj != null) {
|
|
26
|
-
for(var key in obj){
|
|
27
|
-
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
28
|
-
var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
|
|
29
|
-
if (desc.get || desc.set) {
|
|
30
|
-
Object.defineProperty(newObj, key, desc);
|
|
31
|
-
} else {
|
|
32
|
-
newObj[key] = obj[key];
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
newObj.default = obj;
|
|
38
|
-
return newObj;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
function writeMetroConfig(projectRoot, { pkg , templateDirectory }) {
|
|
42
|
-
/**
|
|
43
|
-
* Add metro config, or warn if metro config already exists. The developer will need to add the
|
|
44
|
-
* hashAssetFiles plugin manually.
|
|
45
|
-
*/ const updatingMetroConfigStep = (0, _ora).logNewSection("Adding Metro bundler config");
|
|
46
|
-
try {
|
|
47
|
-
const didChange = copyTemplateMetroConfig(projectRoot, {
|
|
48
|
-
pkg,
|
|
49
|
-
templateDirectory
|
|
50
|
-
});
|
|
51
|
-
if (!didChange) {
|
|
52
|
-
// Nothing to change, hide the step and exit.
|
|
53
|
-
updatingMetroConfigStep.stop();
|
|
54
|
-
updatingMetroConfigStep.clear();
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
updatingMetroConfigStep.succeed("Added Metro config");
|
|
58
|
-
} catch (error) {
|
|
59
|
-
updatingMetroConfigStep.stopAndPersist({
|
|
60
|
-
symbol: _chalk.default.yellow("\u203A"),
|
|
61
|
-
text: _chalk.default.yellow(_chalk.default`{bold Metro skipped:} ${error.message}`)
|
|
62
|
-
});
|
|
63
|
-
// Log.log(`\u203A ${e.message}`);
|
|
64
|
-
Log.log(_chalk.default`\u203A Ensure the project uses {bold expo/metro-config}.\n {dim ${(0, _link).learnMore("https://docs.expo.dev/guides/customizing-metro")}}`);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
function copyTemplateMetroConfig(projectRoot, { pkg , templateDirectory }) {
|
|
68
|
-
const sourceConfigPath = _path.default.join(templateDirectory, "metro.config.js");
|
|
69
|
-
const targetConfigPath = _path.default.join(projectRoot, "metro.config.js");
|
|
70
|
-
const targetConfigPathExists = _fs.default.existsSync(targetConfigPath);
|
|
71
|
-
if (targetConfigPathExists) {
|
|
72
|
-
// Prevent re-runs from throwing an error if the metro config hasn't been modified.
|
|
73
|
-
const contents = (0, _updatePackageJson).createFileHash(_fs.default.readFileSync(targetConfigPath, "utf8"));
|
|
74
|
-
const targetContents = (0, _updatePackageJson).createFileHash(_fs.default.readFileSync(sourceConfigPath, "utf8"));
|
|
75
|
-
if (contents !== targetContents) {
|
|
76
|
-
throw new _errors.CommandError("Project metro.config.js does not match prebuild template.");
|
|
77
|
-
}
|
|
78
|
-
return false;
|
|
79
|
-
}
|
|
80
|
-
// We don't support legacy file names so just throw.
|
|
81
|
-
if (_fs.default.existsSync(_path.default.join(projectRoot, "metro.config.json")) || pkg.metro || _fs.default.existsSync(_path.default.join(projectRoot, "rn-cli.config.js"))) {
|
|
82
|
-
throw new _errors.CommandError("Project is using a legacy config system that cannot be extend automatically.");
|
|
83
|
-
}
|
|
84
|
-
// Finally, copy if nothing goes wrong.
|
|
85
|
-
_fs.default.copyFileSync(sourceConfigPath, targetConfigPath);
|
|
86
|
-
return true;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
//# sourceMappingURL=writeMetroConfig.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/prebuild/writeMetroConfig.ts"],"sourcesContent":["import { PackageJSONConfig } from '@expo/config';\nimport chalk from 'chalk';\nimport fs from 'fs';\nimport path from 'path';\n\nimport * as Log from '../log';\nimport { CommandError } from '../utils/errors';\nimport { learnMore } from '../utils/link';\nimport { logNewSection } from '../utils/ora';\nimport { createFileHash } from './updatePackageJson';\n\nexport function writeMetroConfig(\n projectRoot: string,\n {\n pkg,\n templateDirectory,\n }: {\n pkg: PackageJSONConfig;\n templateDirectory: string;\n }\n) {\n /**\n * Add metro config, or warn if metro config already exists. The developer will need to add the\n * hashAssetFiles plugin manually.\n */\n\n const updatingMetroConfigStep = logNewSection('Adding Metro bundler config');\n\n try {\n const didChange = copyTemplateMetroConfig(projectRoot, { pkg, templateDirectory });\n if (!didChange) {\n // Nothing to change, hide the step and exit.\n updatingMetroConfigStep.stop();\n updatingMetroConfigStep.clear();\n return;\n }\n updatingMetroConfigStep.succeed('Added Metro config');\n } catch (error: any) {\n updatingMetroConfigStep.stopAndPersist({\n symbol: chalk.yellow('›'),\n text: chalk.yellow(chalk`{bold Metro skipped:} ${error.message}`),\n });\n // Log.log(`\\u203A ${e.message}`);\n Log.log(\n chalk`\\u203A Ensure the project uses {bold expo/metro-config}.\\n {dim ${learnMore(\n 'https://docs.expo.dev/guides/customizing-metro'\n )}}`\n );\n }\n}\n\n/**\n * Detects if the project's existing `metro.config.js` matches the template, and if not,\n * throws errors indicating what the user should do.\n *\n * > Exposed for testing.\n *\n * @returns Boolean indicating the `metro.config.js` changed.\n */\nexport function copyTemplateMetroConfig(\n projectRoot: string,\n {\n pkg,\n templateDirectory,\n }: {\n pkg: PackageJSONConfig;\n templateDirectory: string;\n }\n): boolean {\n const sourceConfigPath = path.join(templateDirectory, 'metro.config.js');\n const targetConfigPath = path.join(projectRoot, 'metro.config.js');\n const targetConfigPathExists = fs.existsSync(targetConfigPath);\n if (targetConfigPathExists) {\n // Prevent re-runs from throwing an error if the metro config hasn't been modified.\n const contents = createFileHash(fs.readFileSync(targetConfigPath, 'utf8'));\n const targetContents = createFileHash(fs.readFileSync(sourceConfigPath, 'utf8'));\n if (contents !== targetContents) {\n throw new CommandError('Project metro.config.js does not match prebuild template.');\n }\n return false;\n }\n\n // We don't support legacy file names so just throw.\n if (\n fs.existsSync(path.join(projectRoot, 'metro.config.json')) ||\n pkg.metro ||\n fs.existsSync(path.join(projectRoot, 'rn-cli.config.js'))\n ) {\n throw new CommandError(\n 'Project is using a legacy config system that cannot be extend automatically.'\n );\n }\n\n // Finally, copy if nothing goes wrong.\n fs.copyFileSync(sourceConfigPath, targetConfigPath);\n\n return true;\n}\n"],"names":["writeMetroConfig","copyTemplateMetroConfig","Log","projectRoot","pkg","templateDirectory","updatingMetroConfigStep","logNewSection","didChange","stop","clear","succeed","error","stopAndPersist","symbol","chalk","yellow","text","message","log","learnMore","sourceConfigPath","path","join","targetConfigPath","targetConfigPathExists","fs","existsSync","contents","createFileHash","readFileSync","targetContents","CommandError","metro","copyFileSync"],"mappings":"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"}
|