@expo/config-plugins 7.9.0 → 7.9.1

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.
@@ -13,16 +13,16 @@ function _plist() {
13
13
  };
14
14
  return data;
15
15
  }
16
- function _path() {
17
- const data = _interopRequireDefault(require("path"));
18
- _path = function () {
16
+ function _fs() {
17
+ const data = _interopRequireDefault(require("fs"));
18
+ _fs = function () {
19
19
  return data;
20
20
  };
21
21
  return data;
22
22
  }
23
- function _XcodeProjectFile() {
24
- const data = require("./XcodeProjectFile");
25
- _XcodeProjectFile = function () {
23
+ function _path() {
24
+ const data = _interopRequireDefault(require("path"));
25
+ _path = function () {
26
26
  return data;
27
27
  };
28
28
  return data;
@@ -53,24 +53,44 @@ function withPrivacyInfo(config) {
53
53
  });
54
54
  }
55
55
  function setPrivacyInfo(projectConfig, privacyManifests) {
56
- const projectName = (0, _Xcodeproj().getProjectName)(projectConfig.modRequest.projectRoot);
57
- const existingFileContent = (0, _XcodeProjectFile().readBuildSourceFile)({
58
- project: projectConfig.modResults,
59
- nativeProjectRoot: projectConfig.modRequest.platformProjectRoot,
60
- filePath: _path().default.join(projectName, 'PrivacyInfo.xcprivacy')
61
- });
56
+ const {
57
+ projectRoot,
58
+ platformProjectRoot
59
+ } = projectConfig.modRequest;
60
+ const projectName = (0, _Xcodeproj().getProjectName)(projectRoot);
61
+ const privacyFilePath = _path().default.join(platformProjectRoot, projectName, 'PrivacyInfo.xcprivacy');
62
+ const existingFileContent = getFileContents(privacyFilePath);
62
63
  const parsedContent = existingFileContent ? _plist().default.parse(existingFileContent) : {};
63
64
  const mergedContent = mergePrivacyInfo(parsedContent, privacyManifests);
64
65
  const contents = _plist().default.build(mergedContent);
65
- projectConfig.modResults = (0, _XcodeProjectFile().createBuildSourceFile)({
66
- project: projectConfig.modResults,
67
- nativeProjectRoot: projectConfig.modRequest.platformProjectRoot,
68
- fileContents: contents,
69
- filePath: _path().default.join(projectName, 'PrivacyInfo.xcprivacy'),
70
- overwrite: true
71
- });
66
+ ensureFileExists(privacyFilePath, contents);
67
+ if (!projectConfig.modResults.hasFile(privacyFilePath)) {
68
+ projectConfig.modResults = (0, _Xcodeproj().addResourceFileToGroup)({
69
+ filepath: privacyFilePath,
70
+ groupName: projectName,
71
+ project: projectConfig.modResults,
72
+ isBuildFile: true,
73
+ verbose: true
74
+ });
75
+ }
72
76
  return projectConfig;
73
77
  }
78
+ function getFileContents(filePath) {
79
+ if (!_fs().default.existsSync(filePath)) {
80
+ return null;
81
+ }
82
+ return _fs().default.readFileSync(filePath, {
83
+ encoding: 'utf8'
84
+ });
85
+ }
86
+ function ensureFileExists(filePath, contents) {
87
+ if (!_fs().default.existsSync(_path().default.dirname(filePath))) {
88
+ _fs().default.mkdirSync(_path().default.dirname(filePath), {
89
+ recursive: true
90
+ });
91
+ }
92
+ _fs().default.writeFileSync(filePath, contents);
93
+ }
74
94
  function mergePrivacyInfo(existing, privacyManifests) {
75
95
  var _ref, _privacyManifests$NSP, _privacyManifests$NSP2, _privacyManifests$NSP3, _privacyManifests$NSP4;
76
96
  let {
@@ -1 +1 @@
1
- {"version":3,"file":"PrivacyInfo.js","names":["_plist","data","_interopRequireDefault","require","_path","_XcodeProjectFile","_Xcodeproj","_","obj","__esModule","default","withPrivacyInfo","config","_config$ios","privacyManifests","ios","withXcodeProject","projectConfig","setPrivacyInfo","projectName","getProjectName","modRequest","projectRoot","existingFileContent","readBuildSourceFile","project","modResults","nativeProjectRoot","platformProjectRoot","filePath","path","join","parsedContent","plist","parse","mergedContent","mergePrivacyInfo","contents","build","createBuildSourceFile","fileContents","overwrite","existing","_ref","_privacyManifests$NSP","_privacyManifests$NSP2","_privacyManifests$NSP3","_privacyManifests$NSP4","NSPrivacyAccessedAPITypes","NSPrivacyCollectedDataTypes","NSPrivacyTracking","NSPrivacyTrackingDomains","structuredClone","forEach","newType","existingType","find","t","NSPrivacyAccessedAPIType","push","_existingType$NSPriva","NSPrivacyAccessedAPITypeReasons","Set","concat","NSPrivacyCollectedDataType","_existingType$NSPriva2","NSPrivacyCollectedDataTypePurposes"],"sources":["../../src/ios/PrivacyInfo.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config-types';\nimport plist from '@expo/plist';\nimport path from 'path';\nimport type { XcodeProject } from 'xcode';\n\nimport { createBuildSourceFile, readBuildSourceFile } from './XcodeProjectFile';\nimport { getProjectName } from './utils/Xcodeproj';\nimport { ExportedConfigWithProps, withXcodeProject } from '..';\n\nexport type PrivacyInfo = {\n NSPrivacyAccessedAPITypes: {\n NSPrivacyAccessedAPIType: string;\n NSPrivacyAccessedAPITypeReasons: string[];\n }[];\n NSPrivacyCollectedDataTypes: {\n NSPrivacyCollectedDataType: string;\n NSPrivacyCollectedDataTypeLinked: boolean;\n NSPrivacyCollectedDataTypeTracking: boolean;\n NSPrivacyCollectedDataTypePurposes: string[];\n }[];\n NSPrivacyTracking: boolean;\n NSPrivacyTrackingDomains: string[];\n};\n\nexport function withPrivacyInfo(config: ExpoConfig): ExpoConfig {\n const privacyManifests = config.ios?.privacyManifests;\n if (!privacyManifests) {\n return config;\n }\n\n return withXcodeProject(config, (projectConfig: ExportedConfigWithProps<XcodeProject>) => {\n return setPrivacyInfo(projectConfig, privacyManifests);\n });\n}\n\nexport function setPrivacyInfo(\n projectConfig: ExportedConfigWithProps<XcodeProject>,\n privacyManifests: Partial<PrivacyInfo>\n) {\n const projectName = getProjectName(projectConfig.modRequest.projectRoot);\n\n const existingFileContent = readBuildSourceFile({\n project: projectConfig.modResults,\n nativeProjectRoot: projectConfig.modRequest.platformProjectRoot,\n filePath: path.join(projectName, 'PrivacyInfo.xcprivacy'),\n });\n const parsedContent = existingFileContent ? plist.parse(existingFileContent) : {};\n const mergedContent = mergePrivacyInfo(parsedContent, privacyManifests);\n const contents = plist.build(mergedContent);\n\n projectConfig.modResults = createBuildSourceFile({\n project: projectConfig.modResults,\n nativeProjectRoot: projectConfig.modRequest.platformProjectRoot,\n fileContents: contents,\n filePath: path.join(projectName, 'PrivacyInfo.xcprivacy'),\n overwrite: true,\n });\n\n return projectConfig;\n}\n\nexport function mergePrivacyInfo(\n existing: Partial<PrivacyInfo>,\n privacyManifests: Partial<PrivacyInfo>\n): PrivacyInfo {\n let {\n NSPrivacyAccessedAPITypes = [],\n NSPrivacyCollectedDataTypes = [],\n NSPrivacyTracking = false,\n NSPrivacyTrackingDomains = [],\n } = structuredClone(existing);\n // tracking is a boolean, so we can just overwrite it\n NSPrivacyTracking = privacyManifests.NSPrivacyTracking ?? existing.NSPrivacyTracking ?? false;\n // merge the api types – for each type ensure the key is in the array, and if it is add the reason if it's not there\n privacyManifests.NSPrivacyAccessedAPITypes?.forEach((newType) => {\n const existingType = NSPrivacyAccessedAPITypes.find(\n (t) => t.NSPrivacyAccessedAPIType === newType.NSPrivacyAccessedAPIType\n );\n if (!existingType) {\n NSPrivacyAccessedAPITypes.push(newType);\n } else {\n existingType.NSPrivacyAccessedAPITypeReasons = [\n ...new Set(\n existingType?.NSPrivacyAccessedAPITypeReasons?.concat(\n ...newType.NSPrivacyAccessedAPITypeReasons\n )\n ),\n ];\n }\n });\n // merge the collected data types – for each type ensure the key is in the array, and if it is add the purposes if it's not there\n privacyManifests.NSPrivacyCollectedDataTypes?.forEach((newType) => {\n const existingType = NSPrivacyCollectedDataTypes.find(\n (t) => t.NSPrivacyCollectedDataType === newType.NSPrivacyCollectedDataType\n );\n if (!existingType) {\n NSPrivacyCollectedDataTypes.push(newType);\n } else {\n existingType.NSPrivacyCollectedDataTypePurposes = [\n ...new Set(\n existingType?.NSPrivacyCollectedDataTypePurposes?.concat(\n ...newType.NSPrivacyCollectedDataTypePurposes\n )\n ),\n ];\n }\n });\n // merge the tracking domains\n NSPrivacyTrackingDomains = [\n ...new Set(NSPrivacyTrackingDomains.concat(privacyManifests.NSPrivacyTrackingDomains ?? [])),\n ];\n\n return {\n NSPrivacyAccessedAPITypes,\n NSPrivacyCollectedDataTypes,\n NSPrivacyTracking,\n NSPrivacyTrackingDomains,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"PrivacyInfo.js","names":["_plist","data","_interopRequireDefault","require","_fs","_path","_Xcodeproj","_","obj","__esModule","default","withPrivacyInfo","config","_config$ios","privacyManifests","ios","withXcodeProject","projectConfig","setPrivacyInfo","projectRoot","platformProjectRoot","modRequest","projectName","getProjectName","privacyFilePath","path","join","existingFileContent","getFileContents","parsedContent","plist","parse","mergedContent","mergePrivacyInfo","contents","build","ensureFileExists","modResults","hasFile","addResourceFileToGroup","filepath","groupName","project","isBuildFile","verbose","filePath","fs","existsSync","readFileSync","encoding","dirname","mkdirSync","recursive","writeFileSync","existing","_ref","_privacyManifests$NSP","_privacyManifests$NSP2","_privacyManifests$NSP3","_privacyManifests$NSP4","NSPrivacyAccessedAPITypes","NSPrivacyCollectedDataTypes","NSPrivacyTracking","NSPrivacyTrackingDomains","structuredClone","forEach","newType","existingType","find","t","NSPrivacyAccessedAPIType","push","_existingType$NSPriva","NSPrivacyAccessedAPITypeReasons","Set","concat","NSPrivacyCollectedDataType","_existingType$NSPriva2","NSPrivacyCollectedDataTypePurposes"],"sources":["../../src/ios/PrivacyInfo.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config-types';\nimport plist from '@expo/plist';\nimport fs from 'fs';\nimport path from 'path';\nimport type { XcodeProject } from 'xcode';\n\nimport { addResourceFileToGroup, getProjectName } from './utils/Xcodeproj';\nimport { ExportedConfigWithProps, withXcodeProject } from '..';\n\nexport type PrivacyInfo = {\n NSPrivacyAccessedAPITypes: {\n NSPrivacyAccessedAPIType: string;\n NSPrivacyAccessedAPITypeReasons: string[];\n }[];\n NSPrivacyCollectedDataTypes: {\n NSPrivacyCollectedDataType: string;\n NSPrivacyCollectedDataTypeLinked: boolean;\n NSPrivacyCollectedDataTypeTracking: boolean;\n NSPrivacyCollectedDataTypePurposes: string[];\n }[];\n NSPrivacyTracking: boolean;\n NSPrivacyTrackingDomains: string[];\n};\n\nexport function withPrivacyInfo(config: ExpoConfig): ExpoConfig {\n const privacyManifests = config.ios?.privacyManifests;\n if (!privacyManifests) {\n return config;\n }\n\n return withXcodeProject(config, (projectConfig: ExportedConfigWithProps<XcodeProject>) => {\n return setPrivacyInfo(projectConfig, privacyManifests);\n });\n}\n\nexport function setPrivacyInfo(\n projectConfig: ExportedConfigWithProps<XcodeProject>,\n privacyManifests: Partial<PrivacyInfo>\n) {\n const { projectRoot, platformProjectRoot } = projectConfig.modRequest;\n\n const projectName = getProjectName(projectRoot);\n\n const privacyFilePath = path.join(platformProjectRoot, projectName, 'PrivacyInfo.xcprivacy');\n\n const existingFileContent = getFileContents(privacyFilePath);\n\n const parsedContent = existingFileContent ? plist.parse(existingFileContent) : {};\n const mergedContent = mergePrivacyInfo(parsedContent, privacyManifests);\n const contents = plist.build(mergedContent);\n\n ensureFileExists(privacyFilePath, contents);\n\n if (!projectConfig.modResults.hasFile(privacyFilePath)) {\n projectConfig.modResults = addResourceFileToGroup({\n filepath: privacyFilePath,\n groupName: projectName,\n project: projectConfig.modResults,\n isBuildFile: true,\n verbose: true,\n });\n }\n\n return projectConfig;\n}\n\nfunction getFileContents(filePath: string): string | null {\n if (!fs.existsSync(filePath)) {\n return null;\n }\n return fs.readFileSync(filePath, { encoding: 'utf8' });\n}\n\nfunction ensureFileExists(filePath: string, contents: string) {\n if (!fs.existsSync(path.dirname(filePath))) {\n fs.mkdirSync(path.dirname(filePath), { recursive: true });\n }\n fs.writeFileSync(filePath, contents);\n}\n\nexport function mergePrivacyInfo(\n existing: Partial<PrivacyInfo>,\n privacyManifests: Partial<PrivacyInfo>\n): PrivacyInfo {\n let {\n NSPrivacyAccessedAPITypes = [],\n NSPrivacyCollectedDataTypes = [],\n NSPrivacyTracking = false,\n NSPrivacyTrackingDomains = [],\n } = structuredClone(existing);\n // tracking is a boolean, so we can just overwrite it\n NSPrivacyTracking = privacyManifests.NSPrivacyTracking ?? existing.NSPrivacyTracking ?? false;\n // merge the api types – for each type ensure the key is in the array, and if it is add the reason if it's not there\n privacyManifests.NSPrivacyAccessedAPITypes?.forEach((newType) => {\n const existingType = NSPrivacyAccessedAPITypes.find(\n (t) => t.NSPrivacyAccessedAPIType === newType.NSPrivacyAccessedAPIType\n );\n if (!existingType) {\n NSPrivacyAccessedAPITypes.push(newType);\n } else {\n existingType.NSPrivacyAccessedAPITypeReasons = [\n ...new Set(\n existingType?.NSPrivacyAccessedAPITypeReasons?.concat(\n ...newType.NSPrivacyAccessedAPITypeReasons\n )\n ),\n ];\n }\n });\n // merge the collected data types – for each type ensure the key is in the array, and if it is add the purposes if it's not there\n privacyManifests.NSPrivacyCollectedDataTypes?.forEach((newType) => {\n const existingType = NSPrivacyCollectedDataTypes.find(\n (t) => t.NSPrivacyCollectedDataType === newType.NSPrivacyCollectedDataType\n );\n if (!existingType) {\n NSPrivacyCollectedDataTypes.push(newType);\n } else {\n existingType.NSPrivacyCollectedDataTypePurposes = [\n ...new Set(\n existingType?.NSPrivacyCollectedDataTypePurposes?.concat(\n ...newType.NSPrivacyCollectedDataTypePurposes\n )\n ),\n ];\n }\n });\n // merge the tracking domains\n NSPrivacyTrackingDomains = [\n ...new Set(NSPrivacyTrackingDomains.concat(privacyManifests.NSPrivacyTrackingDomains ?? [])),\n ];\n\n return {\n NSPrivacyAccessedAPITypes,\n NSPrivacyCollectedDataTypes,\n NSPrivacyTracking,\n NSPrivacyTrackingDomains,\n };\n}\n"],"mappings":"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"}
@@ -29,14 +29,3 @@ export declare function createBuildSourceFile({ project, nativeProjectRoot, file
29
29
  fileContents: string;
30
30
  overwrite?: boolean;
31
31
  }): XcodeProject;
32
- /**
33
- * Read a source file from the Xcode project
34
- *
35
- * @param nativeProjectRoot absolute path to the native app root `user/app/ios`
36
- * @param filePath path relative to the `nativeProjectRoot` for the file to read `user/app/ios/myapp/foobar.swift`
37
- */
38
- export declare function readBuildSourceFile({ project, nativeProjectRoot, filePath, }: {
39
- project: XcodeProject;
40
- nativeProjectRoot: string;
41
- filePath: string;
42
- }): string | null;
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createBuildSourceFile = createBuildSourceFile;
7
- exports.readBuildSourceFile = readBuildSourceFile;
8
7
  exports.withBuildSourceFile = void 0;
9
8
  function _fs() {
10
9
  const data = _interopRequireDefault(require("fs"));
@@ -97,24 +96,4 @@ function createBuildSourceFile({
97
96
  }
98
97
  return project;
99
98
  }
100
-
101
- /**
102
- * Read a source file from the Xcode project
103
- *
104
- * @param nativeProjectRoot absolute path to the native app root `user/app/ios`
105
- * @param filePath path relative to the `nativeProjectRoot` for the file to read `user/app/ios/myapp/foobar.swift`
106
- */
107
- function readBuildSourceFile({
108
- project,
109
- nativeProjectRoot,
110
- filePath
111
- }) {
112
- const absoluteFilePath = _path().default.join(nativeProjectRoot, filePath);
113
- if (!_fs().default.existsSync(absoluteFilePath)) {
114
- return null;
115
- }
116
- return _fs().default.readFileSync(absoluteFilePath, {
117
- encoding: 'utf8'
118
- });
119
- }
120
99
  //# sourceMappingURL=XcodeProjectFile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"XcodeProjectFile.js","names":["_fs","data","_interopRequireDefault","require","_path","_Xcodeproj","_iosPlugins","obj","__esModule","default","withBuildSourceFile","config","filePath","contents","overwrite","withXcodeProject","projectName","getProjectName","modRequest","projectRoot","modResults","createBuildSourceFile","project","nativeProjectRoot","platformProjectRoot","fileContents","path","join","exports","absoluteFilePath","fs","existsSync","writeFileSync","groupName","dirname","hasFile","addBuildSourceFileToGroup","filepath","readBuildSourceFile","readFileSync","encoding"],"sources":["../../src/ios/XcodeProjectFile.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\n\nimport { addBuildSourceFileToGroup, getProjectName } from './utils/Xcodeproj';\nimport { ConfigPlugin, XcodeProject } from '../Plugin.types';\nimport { withXcodeProject } from '../plugins/ios-plugins';\n\n/**\n * Create a build source file and link it to Xcode.\n *\n * @param config\n * @param props.filePath relative to the build source folder. ex: `ViewController.swift` would be created in `ios/myapp/ViewController.swift`.\n * @param props.contents file contents to write.\n * @param props.overwrite should the contents overwrite any existing file in the same location on disk.\n * @returns\n */\nexport const withBuildSourceFile: ConfigPlugin<{\n filePath: string;\n contents: string;\n overwrite?: boolean;\n}> = (config, { filePath, contents, overwrite }) => {\n return withXcodeProject(config, (config) => {\n const projectName = getProjectName(config.modRequest.projectRoot);\n\n config.modResults = createBuildSourceFile({\n project: config.modResults,\n nativeProjectRoot: config.modRequest.platformProjectRoot,\n fileContents: contents,\n filePath: path.join(projectName, filePath),\n overwrite,\n });\n return config;\n });\n};\n\n/**\n * Add a source file to the Xcode project and write it to the file system.\n *\n * @param nativeProjectRoot absolute path to the native app root `user/app/ios`\n * @param filePath path relative to the `nativeProjectRoot` for the file to create `user/app/ios/myapp/foobar.swift`\n * @param fileContents string file contents to write to the `filePath`\n * @param overwrite should write file even if one already exists\n */\nexport function createBuildSourceFile({\n project,\n nativeProjectRoot,\n filePath,\n fileContents,\n overwrite,\n}: {\n project: XcodeProject;\n nativeProjectRoot: string;\n filePath: string;\n fileContents: string;\n overwrite?: boolean;\n}): XcodeProject {\n const absoluteFilePath = path.join(nativeProjectRoot, filePath);\n if (overwrite || !fs.existsSync(absoluteFilePath)) {\n // Create the file\n fs.writeFileSync(absoluteFilePath, fileContents, 'utf8');\n }\n\n // `myapp`\n const groupName = path.dirname(filePath);\n\n // Ensure the file is linked with Xcode resource files\n if (!project.hasFile(filePath)) {\n project = addBuildSourceFileToGroup({\n filepath: filePath,\n groupName,\n project,\n });\n }\n return project;\n}\n\n/**\n * Read a source file from the Xcode project\n *\n * @param nativeProjectRoot absolute path to the native app root `user/app/ios`\n * @param filePath path relative to the `nativeProjectRoot` for the file to read `user/app/ios/myapp/foobar.swift`\n */\nexport function readBuildSourceFile({\n project,\n nativeProjectRoot,\n filePath,\n}: {\n project: XcodeProject;\n nativeProjectRoot: string;\n filePath: string;\n}): string | null {\n const absoluteFilePath = path.join(nativeProjectRoot, filePath);\n if (!fs.existsSync(absoluteFilePath)) {\n return null;\n }\n return fs.readFileSync(absoluteFilePath, { encoding: 'utf8' });\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"XcodeProjectFile.js","names":["_fs","data","_interopRequireDefault","require","_path","_Xcodeproj","_iosPlugins","obj","__esModule","default","withBuildSourceFile","config","filePath","contents","overwrite","withXcodeProject","projectName","getProjectName","modRequest","projectRoot","modResults","createBuildSourceFile","project","nativeProjectRoot","platformProjectRoot","fileContents","path","join","exports","absoluteFilePath","fs","existsSync","writeFileSync","groupName","dirname","hasFile","addBuildSourceFileToGroup","filepath"],"sources":["../../src/ios/XcodeProjectFile.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\n\nimport { addBuildSourceFileToGroup, getProjectName } from './utils/Xcodeproj';\nimport { ConfigPlugin, XcodeProject } from '../Plugin.types';\nimport { withXcodeProject } from '../plugins/ios-plugins';\n\n/**\n * Create a build source file and link it to Xcode.\n *\n * @param config\n * @param props.filePath relative to the build source folder. ex: `ViewController.swift` would be created in `ios/myapp/ViewController.swift`.\n * @param props.contents file contents to write.\n * @param props.overwrite should the contents overwrite any existing file in the same location on disk.\n * @returns\n */\nexport const withBuildSourceFile: ConfigPlugin<{\n filePath: string;\n contents: string;\n overwrite?: boolean;\n}> = (config, { filePath, contents, overwrite }) => {\n return withXcodeProject(config, (config) => {\n const projectName = getProjectName(config.modRequest.projectRoot);\n\n config.modResults = createBuildSourceFile({\n project: config.modResults,\n nativeProjectRoot: config.modRequest.platformProjectRoot,\n fileContents: contents,\n filePath: path.join(projectName, filePath),\n overwrite,\n });\n return config;\n });\n};\n\n/**\n * Add a source file to the Xcode project and write it to the file system.\n *\n * @param nativeProjectRoot absolute path to the native app root `user/app/ios`\n * @param filePath path relative to the `nativeProjectRoot` for the file to create `user/app/ios/myapp/foobar.swift`\n * @param fileContents string file contents to write to the `filePath`\n * @param overwrite should write file even if one already exists\n */\nexport function createBuildSourceFile({\n project,\n nativeProjectRoot,\n filePath,\n fileContents,\n overwrite,\n}: {\n project: XcodeProject;\n nativeProjectRoot: string;\n filePath: string;\n fileContents: string;\n overwrite?: boolean;\n}): XcodeProject {\n const absoluteFilePath = path.join(nativeProjectRoot, filePath);\n if (overwrite || !fs.existsSync(absoluteFilePath)) {\n // Create the file\n fs.writeFileSync(absoluteFilePath, fileContents, 'utf8');\n }\n\n // `myapp`\n const groupName = path.dirname(filePath);\n\n // Ensure the file is linked with Xcode resource files\n if (!project.hasFile(filePath)) {\n project = addBuildSourceFileToGroup({\n filepath: filePath,\n groupName,\n project,\n });\n }\n return project;\n}\n"],"mappings":";;;;;;;AAAA,SAAAA,IAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,GAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,MAAA;EAAA,MAAAH,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAC,KAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAI,WAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,UAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAK,YAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,WAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA0D,SAAAC,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,mBAIX,GAAGA,CAACC,MAAM,EAAE;EAAEC,QAAQ;EAAEC,QAAQ;EAAEC;AAAU,CAAC,KAAK;EAClD,OAAO,IAAAC,8BAAgB,EAACJ,MAAM,EAAGA,MAAM,IAAK;IAC1C,MAAMK,WAAW,GAAG,IAAAC,2BAAc,EAACN,MAAM,CAACO,UAAU,CAACC,WAAW,CAAC;IAEjER,MAAM,CAACS,UAAU,GAAGC,qBAAqB,CAAC;MACxCC,OAAO,EAAEX,MAAM,CAACS,UAAU;MAC1BG,iBAAiB,EAAEZ,MAAM,CAACO,UAAU,CAACM,mBAAmB;MACxDC,YAAY,EAAEZ,QAAQ;MACtBD,QAAQ,EAAEc,eAAI,CAACC,IAAI,CAACX,WAAW,EAAEJ,QAAQ,CAAC;MAC1CE;IACF,CAAC,CAAC;IACF,OAAOH,MAAM;EACf,CAAC,CAAC;AACJ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPAiB,OAAA,CAAAlB,mBAAA,GAAAA,mBAAA;AAQO,SAASW,qBAAqBA,CAAC;EACpCC,OAAO;EACPC,iBAAiB;EACjBX,QAAQ;EACRa,YAAY;EACZX;AAOF,CAAC,EAAgB;EACf,MAAMe,gBAAgB,GAAGH,eAAI,CAACC,IAAI,CAACJ,iBAAiB,EAAEX,QAAQ,CAAC;EAC/D,IAAIE,SAAS,IAAI,CAACgB,aAAE,CAACC,UAAU,CAACF,gBAAgB,CAAC,EAAE;IACjD;IACAC,aAAE,CAACE,aAAa,CAACH,gBAAgB,EAAEJ,YAAY,EAAE,MAAM,CAAC;EAC1D;;EAEA;EACA,MAAMQ,SAAS,GAAGP,eAAI,CAACQ,OAAO,CAACtB,QAAQ,CAAC;;EAExC;EACA,IAAI,CAACU,OAAO,CAACa,OAAO,CAACvB,QAAQ,CAAC,EAAE;IAC9BU,OAAO,GAAG,IAAAc,sCAAyB,EAAC;MAClCC,QAAQ,EAAEzB,QAAQ;MAClBqB,SAAS;MACTX;IACF,CAAC,CAAC;EACJ;EACA,OAAOA,OAAO;AAChB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expo/config-plugins",
3
- "version": "7.9.0",
3
+ "version": "7.9.1",
4
4
  "description": "A library for Expo config plugins",
5
5
  "main": "build/index.js",
6
6
  "scripts": {
@@ -60,5 +60,5 @@
60
60
  "publishConfig": {
61
61
  "access": "public"
62
62
  },
63
- "gitHead": "88a8226609b870c0635c39da43ac8306c4dc7031"
63
+ "gitHead": "5f7f4d441164282e590bf28dae4f05779da32d8a"
64
64
  }