diff --git a/.gitignore b/.gitignore index d3a35f8..e1d9c7b 100644 --- a/.gitignore +++ b/.gitignore @@ -84,3 +84,5 @@ nitrogen/ # generated by bob dist/ + +.env \ No newline at end of file diff --git a/example/app.config.json b/example/app.config.json deleted file mode 100644 index 5292fb2..0000000 --- a/example/app.config.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "expo": { - "name": "example", - "plugins": ["expo-dev-client"], - "userInterfaceStyle": "automatic", - "android": { - "package": "dev.reactnativecss" - }, - "ios": { - "bundleIdentifier": "dev.reactnativecss", - "buildFromSource": false - }, - "experiments": { - "reactCompiler": false - } - } -} diff --git a/example/app.config.ts b/example/app.config.ts new file mode 100644 index 0000000..e75bdb2 --- /dev/null +++ b/example/app.config.ts @@ -0,0 +1,24 @@ +import type { ConfigContext, ExpoConfig } from "expo/config"; + +export default ({ config }: ConfigContext): ExpoConfig => { + return { + ...config, + name: "example", + slug: "example", + plugins: ["expo-dev-client"], + userInterfaceStyle: "automatic", + android: { + package: "dev.reactnativecss", + }, + ios: { + bundleIdentifier: "dev.reactnativecss", + }, + experiments: { + reactCompiler: false, + buildCacheProvider: + process.env.CI || process.env.EAS_BUILD_CACHE_PROVIDER + ? "eas" + : undefined, + }, + }; +}; diff --git a/package.json b/package.json index f7cf333..09d7e3b 100644 --- a/package.json +++ b/package.json @@ -147,6 +147,7 @@ "babel-plugin-tester": "^12.0.0", "babel-preset-expo": "13.3.0-canary-20250713-8f814f8", "commitlint": "^19.8.1", + "eas-build-cache-provider": "^16.4.2", "eslint": "^9.30.1", "eslint-config-prettier": "^10.1.5", "eslint-plugin-prettier": "^5.5.1", diff --git a/yarn.lock b/yarn.lock index c5fae5e..a020fdb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -80,6 +80,16 @@ __metadata: languageName: node linkType: hard +"@babel/code-frame@npm:7.23.5": + version: 7.23.5 + resolution: "@babel/code-frame@npm:7.23.5" + dependencies: + "@babel/highlight": "npm:^7.23.4" + chalk: "npm:^2.4.2" + checksum: 10c0/a10e843595ddd9f97faa99917414813c06214f4d9205294013e20c70fbdf4f943760da37dec1d998bf3e6fc20fa2918a47c0e987a7e458663feb7698063ad7c6 + languageName: node + linkType: hard + "@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.24.7, @babel/code-frame@npm:^7.27.1": version: 7.27.1 resolution: "@babel/code-frame@npm:7.27.1" @@ -335,7 +345,7 @@ __metadata: languageName: node linkType: hard -"@babel/highlight@npm:^7.10.4": +"@babel/highlight@npm:^7.10.4, @babel/highlight@npm:^7.23.4": version: 7.25.9 resolution: "@babel/highlight@npm:7.25.9" dependencies: @@ -2012,6 +2022,28 @@ __metadata: languageName: node linkType: hard +"@expo/config-plugins@npm:~10.0.2": + version: 10.0.3 + resolution: "@expo/config-plugins@npm:10.0.3" + dependencies: + "@expo/config-types": "npm:^53.0.4" + "@expo/json-file": "npm:~9.1.4" + "@expo/plist": "npm:^0.3.4" + "@expo/sdk-runtime-versions": "npm:^1.0.0" + chalk: "npm:^4.1.2" + debug: "npm:^4.3.5" + getenv: "npm:^2.0.0" + glob: "npm:^10.4.2" + resolve-from: "npm:^5.0.0" + semver: "npm:^7.5.4" + slash: "npm:^3.0.0" + slugify: "npm:^1.6.6" + xcode: "npm:^3.0.1" + xml2js: "npm:0.6.0" + checksum: 10c0/941db09fe381bedbc2e5ec88cd5ad951628211cb92295fe2ecbc0d6d4268a1ce83837c0c2d6e8cb2698d70cb92c5800c4afb252e2ef69d9e359ab748e5f88add + languageName: node + linkType: hard + "@expo/config-plugins@npm:~10.1.2": version: 10.1.2 resolution: "@expo/config-plugins@npm:10.1.2" @@ -2041,13 +2073,34 @@ __metadata: languageName: node linkType: hard -"@expo/config-types@npm:^53.0.5": +"@expo/config-types@npm:^53.0.4, @expo/config-types@npm:^53.0.5": version: 53.0.5 resolution: "@expo/config-types@npm:53.0.5" checksum: 10c0/a7c96f65327de5608aedaf0669bc95b721323113064bdad3473d6faa07b619100ef1df5811f3fdb5dc50d05610842aec8d6bc1902dd0345d51ba2d520884487d languageName: node linkType: hard +"@expo/config@npm:11.0.10": + version: 11.0.10 + resolution: "@expo/config@npm:11.0.10" + dependencies: + "@babel/code-frame": "npm:~7.10.4" + "@expo/config-plugins": "npm:~10.0.2" + "@expo/config-types": "npm:^53.0.4" + "@expo/json-file": "npm:^9.1.4" + deepmerge: "npm:^4.3.1" + getenv: "npm:^1.0.0" + glob: "npm:^10.4.2" + require-from-string: "npm:^2.0.2" + resolve-from: "npm:^5.0.0" + resolve-workspace-root: "npm:^2.0.0" + semver: "npm:^7.6.0" + slugify: "npm:^1.3.4" + sucrase: "npm:3.35.0" + checksum: 10c0/dacfc05bf70cc11caf8fd5c4b977cc0eb19512ca5421954672be42fbd4552001003d34da6c2567d494927551f5aceb85b9af36c529113edbcdbcee1ce0ad83fb + languageName: node + linkType: hard + "@expo/config@npm:11.0.14-canary-20250713-8f814f8": version: 11.0.14-canary-20250713-8f814f8 resolution: "@expo/config@npm:11.0.14-canary-20250713-8f814f8" @@ -2163,7 +2216,7 @@ __metadata: languageName: node linkType: hard -"@expo/json-file@npm:^9.1.5, @expo/json-file@npm:~9.1.5": +"@expo/json-file@npm:^9.1.4, @expo/json-file@npm:^9.1.5, @expo/json-file@npm:~9.1.4, @expo/json-file@npm:~9.1.5": version: 9.1.5 resolution: "@expo/json-file@npm:9.1.5" dependencies: @@ -2245,7 +2298,7 @@ __metadata: languageName: node linkType: hard -"@expo/plist@npm:^0.3.5": +"@expo/plist@npm:^0.3.4, @expo/plist@npm:^0.3.5": version: 0.3.5 resolution: "@expo/plist@npm:0.3.5" dependencies: @@ -4923,6 +4976,16 @@ __metadata: languageName: node linkType: hard +"chalk@npm:4.1.2, chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.2": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: "npm:^4.1.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 + languageName: node + linkType: hard + "chalk@npm:^2.0.1, chalk@npm:^2.4.2": version: 2.4.2 resolution: "chalk@npm:2.4.2" @@ -4944,16 +5007,6 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.2": - version: 4.1.2 - resolution: "chalk@npm:4.1.2" - dependencies: - ansi-styles: "npm:^4.1.0" - supports-color: "npm:^7.1.0" - checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 - languageName: node - linkType: hard - "chalk@npm:^5.3.0, chalk@npm:^5.4.1": version: 5.4.1 resolution: "chalk@npm:5.4.1" @@ -5784,6 +5837,25 @@ __metadata: languageName: node linkType: hard +"eas-build-cache-provider@npm:^16.4.2": + version: 16.4.2 + resolution: "eas-build-cache-provider@npm:16.4.2" + dependencies: + "@babel/code-frame": "npm:7.23.5" + "@expo/config": "npm:11.0.10" + "@expo/spawn-async": "npm:^1.7.2" + chalk: "npm:4.1.2" + figures: "npm:3.2.0" + fs-extra: "npm:11.2.0" + getenv: "npm:1.0.0" + log-symbols: "npm:4.1.0" + semver: "npm:7.5.2" + terminal-link: "npm:2.1.1" + tslib: "npm:2.4.1" + checksum: 10c0/f73f677c044eed0bd5f9793e5cf3612dd9afc166028d71de63162cd807081b72018efeb90a24af4143feea6107d2382ae9154c0ee4845c820b7f4dc0979778fd + languageName: node + linkType: hard + "eastasianwidth@npm:^0.2.0": version: 0.2.0 resolution: "eastasianwidth@npm:0.2.0" @@ -6656,6 +6728,15 @@ __metadata: languageName: node linkType: hard +"figures@npm:3.2.0": + version: 3.2.0 + resolution: "figures@npm:3.2.0" + dependencies: + escape-string-regexp: "npm:^1.0.5" + checksum: 10c0/9c421646ede432829a50bc4e55c7a4eb4bcb7cc07b5bab2f471ef1ab9a344595bbebb6c5c21470093fbb730cd81bbca119624c40473a125293f656f49cb47629 + languageName: node + linkType: hard + "file-entry-cache@npm:^8.0.0": version: 8.0.0 resolution: "file-entry-cache@npm:8.0.0" @@ -6788,6 +6869,17 @@ __metadata: languageName: node linkType: hard +"fs-extra@npm:11.2.0": + version: 11.2.0 + resolution: "fs-extra@npm:11.2.0" + dependencies: + graceful-fs: "npm:^4.2.0" + jsonfile: "npm:^6.0.1" + universalify: "npm:^2.0.0" + checksum: 10c0/d77a9a9efe60532d2e790e938c81a02c1b24904ef7a3efb3990b835514465ba720e99a6ea56fd5e2db53b4695319b644d76d5a0e9988a2beef80aa7b1da63398 + languageName: node + linkType: hard + "fs-extra@npm:^10.1.0": version: 10.1.0 resolution: "fs-extra@npm:10.1.0" @@ -6931,6 +7023,13 @@ __metadata: languageName: node linkType: hard +"getenv@npm:1.0.0, getenv@npm:^1.0.0": + version: 1.0.0 + resolution: "getenv@npm:1.0.0" + checksum: 10c0/9661c5996c7622e12eab1d23448474ae51dbec6f8862eed903ebaa864dcd332895441c23d962e3ff5c180a9e3dff6cb1f569a115e1447db4acb52af2d880d655 + languageName: node + linkType: hard + "getenv@npm:^2.0.0": version: 2.0.0 resolution: "getenv@npm:2.0.0" @@ -7692,6 +7791,13 @@ __metadata: languageName: node linkType: hard +"is-unicode-supported@npm:^0.1.0": + version: 0.1.0 + resolution: "is-unicode-supported@npm:0.1.0" + checksum: 10c0/00cbe3455c3756be68d2542c416cab888aebd5012781d6819749fefb15162ff23e38501fe681b3d751c73e8ff561ac09a5293eba6f58fdf0178462ce6dcb3453 + languageName: node + linkType: hard + "is-unicode-supported@npm:^1.3.0": version: 1.3.0 resolution: "is-unicode-supported@npm:1.3.0" @@ -9150,6 +9256,16 @@ __metadata: languageName: node linkType: hard +"log-symbols@npm:4.1.0": + version: 4.1.0 + resolution: "log-symbols@npm:4.1.0" + dependencies: + chalk: "npm:^4.1.0" + is-unicode-supported: "npm:^0.1.0" + checksum: 10c0/67f445a9ffa76db1989d0fa98586e5bc2fd5247260dafb8ad93d9f0ccd5896d53fb830b0e54dade5ad838b9de2006c826831a3c528913093af20dff8bd24aca6 + languageName: node + linkType: hard + "log-symbols@npm:^2.2.0": version: 2.2.0 resolution: "log-symbols@npm:2.2.0" @@ -9196,6 +9312,15 @@ __metadata: languageName: node linkType: hard +"lru-cache@npm:^6.0.0": + version: 6.0.0 + resolution: "lru-cache@npm:6.0.0" + dependencies: + yallist: "npm:^4.0.0" + checksum: 10c0/cb53e582785c48187d7a188d3379c181b5ca2a9c78d2bce3e7dee36f32761d1c42983da3fe12b55cb74e1779fa94cdc2e5367c028a9b35317184ede0c07a30a9 + languageName: node + linkType: hard + "lru-cache@npm:^7.14.1": version: 7.18.3 resolution: "lru-cache@npm:7.18.3" @@ -10930,6 +11055,7 @@ __metadata: comment-json: "npm:^4.2.5" commitlint: "npm:^19.8.1" debug: "npm:^4.4.1" + eas-build-cache-provider: "npm:^16.4.2" eslint: "npm:^9.30.1" eslint-config-prettier: "npm:^10.1.5" eslint-plugin-prettier: "npm:^5.5.1" @@ -11522,6 +11648,17 @@ __metadata: languageName: node linkType: hard +"semver@npm:7.5.2": + version: 7.5.2 + resolution: "semver@npm:7.5.2" + dependencies: + lru-cache: "npm:^6.0.0" + bin: + semver: bin/semver.js + checksum: 10c0/d151207ab762a8067f6302076edc04e5b8da2362eb9e3f21c2567ceadfd415064936d215b4aae7791da118c230649d29089be979ffa49c5b56a6bcf82147efdd + languageName: node + linkType: hard + "semver@npm:7.7.2, semver@npm:^7.1.3, semver@npm:^7.3.5, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0": version: 7.7.2 resolution: "semver@npm:7.7.2" @@ -12138,7 +12275,7 @@ __metadata: languageName: node linkType: hard -"terminal-link@npm:^2.1.1": +"terminal-link@npm:2.1.1, terminal-link@npm:^2.1.1": version: 2.1.1 resolution: "terminal-link@npm:2.1.1" dependencies: @@ -12312,6 +12449,13 @@ __metadata: languageName: node linkType: hard +"tslib@npm:2.4.1": + version: 2.4.1 + resolution: "tslib@npm:2.4.1" + checksum: 10c0/9ac0e4fd1033861f0b4f0d848dc3009ebcc3aa4757a06e8602a2d8a7aed252810e3540e54e70709f06c0f95311faa8584f769bcbede48aff785eb7e4d399b9ec + languageName: node + linkType: hard + "tslib@npm:^2.0.1, tslib@npm:^2.1.0, tslib@npm:^2.4.0, tslib@npm:^2.8.0": version: 2.8.1 resolution: "tslib@npm:2.8.1"