fix: app-css-loader to look for platform specific app s?css files too

This commit is contained in:
Igor Randjelovic
2021-03-30 14:34:30 +02:00
parent 0999d6fe3e
commit f7530fe4e1
10 changed files with 73 additions and 19 deletions

View File

@@ -66,7 +66,10 @@ exports[`angular configuration for android 1`] = `
use: [
/* config.module.rule('bundle').use('app-css-loader') */
{
loader: 'app-css-loader'
loader: 'app-css-loader',
options: {
platform: 'android'
}
},
/* config.module.rule('bundle').use('nativescript-hot-loader') */
{
@@ -363,7 +366,10 @@ exports[`angular configuration for ios 1`] = `
use: [
/* config.module.rule('bundle').use('app-css-loader') */
{
loader: 'app-css-loader'
loader: 'app-css-loader',
options: {
platform: 'ios'
}
},
/* config.module.rule('bundle').use('nativescript-hot-loader') */
{

View File

@@ -60,7 +60,10 @@ exports[`base configuration for android 1`] = `
use: [
/* config.module.rule('bundle').use('app-css-loader') */
{
loader: 'app-css-loader'
loader: 'app-css-loader',
options: {
platform: 'android'
}
},
/* config.module.rule('bundle').use('nativescript-hot-loader') */
{
@@ -343,7 +346,10 @@ exports[`base configuration for ios 1`] = `
use: [
/* config.module.rule('bundle').use('app-css-loader') */
{
loader: 'app-css-loader'
loader: 'app-css-loader',
options: {
platform: 'ios'
}
},
/* config.module.rule('bundle').use('nativescript-hot-loader') */
{

View File

@@ -60,7 +60,10 @@ exports[`javascript configuration for android 1`] = `
use: [
/* config.module.rule('bundle').use('app-css-loader') */
{
loader: 'app-css-loader'
loader: 'app-css-loader',
options: {
platform: 'android'
}
},
/* config.module.rule('bundle').use('nativescript-hot-loader') */
{
@@ -381,7 +384,10 @@ exports[`javascript configuration for ios 1`] = `
use: [
/* config.module.rule('bundle').use('app-css-loader') */
{
loader: 'app-css-loader'
loader: 'app-css-loader',
options: {
platform: 'ios'
}
},
/* config.module.rule('bundle').use('nativescript-hot-loader') */
{

View File

@@ -63,7 +63,10 @@ exports[`react configuration > android > adds ReactRefreshWebpackPlugin when HMR
use: [
/* config.module.rule('bundle').use('app-css-loader') */
{
loader: 'app-css-loader'
loader: 'app-css-loader',
options: {
platform: 'android'
}
},
/* config.module.rule('bundle').use('nativescript-hot-loader') */
{
@@ -374,7 +377,10 @@ exports[`react configuration > android > base config 1`] = `
use: [
/* config.module.rule('bundle').use('app-css-loader') */
{
loader: 'app-css-loader'
loader: 'app-css-loader',
options: {
platform: 'android'
}
},
/* config.module.rule('bundle').use('nativescript-hot-loader') */
{
@@ -663,7 +669,10 @@ exports[`react configuration > ios > adds ReactRefreshWebpackPlugin when HMR ena
use: [
/* config.module.rule('bundle').use('app-css-loader') */
{
loader: 'app-css-loader'
loader: 'app-css-loader',
options: {
platform: 'ios'
}
},
/* config.module.rule('bundle').use('nativescript-hot-loader') */
{
@@ -975,7 +984,10 @@ exports[`react configuration > ios > base config 1`] = `
use: [
/* config.module.rule('bundle').use('app-css-loader') */
{
loader: 'app-css-loader'
loader: 'app-css-loader',
options: {
platform: 'ios'
}
},
/* config.module.rule('bundle').use('nativescript-hot-loader') */
{

View File

@@ -62,7 +62,10 @@ exports[`svelte configuration for android 1`] = `
use: [
/* config.module.rule('bundle').use('app-css-loader') */
{
loader: 'app-css-loader'
loader: 'app-css-loader',
options: {
platform: 'android'
}
},
/* config.module.rule('bundle').use('nativescript-hot-loader') */
{
@@ -370,7 +373,10 @@ exports[`svelte configuration for ios 1`] = `
use: [
/* config.module.rule('bundle').use('app-css-loader') */
{
loader: 'app-css-loader'
loader: 'app-css-loader',
options: {
platform: 'ios'
}
},
/* config.module.rule('bundle').use('nativescript-hot-loader') */
{

View File

@@ -60,7 +60,10 @@ exports[`typescript configuration for android 1`] = `
use: [
/* config.module.rule('bundle').use('app-css-loader') */
{
loader: 'app-css-loader'
loader: 'app-css-loader',
options: {
platform: 'android'
}
},
/* config.module.rule('bundle').use('nativescript-hot-loader') */
{
@@ -381,7 +384,10 @@ exports[`typescript configuration for ios 1`] = `
use: [
/* config.module.rule('bundle').use('app-css-loader') */
{
loader: 'app-css-loader'
loader: 'app-css-loader',
options: {
platform: 'ios'
}
},
/* config.module.rule('bundle').use('nativescript-hot-loader') */
{

View File

@@ -63,7 +63,10 @@ exports[`vue configuration for android 1`] = `
use: [
/* config.module.rule('bundle').use('app-css-loader') */
{
loader: 'app-css-loader'
loader: 'app-css-loader',
options: {
platform: 'android'
}
},
/* config.module.rule('bundle').use('nativescript-hot-loader') */
{
@@ -378,7 +381,10 @@ exports[`vue configuration for ios 1`] = `
use: [
/* config.module.rule('bundle').use('app-css-loader') */
{
loader: 'app-css-loader'
loader: 'app-css-loader',
options: {
platform: 'ios'
}
},
/* config.module.rule('bundle').use('nativescript-hot-loader') */
{

View File

@@ -142,6 +142,9 @@ export default function (config: Config, env: IWebpackEnv = _env): Config {
.test(entryPath)
.use('app-css-loader')
.loader('app-css-loader')
.options({
platform,
})
.end()
.use('nativescript-hot-loader')
.loader('nativescript-hot-loader')

View File

@@ -4,13 +4,16 @@ import { dedent } from 'ts-dedent';
* This loader tries to load an `app.scss` or and `app.css` relative to the main entry
*/
export default function loader(content: string, map: any) {
const { platform } = this.getOptions();
const callback = this.async();
const resolve = this.getResolve({
extensions: ['.scss', '.css'],
extensions: [`.${platform}.scss`, `.${platform}.css`, '.scss', '.css'],
});
resolve(this.context, './app', (err, res) => {
if (err || !res) {
// if we ran into an error or there's no css file found, we just return
// original content and not append any additional imports.
return callback(null, content, map);
}

View File

@@ -27,13 +27,13 @@ export class WatchStatePlugin {
if (env.verbose) {
if (compiler.modifiedFiles) {
Array.from(compiler.modifiedFiles).forEach((file) => {
console.log(`MODIFIED: ${file}`);
console.log(`[${id}][WatchTriggers] MODIFIED: ${file}`);
});
}
if (compiler.removedFiles) {
Array.from(compiler.removedFiles).forEach((file) => {
console.log(`REMOVED: ${file}`);
console.log(`[${id}][WatchTriggers] REMOVED: ${file}`);
});
}
}